본문 바로가기
운영체제정보처리기사(구) · 2018년08월19일 · 42/100

42.상호배제(Mutual Exclusion) 기법을 사용하여 임계영역(Critical Region)을 보호하였다. 다음 설명 중 가장 옳지 않은 것은?

1
어떤 프로세스가 임계영역 내의 명령어 실행 중 인터럽트(Interrupt)가 발생하면 이 프로세스는 실행을 멈추고, 다른 프로세스가 이 임계영역 내의 명령어를 실행한다.정답
2
임계영역 내의 프로그램 수행 중에 교착상태(Deadlock)가 발생하면 교착상태가 해제될 때까지 임계영역을 벗어 날 수 없다. 따라서 임계영역 내의 프로그램에서는 교착상태가 발생하지 않도록 해야 한다.
3
임계영역 내의 프로그램에서 무한 반복(Endless Loop)이 발생하면 임계영역을 탈출할 수 없다. 따라서 임계영역 내의 프로그램에서는 무한 반복이 발생하지 않도록 해야 한다.
4
여러 프로세스들 중에 하나의 프로세스만이 임계영역을 사용할 수 있도록 하여 임계영역에서 공유 변수 값의 무결성을 보장한다.

해설

2. 상호배제는 교착상태로 가는 네가지 조건(Hold Wait, Circular, Mutual, 비선점)중 하나이다.그러기에 예방해야한다. 3. 임계영역은 입장후 퇴장구역까지 한번에 점유하는 부분이다. 그 점유구간에서 반복이 일어나면 퇴장구역 입장 불가능하여 탈출 불가능하다. 4. 여러프로세스중 하나만 임계영역을 사용하여 입장 및 퇴장까지 사용한다.(여러 프로세스가 임계구역에 못들어온다) [추가 해설] 임계영역에는 인터럽트가 발생하지 않는다.

이 시험을 직접 풀어보세요

실전과 동일한 CBT 환경에서 시간 제한 연습

회원가입 없이 CBT 풀기