Producer and Consumer problem(생산자 소비자 문제)
-생산자가 데이터를 생산하면 소비자는 그것을 소비
-유한 버퍼 문제(Bounded Buffer problem)
-상호 배타 문제: 세마포 1개로 해결(mutual)
-Busy wait(e.g. CPU가 while문을 계속돌림): 세마포 2개로 해결(empty, full)
Readers - Writers problem
-공유 데이터 베이스 접근
-Reader는 값을 변경하지 않으니 임계구역에 여러개를 허용(cf. Writer는 상호배타로 한개만 접근해야함)
Dining Philosopher problem
-교착상태(Deadlock) 발생하여 기아(Starvation)
교착상태 필요조건(4가지 만족하면 발생할 가능성이 있음)
-Mutual exclusion(상호 배타)
-Hold and wait(보유 및 대기)
-No-preemption(비선점)
-Circula wait(환형 대기): 원의 형태로 꼬리물기(화살표도 같은 방향이어야함)
'CS > 운영체제' 카테고리의 다른 글
모니터(monitor) (0) | 2023.02.12 |
---|---|
교착 상태 (0) | 2023.02.10 |
세마포(Semaphores) (0) | 2023.02.08 |
프로세스 동기화 (0) | 2023.02.07 |
쓰레드(Thread) (0) | 2023.02.06 |