병행 제어

2024. 2. 6. 17:59

Race Condition이 생기는 상황 3가지

 

1. 커널모드 수행중에 인터럽트 들어온 경우

 

   -> 해결 : 커널의 공유변수를 건드리기 전에 인터럽트 disable시킴

 

 

2. 각각의 프로세스가 kernel 모드 공유 데이터를 수정 시

    -> 해결책 : 커널모드에서 수행 중일 때는 CPU를 preempt 하지 않는다.

커널 모드에서 사용자 모드로 돌아갈 때 preempt.

 

 

 

 

 

3. 멀티프로세서(여러개의 CPU) 상황에서 운영체제 공유 데이터 접근할 때

 

 

 

 

* Critical Section : 공유 데이터를 접근하는 코드

 

 

 

 

 

 

 

 

 

 

자료 출처 : http://www.kocw.net/home/search/kemView.do?kemId=1226304 이화여자대학교 반효경 교수님 - 운영체제

'Operation System' 카테고리의 다른 글

메모리 관리, 가상 메모리  (0) 2024.02.28

BELATED ARTICLES

more