1 |
1
프로세스가 입출력 장치에 대하여 데이터의 입출력을 요청하는 단계;
문맥전환(context switching)의 수행 여부를 결정하는 단계; 및
상기 문맥전환의 수행 여부의 결정 결과에 대응하여 상기 입출력 장치의 드라이버 컨텍스트로 문맥전환을 수행 또는 상기 프로세스가 직접 상기 입출력을 수행하는 단계
를 포함하는 것을 특징으로 하는 적응성 문맥전환 방법
|
2 |
2
제1항에 있어서,
상기 입출력 장치가 고속 블록 장치인지 여부를 판단하는 단계를 더 포함하고,
상기 입출력 장치가 고속 블록 장치인 경우,
상기 결정하는 단계 내지 상기 입출력을 수행하는 단계를 수행하는 것을 특징으로 하는 적응성 문맥전환 방법
|
3 |
3
제1항에 있어서,
상기 문맥전환의 수행 여부를 결정하는 단계는,
입출력을 요청한 상기 프로세스에서 입출력을 직접 수행하는 제1 입출력 동작의 연산장치 효율 및 상기 입출력 장치의 드라이버 컨텍스트(device driver context)로 문맥전환(context switching)을 통해 입출력을 수행하는 제2 입출력 동작의 연산장치 효율 - 상기 연산장치 효율은 상기 프로세스의 입출력 응답시간에 대한 연산 처리시간의 비율임 - 을 비교하는 것을 특징으로 하는 적응성 문맥전환 방법
|
4 |
4
제3항에 있어서,
상기 입출력을 수행하는 단계는,
상기 제1 입출력 동작의 연산장치 효율이 상기 제2 입출력 동작의 연산장치 효율보다 큰 경우, 상기 제1 입출력 동작을 수행하고,
상기 제2 입출력 동작의 연산장치 효율이 상기 제1 입출력 동작의 연산장치 효율보다 큰 경우, 상기 제2 입출력 동작을 수행하는 것을 특징으로 하는 적응성 문맥전환 방법
|
5 |
5
제3항에 있어서,
상기 제1 입출력 동작은,
입출력 완료시까지 입출력을 요청한 상기 프로세스가 입출력 동작을 직접 수행하는 것을 특징으로 하는 적응성 문맥 전환 방법
|
6 |
6
제1항에 있어서,
상기 문맥전환의 수행 여부를 결정하는 단계는,
입출력에 소요되는 시간 및 연산장치가 프로세스에 할당되어 연산을 처리한 시간에 기초하여 상기 프로세스의 입출력 응답시간에 대한 연산 처리시간의 비율인 연산장치의 효율을 산출하고 비교하는 것을 특징으로 하는 적응성 문맥전환 방법
|
7 |
7
제1항에 있어서,
입출력 장치가 DMA(Direct Memory Access)를 사용하는지 여부를 확인하는 단계
를 더 포함하는 것을 특징으로 하는 적응성 문맥전환 방법
|
8 |
8
제7항에 있어서,
상기 문맥전환의 수행 여부를 결정하는 단계는,
상기 입출력 장치가 DMA를 사용하지 않고 문맥전환을 수행하는 경우,
상기 입출력 장치로부터 인터럽트를 받을 때까지의 응답대기시간 및 디바이스 드라이버 문맥에 할당된 시간의 합을 이용하여 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하는 것을 특징으로 하는 적응성 문맥전환 방법
|
9 |
9
제7항에 있어서,
상기 문맥전환의 수행 여부를 결정하는 단계는,
상기 입출력 장치가 DMA를 사용하지 않고 문맥전환을 수행하지 않는 경우,
디바이스 드라이버 문맥에 할당된 시간을 이용하여 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하는 것을 특징으로 하는 적응성 문맥전환 방법
|
10 |
10
제7항에 있어서,
상기 문맥전환의 수행 여부를 결정하는 단계는,
상기 입출력 장치가 DMA를 사용하고 문맥전환을 수행하는 경우,
상기 입출력 장치로부터 인터럽트를 받을 때까지의 응답대기시간 및 디바이스 드라이버 문맥에 할당된 시간의 두 배를 이용하여 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하는 것을 특징으로 하는 적응성 문맥전환 방법
|
11 |
11
제7항에 있어서,
상기 문맥전환의 수행 여부를 결정하는 단계는,
상기 입출력 장치가 DMA를 사용하고 문맥전환을 수행하지 않는 경우,
디바이스 드라이버 문맥에 할당된 시간을 이용하여 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하는 것을 특징으로 하는 적응성 문맥전환 방법
|
12 |
12
제8항 내지 제11항 중 어느 하나의 항에 있어서,
상기 디바이스 드라이버 문맥에 할당된 시간은,
디스크의 버퍼 캐쉬에서 버스를 통해 메모리로 데이터를 전송하는데 소요되는 시간을 이용하여 산출하는 것을 특징으로 하는 적응성 문맥전환 방법
|
13 |
13
제1항에 있어서,
상기 입출력 요청이 있는 경우, 상기 입출력을 수행하기에 앞서 상기 입출력 장치의 큐(queue)에 응답 대기중인 요청이 있는지 여부를 판단하는 단계
를 더 포함하고,
상기 입출력을 수행하는 단계는,
상기 입출력 장치의 큐(queue)에 응답 대기중인 요청이 있는 경우, 상기 입출력 장치의 드라이버 컨텍스트(device driver context)로 문맥전환(context switching)을 수행하여 상기 입출력을 수행하는 것을 특징으로 하는 적응성 문맥전환 방법
|
14 |
14
프로세스가 입출력 장치에 대하여 입출력을 요청하는 입출력 요청부;
문맥전환(context switching)의 수행 여부를 결정하는 연산장치 효율 비교부; 및
상기 문맥전환의 수행 여부의 결정 결과에 대응하여 상기 입출력 장치의 드라이버 컨텍스트로 문맥전환을 수행 또는 상기 프로세스가 직접 입출력을 수행하는 입출력 수행부
를 포함하는 적응성 문맥전환 장치
|
15 |
15
제14항에 있어서,
입출력 장치가 DMA(Direct Memory Access)를 사용하는지 여부를 확인하는 DMA 사용 확인부
를 더 포함하고,
상기 연산장치 효율 비교부는
입출력 요청 프로세스에서 입출력을 직접 수행하는 제1 입출력 동작 및 디바이스 드라이버 컨텍스트(device driver context)로 문맥전환(context switching)을 통해 입출력을 수행하는 제2 입출력 동작 각각의 연산장치 효율 - 상기 연산장치 효율은 상기 프로세스의 입출력 응답시간에 대한 연산 처리시간의 비율임 - 을 산출하는 연산장치 효율 산출부; 및
상기 각 동작의 연산장치 효율을 비교하는 효율 비교부
를 포함하는 것을 특징으로 하는 적응성 문맥전환 장치
|
16 |
16
제15항에 있어서,
상기 연산장치 효율 산출부는,
상기 입출력 장치가 DMA를 사용하지 않는 경우 상기 제1 입출력 동작 및 상기 제2 입출력 동작에 따른 연산장치의 효율을 산출하는 제1 연산장치 효율 산출부; 및
상기 입출력 장치가 DMA를 사용하는 경우 상기 제1 입출력 동작 및 상기 제2 입출력 동작에 따른 연산장치의 효율을 산출하는 제2 연산장치 효율 산출부
를 포함하는 것을 특징으로 하는 적응성 문맥전환 장치
|
17 |
17
제16항에 있어서,
상기 제1 연산장치 효율 산출부 및 상기 제2 연산장치 효율 산출부는,
입출력에 소요되는 시간 및 상기 연산장치가 프로세스에 할당되어 연산을 처리한 시간에 기초하여 연산장치의 효율을 산출하는 것을 특징으로 하는 적응성 문맥전환 장치
|
18 |
18
제17항에 있어서,
상기 제1 연산장치 효율 산출부는,
문맥전환을 수행하는 경우,
상기 입출력 장치로부터 인터럽트를 받을 때까지의 응답대기시간 및 디바이스 드라이버 문맥에 할당된 시간의 합을 이용하여 상기 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하고,
문맥전환을 수행하지 않는 경우,
디바이스 드라이버 문맥에 할당된 시간을 이용하여 상기 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하는 것을 특징으로 하는 적응성 문맥전환 장치
|
19 |
19
제17항에 있어서,
상기 제2 연산장치 효율 산출부는,
문맥전환을 수행하는 경우,
상기 입출력 장치로부터 인터럽트를 받을 때까지의 응답대기시간 및 디바이스 드라이버 문맥에 할당된 시간의 두 배를 이용하여 상기 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하고,
문맥전환을 수행하지 않는 경우,
디바이스 드라이버 문맥에 할당된 시간을 이용하여 상기 연산장치가 프로세스에 할당되어 연산을 처리한 시간을 산출하는 것을 특징으로 하는 적응성 문맥전환 장치
|
20 |
20
제14항에 있어서,
상기 입출력 장치가 고속 블록 장치인지 여부를 판단하는 고속 블록 장치 판단부
를 더 포함하는 것을 특징으로 하는 적응성 문맥전환 장치
|
21 |
21
제14항에 있어서,
상기 입출력 요청이 있는 경우, 상기 입출력을 수행하기에 앞서 상기 입출력 장치의 큐(queue)에 응답 대기중인 요청이 있는지 여부를 판단하는 응답 대기 판단부
를 더 포함하고,
상기 입출력 수행부는,
상기 입출력 장치의 큐(queue)에 응답 대기중인 요청이 있는 경우, 상기 입출력 장치의 드라이버 컨텍스트(device driver context)로 문맥전환(context switching)을 수행하여 상기 입출력을 수행하는 것을 특징으로 하는 적응성 문맥전환 장치
|