System/운영체제

[혼공컴운] Ch 12 프로세스 동기화

eunhyeon5322 2025. 2. 17. 03:02

Chapter 12
프로세스 동기화

12-2 동기화 기법

뮤텍스 락

동시에 접근해서는 안 되는 자원에 동시에 접근하지 않도록 만드는 도구, 다시 말해 상호 배제를 위한 동기화 도구이다. 임계 구역에 진입하는 프로세스는 '내가 지금 임계 구역에 있음'을 알리기 위해 뮤텍스 락을 이용해 임계 구역에 자물쇠를 걸어둘 수 있고, 다른 프로세스는 임계 구역이 잠겨 있다면 기다리고, 잠겨 있지 않다면 임계 구역에 진입할 수 있다.

 

acquire 함수
프로세스가 임계 구역에 진입하기 전에 호출하는 함수이다. 만일 임계 구역이 잠겨 있다면 임계 구역이 열릴 때까지 임계 구역을 반복적으로 확인하고, 임계 구역이 열려 있다면 임계 구역을 잠그는 함수이다. 

release 함수
임계 구역에서의 작업이 끝나고 호출하는 함수이다. 

 

세마포

공유 자원이 여러 개 있는 상황에서도 적용이 가능한 동기화 도구이다.

 

모니터터

세마포에 비해 사용자가 사용하기 편리한 동기화 도구로 조건 변수를 사용한다. 

 

📌확인문제

1. 뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요.

    ① 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룬다.
    ② 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있다.
    ③ 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있다.
    ④ 세마포를 이용하면 반드시 바쁜 대기를 해야 한다.

 

정답
1.④ 세마포를 이용하면 반드시 바쁜 대기를 해야 한다.
해설 - 세마포는 wait 함수와 signal 연산을 사용하여 공유 자원의 접근을 제어하는 동기화 기법이다.
바쁜 대기(busy waiting)는 특정 조건을 만족할 때까지 CPU가 루프를 도는 방식인데, 세마포는 바쁜 대기를 반드시 요구하지 않는다.

 

'System > 운영체제' 카테고리의 다른 글

[혼공컴운] Ch 14 가상 메모리  (0) 2025.02.24
[혼공컴운] Ch 10 프로세스와 스레드  (0) 2025.02.09