반응형
임계구역 문제란?
프로세스들이 협력할 때 사용할 수 있는 프로토콜을 설계하는 것이다.
해결안(세가지 요구조건)
1. 상호배제 (Mutual exclusion) : 어떠한 프로세스가 자기의 임계구역에서 실행된다면 다른 프로세스들은 그 구역에서 실행될 수 없다.
2. 진행 (Progress) : 자기의 임계구역에서 실행되는 프로세스가 업으면, 나머지 구역에서 실행중이지 않은 프로세스들만 진입할 수 있는지 결정할 수 있고, 무한정 연기될 수 없다.
3. 한정된 대기 (Bounded waiting) : 프로세스가 자기의 임계구역에 집입하려는 요청을 한 후 허용될 때까지 다른 프로세스들이 자신의 임계구역에 진입하도록 허용되는 횟수에 제한이 있어야 한다.
경쟁 조건이 발생하기 쉬운 커널 자료 구조
-메모리 할당을 관리하는 자료 구조
-프로세스 리스트를 유지하는 자료 구조
-인터럽트 처리를 위한 자료구조
OS 내에서 임계구역을 다루기 위한 두가지 접근법
-선점형 커널 : 프로세스가 커널 모드에서 수행되는 동안 선점되는 것을 허용
-비선점형 커널 : 커널을 빠져나가거나, 봉쇄되거나, 자발적으로 CPU의 제어를 양보하기 전까지 수행
선점형 커널이 대세
-Windows XP, Windows 2000 까지는 비선점형 커널이었다.
반응형
'IT이론 > os' 카테고리의 다른 글
The Dining Philosophers (0) | 2014.01.24 |
---|---|
교착상태 (deadlock) (0) | 2014.01.24 |
Thread의 Def 와 Coding (0) | 2014.01.24 |
Atomic Operation 이란? (1) | 2014.01.24 |
대칭형 다중 처리 (SMP) (0) | 2014.01.24 |