OS수업자료(5주차_121011).

Download Report

Transcript OS수업자료(5주차_121011).

1
Chapter 5 프로세스 동기화
2012.10.11(5주차)
프로세스 동기화(Synchronization)
란?
여러 프로세스들이 협동하여 작업
처리
자신의 작업이 언제 끝났는지 알려
줘야
누가 작업을 할 지 알려줘야
작업을 진행하기 위한 프로세스간
의 연락
임계구역
(Critical
접근 순서에
따라 실행결과에
Section)
영향을 미치는 영역
임계구역의 문제를 해결하기 위해서는
상호배제(mutual
exclusion)
한정대기(bounded
waiting)
진행 융통성(progress
flexibility)
임계구역의 문제를 해결하기 위한 방
Lock 한 개 사용: 화장실 잠금장치
- P1이 Lock을 걸기 전에 P2가 들어
온 경우
- Mutual exclusion보장이 되지 않음
Lock 두 개 사용
- P1은 임계구역에 들어가기전에 lock=true
로 설정한 후 P2가 잠금을 설정했는지 확
인
임계구역의 문제를 해결하기 위한 방
피터슨 알고리즘: 무한 대기 방지
- P1의 lock과 P2의 lock이 모두
true인 경우 무한 대기를 한다.
- turn이라는 변수를 사용해서 어
떤 프로세스가 수행될지 양보한
다.
- 즉, 피터슨 알고리즘을 사용하면
무한 대기를 방지할 수 있다.
세마포어
(semaphore)
다수의 프로세스가 작업할 때 사용
사용할 때 잠그고 나올 때 풀고