Chapter 05 교착 상태
- 최초 등록일
- 2009.12.24
- 최종 저작일
- 2009.09
- 4페이지/ 한컴오피스
- 가격 1,000원
소개글
연습문제의 답과 해설을 서술하였습니다.
목차
없음
본문내용
1. 바쁜 대기(Busy-Waiting)란 용어의 뜻은 무엇인가? 다른 종류의 대기도 있는가? 바쁜 대기를 피할 수도 있는가?
=> 바쁜 대기 - CPU가 프로세스 교환을 하기 위한 검사를 실행하면서 대기하는 상태를 말함
다른 종류의 대기 - 순환 대기(Circular Waiting)
해결책 - 세마포를 이용하여 피할 수 있는데 대기 상태 자체를 피하는 것이 아니라 일단 대기 상태가 된 프로 세스는 자기 순서가 될 때까지 보류를 시켜 CPU를 낭비하지 않게 하는 것임
2. wait와 signal 연산들이 원자적으로 실행되지 않는다면, 상호 배제 조건이 위반됨을 증명하시오.
=> 세마포 연산의 핵심은 두 개 이상의 프로세스들이 동시에 세마포 변수를 수정하여 임계영역에 들어가는 것을 막기 위해 wait와 signal의 연산이 원자적으로 실행하도록 하는 것임. 그런데 이 두 연산이 원자적으로 실행이 되지 않는다면 상호배제는 물론 임계영역의 해결을 위한 모든 조건을 만족시키지 못하게 됨. 예를 들어, 두 개 의 프로세스 Pi 와 Pj 가 있을 때 Pi 가 wait 연산의 while문을 실행한 직후에 Pj 가 while문을 실행하면 두 프 로세스 모두 세마포 변수가 수정되기 전에 while문을 실행하였기 때문에 각각 세마포 변수를 수정하고 임계영 역에 들어가게 되어 상호배제 조건을 어기게 됨
3. 컴퓨터 시스템 환경과 관련되지 않은 교착 상태의 실례를 세 개만 열거하시오.
=> 컴퓨터 시스템 환경에 관련되지 않은 교착 상태는 대개 병렬처리에서 동기화에 관한 것들로서 자원의 할당과 해제와 같이, 임계구역으로의 진입과 탈출 과정에서 교착 상태가 발생하며 식사하는 철학자 문제, 흡연가 문 제, 잠자는 이발사 문제 등의 예가 있음
4. 교착 상태와 기아 사이의 주요 차이점은 무엇인가?
=> 교착 상태는 영영 일어나지 않는 작업을 기다리는 것이고, 기아 상태는 현재는 할당을 받지 못하지만 언젠가는 할당 받아서 작업을 하게 되는 것을 말함
참고 자료
없음