기출문제/정보처리기사

2018년 3회 정보처리기사 기출문제 42번

엉클지니 2025. 5. 17. 17:37

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

어떤 프로세스가 임계영역 내의 명령어 실행 중 인터럽트(Interrupt)가 발생하면 이 프로세스는 실행을 멈추고, 다른 프로세스가 이 임계영역 내의 명령어를 실행한다.

임계영역 내의 프로그램 수행 중에 교착상태(Deadlock)가 발생하면 교착상태가 해제될 때까지 임계영역을 벗어 날 수 없다. 따라서 임계영역 내의 프로그램에서는 교착상태가 발생하지 않도록 해야 한다.

임계영역 내의 프로그램에서 무한 반복(Endless Loop)이 발생하면 임계영역을 탈출할 수 없다. 따라서 임계영역 내의 프로그램에서는 무한 반복이 발생하지 않도록 해야 한다.

여러 프로세스들 중에 하나의 프로세스만이 임계영역을 사용할 수 있도록 하여 임계영역에서 공유 변수 값의 무결성을 보장한다.

 

 

300x250

 

 정보처리기사 시험에서 **운영체제(OS)**의 **상호배제(Mutual Exclusion)**와 임계영역(Critical Section) 관련 개념은 매우 중요하게 다루어져요.


🔍 핵심 개념 정리

📌 상호배제(Mutual Exclusion)

  • 여러 프로세스가 공유 자원을 사용할 때 동시에 접근하지 못하게 하는 기법
  • 임계영역(Critical Section): 공유 자원에 접근하는 코드 영역

📌 상호배제를 사용하는 이유

  • 데이터의 무결성을 지키기 위해!
  • 동시에 접근하면 데이터가 손상될 수 있음

🧐 선택지 분석

어떤 프로세스가 임계영역 내의 명령어 실행 중 인터럽트가 발생하면 이 프로세스는 실행을 멈추고, 다른 프로세스가 이 임계영역 내의 명령어를 실행한다.

🔴 틀린 설명입니다. (정답)

  • 상호배제를 적용했다면, 임계영역에 진입한 프로세스가 완료하기 전까지 다른 프로세스는 들어갈 수 없습니다.
  • 인터럽트가 발생하더라도 다른 프로세스가 임계영역에 들어가는 건 허용되지 않습니다.
  • 상호배제의 목적 자체가 **"동시에 하나만 접근"**을 보장하는 것임!

② 교착상태가 발생하면 임계영역을 벗어날 수 없다. 따라서 발생하지 않도록 해야 한다.

✅ 맞는 설명입니다.

  • 임계영역에서 교착상태가 발생하면 진입/이탈이 어려워질 수 있음
  • 임계영역 내에서는 교착상태 방지 전략이 중요함

③ 무한 반복이 발생하면 임계영역을 탈출할 수 없다. 따라서 무한 반복을 방지해야 한다.

✅ 맞는 설명입니다.

  • 무한 루프는 공유 자원을 독점한 채 빠져나오지 못하게 하므로 심각한 문제
  • 임계영역 내에서는 반드시 종료 조건이 명확해야 함

④ 하나의 프로세스만 임계영역을 사용할 수 있어 공유 변수의 무결성을 보장한다.

✅ 맞는 설명입니다.

  • 상호배제의 핵심 원리이며, 목적도 정확히 기술함

✅ 정답:


💡 핵심 요약

개념 설명

임계영역 공유 자원 접근 코드 영역
상호배제 임계영역에 하나의 프로세스만 접근하도록 보장
인터럽트 발생 시 다른 프로세스가 임계영역에 들어갈 수 없음
주의 사항 임계영역 내에서는 교착상태, 무한 루프 등을 방지해야 함