1 |
1
인터럽트 컨트롤러(interrupt controller), 가상 머신(virtual machine) 및 상기 가상 머신의 활성화 제어를 수행하는 하이퍼바이저(hypervisor)를 포함하는 인터럽트 처리 시스템에 있어서,상기 인터럽트 컨트롤러는 외부로부터 실제 인터럽트(physical interrupt)를 수신하고, 상기 실제 인터럽트의 특성을 기초로 상기 실제 인터럽트를 상기 하이퍼바이저 또는 상기 가상 머신으로 전송하고,상기 하이퍼바이저는 상기 실제 인터럽트를 가상 인터럽트(virtual interrupt)로 변환하여 상기 가상 머신으로 전송하고,상기 가상 머신은 상기 가상 머신에 포함된 제1 인터럽트 핸들러를 이용하여 상기 실제 인터럽트 또는 상기 가상 인터럽트를 처리하는 인터럽트 처리 시스템
|
2 |
2
청구항 1에 있어서,상기 인터럽트 컨트롤러는 상기 실제 인터럽트가 상기 하이퍼바이저의 개입을 요하는지 여부에 따라서 상기 실제 인터럽트를 상기 하이퍼바이저 또는 상기 가상 머신으로 전송하는 것을 특징으로 하는 인터럽트 처리 시스템
|
3 |
3
청구항 2에 있어서,상기 인터럽트 컨트롤러는 상기 실제 인터럽트가 상기 하이퍼바이저의 개입을 요하는지의 여부를 상기 실제 인터럽트에 포함된 IRQ(Interrupt ReQuest)_MODE로 나타내는 것을 특징으로 하는 인터럽트 처리 시스템
|
4 |
4
청구항 1에 있어서 상기 하이퍼바이저는 제2 인터럽트 핸들러를 이용하여 상기 실제 인터럽트를 처리하는 것을 특징으로 하는 인터럽트 처리 시스템
|
5 |
5
청구항 1에 있어서 상기 인터럽트 컨트롤러는 인터럽트 처리 완료 레지스터(End Of Interrupt Register)를 포함하고,상기 가상 머신은 상기 가상 인터럽트의 처리가 완료되면 상기 인터럽트 처리 완료 레지스터에 처리 완료 정보를 기입하는 것을 특징으로 하는 인터럽트 처리 시스템
|
6 |
6
청구항 5에 있어서,상기 인터럽트 컨트롤러는 상기 인터럽트 처리 완료 레지스터에 상기 처리 완료 정보가 기입되면 관리 인터럽트를 상기 하이퍼바이저로 전송하는 것을 특징으로 하는 인터럽트 처리 시스템
|
7 |
7
청구항 1에 있어서,상기 인터럽트 컨트롤러는 가상 머신 ID 레지스터(Virtual Machine IDetifier Register)를 포함하고,상기 가상 머신은 상기 하이퍼바이저에 의해 활성화되면 상기 가상 머신의 가상 머신 ID를 상기 가상 머신 ID 레지스터에 기입하고,상기 인터럽트 컨트롤러는 상기 가상 머신 ID를 기입한 가상 머신측으로 상기 실제 인터럽트를 전송하는 것을 특징으로 하는 인터럽트 처리 시스템
|
8 |
8
청구항 1에 있어서, 상기 가상 머신은 복수 존재하고,상기 인터럽트 컨트롤러는 상기 복수의 가상 머신이 각각 처리 가능한 인터럽트의 정보를 포함한 E/D 레지스터(Enanble/Disable register)를 더 구비하고, 상기 E/D 레지스터에 포함된 정보에 기초하여, 상기 수신한 실제 인터럽트를 처리 가능한 가상 머신측으로 상기 수신한 실제 인터럽트를 전송하는 것을 특징으로 하는 인터럽트 처리 시스템
|
9 |
9
청구항 8에 있어서, 상기 하이퍼바이저는 상기 복수의 가상 머신을 소정의 순서로 스위칭하여 활성화시키고,상기 인터럽트 컨트롤러는 가상 머신 ID 레지스터를 포함하고,상기 스위칭되어 활성화된 가상 머신은 자신의 가상 머신 ID를 상기 가상 머신 ID 레지스터에 기입하고,상기 인터럽트 컨트롤러는, 상기 수신한 실제 인터럽트를 처리 가능한 가상 머신이면서, 상기 가상 머신 ID를 기입한 가상 머신 측으로 상기 수신한 실제 인터럽트를 전송하는 것을 특징으로 하는 인터럽트 처리 시스템
|
10 |
10
청구항 9에 있어서,상기 인터럽트 컨트롤러는, 상기 수신한 실제 인터럽트를 처리 가능한 가상 머신이면서 상기 가상 머신의 ID를 기입한 가상 머신이, 다른 실제 인터럽트 또는 다른 가상 인터럽트를 처리하고 있으면 상기 수신한 실제 인터럽트를 대기(queuing)시키는 것을 특징으로 하는 인터럽트 처리 시스템
|
11 |
11
인터럽트 컨트롤러, 가상 머신 및 상기 가상 머신의 활성화 제어를 수행하는 하이퍼바이저를 포함하는 인터럽트 처리 시스템의 인터럽트 처리 방법에 있어서,상기 인터럽트 컨트롤러가 외부로부터 실제 인터럽트를 수신하는 단계;상기 인터럽트 컨트롤러가 상기 실제 인터럽트의 특성을 기초로 상기 실제 인터럽트를 상기 하이퍼바이저 또는 상기 가상 머신으로 전송하는 단계;상기 하이퍼바이저가 상기 실제 인터럽트를 가상 인터럽트로 변환하여 상기 가상 머신으로 전송하는 단계; 및 상기 가상 머신이 상기 가상 머신에 포함된 제1 인터럽트 핸들러를 이용하여 상기 실제 인터럽트 또는 상기 가상 인터럽트를 처리하는 단계를 포함하는 인터럽트 처리 방법
|
12 |
12
청구항 11에 있어서,상기 인터럽트 컨트롤러가 상기 실제 인터럽트의 특성을 기초로 상기 실제 인터럽트를 상기 하이퍼바이저 또는 상기 가상 머신으로 전송하는 단계는, 상기 실제 인터럽트가 상기 하이퍼바이저의 개입을 요하는지 여부에 따라서 상기 실제 인터럽트를 상기 하이퍼바이저 또는 상기 가상 머신으로 전송하는 단계인 것을 특징으로 하는 것을 특징으로 하는 인터럽트 처리 방법
|
13 |
13
청구항 12에 있어서,상기 실제 인터럽트가 상기 하이퍼바이저의 개입을 요하는지의 여부를 상기 실제 인터럽트에 포함된 IRQ(Interrupt ReQuest)_MODE로 나타내는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|
14 |
14
청구항 11에 있어서 상기 하이퍼바이저가 제2 인터럽트 핸들러를 이용하여 상기 실제 인터럽트를 처리하는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|
15 |
15
청구항 11에 있어서 상기 가상 인터럽트의 처리가 완료되면, 상기 가상 머신이 상기 인터럽트 컨트롤러에 포함된 상기 인터럽트 처리 완료 레지스터에 처리 완료 정보를 기입하는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|
16 |
16
청구항 15에 있어서,상기 처리 완료 정보가 기입되면, 상기 인터럽트 컨트롤러가 관리 인터럽트를 상기 하이퍼바이저로 전송하는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|
17 |
17
청구항 11에 있어서,상기 가상 머신이 상기 하이퍼바이저에 의해 활성화되면, 상기 가상 머신의 가상 머신 ID를 상기 인터럽트 컨트롤러에 포함된 상기 가상 머신 ID 레지스터에 기입하는 단계; 및상기 인터럽트 컨트롤러가 상기 가상 머신 ID를 기입한 가상 머신측으로 상기 실제 인터럽트를 전송하는 단계를 더 포함하는 것을 것을 특징으로 하는 인터럽트 처리 방법
|
18 |
18
청구항 11에 있어서, 상기 가상 머신은 복수 존재하고, 상기 인터럽트 컨트롤러는 상기 복수의 가상 머신이 각각 처리 가능한 인터럽트의 정보를 포함하는 E/D 레지스터를 더 구비하고,상기 인터럽트 컨트롤러가, 상기 E/D 레지스터에 포함된 인터럽트의 정보에 기초하여, 상기 복수의 가상 머신 중 상기 수신한 실제 인터럽트를 처리 가능한 가상 머신측으로, 상기 수신한 실제 인터럽트를 전송하는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|
19 |
19
청구항 18에 있어서,상기 복수의 가상 머신은 상기 하이퍼바이저에 의하여 소정의 순서로 스위칭되어 활성화되고,상기 스위칭되어 활성화된 가상 머신이 자신의 가상 머신 ID를, 상기 인터럽트 컨트롤러에 포함된 가상 머신 ID 레지스터에 기입하는 단계; 및상기 인터럽트 컨트롤러가, 상기 수신한 실제 인터럽트를 처리 가능한 가상 머신이면서, 상기 가상 머신 ID를 기입한 가상 머신 측으로 상기 수신한 실제 인터럽트를 전송하는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|
20 |
20
청구항 19에 있어서,상기 수신한 실제 인터럽트를 처리 가능한 가상 머신이면서, 상기 가상 머신 ID를 기입한 가상 머신이 다른 실제 인터럽트 또는 다른 가상 인터럽트를 처리하고 있으면, 상기 인터럽트 컨트롤러가 상기 수신한 실제 인터럽트를 대기(queuing)시키는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법
|