2022 국가직9급 컴퓨터일반 15번 해설 — 동기화와 세마포어
정답 ③번출제 쟁점 동기화와 세마포어발문 옳지 않은 것 고르기
문제
운영체제의 세마포어(Semaphore)에 대한 설명으 로 옳지 않은 것은?
- ① 프로세스 간 상호배제(Mutual Exclusion)의 원리를 보장하는 데 사용된다
- ② 여러 개의 프로세스가 동시에 그 값을 수정하지 못 한다
- ③ 세마포어에 대한 연산은 수행 중에 인터럽트 될 수 있다 ← 정답
- ④ 세마포어는 플래그 변수와 그 변수를 검사하거나 증 감시키는 연산들로 정의된다. ③ 세마포어(semaphore)는 운영체제 또는 프로그램 처리에서 공유 자원에 대한 접속을 제어하기 위해 변수를 사용하는 방법이다. 공유된 자원에는 정해진 수의 스레드(프로세스)만 접근할 수 있 도록 제한을 두어 그 이상의 스레드(프로세스)가 접근하는 것을 막아준다. 따라서 세마포어에 대한 연산 도중에는 다른 스레드(프로세스)에 의해 인터럽트되지 않아야 한다. <오
선지별 해설
① 프로세스 간 상호배제(Mutual Exclusion)의 원리를 보장하는 데 사용된다
이 선지 진술은 옳음(O)
세마포어는 공유 자원 접근을 제한해 임계구역 문제를 해결하는 동기화 도구이다. 이진 세마포어는 뮤텍스처럼 상호배제에 쓰인다.
② 여러 개의 프로세스가 동시에 그 값을 수정하지 못 한다
이 선지 진술은 옳음(O)
wait와 signal 같은 세마포어 연산은 원자성을 가져야 한다. 동시에 값이 갱신되면 동기화가 깨질 수 있다.
③ 세마포어에 대한 연산은 수행 중에 인터럽트 될 수 있다
이 선지 진술은 틀림(X)
세마포어의 검사와 증감은 하나의 불가분 연산처럼 수행되어야 한다. 수행 중 인터럽트될 수 있다는 설명은 틀리다.
④ 세마포어는 플래그 변수와 그 변수를 검사하거나 증 감시키는 연산들로 정의된다. ③ 세마포어(semaphore)는 운영체제 또는 프로그램 처리에서 공유 자원에 대한 접속을 제어하기 위해 변수를 사용하는 방법이다. 공유된 자원에는 정해진 수의 스레드(프로세스)만 접근할 수 있 도록 제한을 두어 그 이상의 스레드(프로세스)가 접근하는 것을 막아준다. 따라서 세마포어에 대한 연산 도중에는 다른 스레드(프로세스)에 의해 인터럽트되지 않아야 한다. <오
이 선지 진술은 옳음(O)
세마포어는 정수 변수와 원자적 wait/P, signal/V 연산으로 표현된다. 공유 자원 접근 수를 제어하는 데 쓰인다.
핵심 요약 (Q&A)
- Q. 2022 국가직9급 컴퓨터일반 15번의 핵심 쟁점은 무엇인가?
- A. 2022 국가직9급 컴퓨터일반 15번은 동기화와 세마포어에 관한 문항으로, "옳지 않은 것"을 고르는 문제입니다.
- Q. 2022 국가직9급 컴퓨터일반 15번의 정답은?
- A. 정답은 ③번입니다. 세마포어의 검사와 증감은 하나의 불가분 연산처럼 수행되어야 한다. 수행 중 인터럽트될 수 있다는 설명은 틀리다.