page5
프로세스 동기화를 위한 고수준 추상화 메커니즘으로, 내부 변수는 프로시저 내에서만 접근 가능하며
한 번에 하나의 프로세스만 활성화됩니다 .
x.wait()
와
x.signal()
연산을 제공하여 프로세스의 중단과 재시작을 제어합니다 . 모니터와 함께
사용되어 복잡한 동기화 문제를 해결할 수 있습니다 .
프로듀서와 소비자가 고정 크기 버퍼를 공유하는 문제로,
mutex
,
full
,
empty
세마포어를 사용하여 해결
합니다 .
다수의 읽기 프로세스와 쓰기 프로세스가 데이터베이스를 공유하는 문제로, 읽기는 동시에 가능하지만
쓰기는 독점적이어야 합니다 .
5명의 철학자가 5개의 젓가락을 공유하는 문제로, 교착상태 방지를 위한 다양한 해결책이 있습니다 .
시스템은 자원 유형 R₁, R₂, ..., Rₘ으로 구성되며, 각 자원 유형은 여러 인스턴스를 가집니다 . 프로세
스는 자원을 요청, 사용, 해제하는 순서로 활용합니다 .
교착상태가 발생하려면 다음 네 조건이 동시에 만족되어야 합니다 :
모니터 개념
[2]
조건 변수
[2]
[2]
2.8 고전적인 동기화 문제
유한 버퍼 문제
[2]
읽기-쓰기 문제
[2]
식사하는 철학자 문제
[2]
3. 교착상태
3.1 시스템 모델과 특성
시스템 구성
[3]
[3]
교착상태의 4가지 필요조건
[3]
상호 배제: 한 번에 하나의 프로세스만 자원 사용 가능
[3]
점유와 대기: 자원을 보유한 채로 다른 자원을 대기
[3]
비선점: 자원을 강제로 빼앗을 수 없음
[3]
순환 대기: 프로세스들이 원형으로 서로의 자원을 대기
[3]