소개글
학점은행제 운영체제 레포트입니다.
교착상태 와 예방 회피 탐지 및 회복 기법
마지막에 내용 요약과 자신의 의견을 적어 내야 합니다.
목차
1. 교착상태란?
1) 교착상태 발생 조건
2. 예방기법
1) 4가지 조건의 부정
3. 회피기법
1) Safe sequence
2) 은행원 알고리즘
4. 탐지기법
1) 자원할당 그래프 알고리즘
5. 회복기법
1) 프로세스 종료
2) 자원선점
6. 참고문헌
본문내용
1. 교착상태(Dead Lock)란?
교착상태(Dead Lock)는 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의미합니다. 쉽게 말하면, 한정되어 있는 자원을 여러 개의 다른 프로세스들이 서로 사용하려고 경쟁적으로 요구하며, 요구하고 있는 자원을 얻을 때 까지 프로세스가 대기상태로 유지되어지는 것을 말합니다.
1.1 교착상태 발생 조건
교착상태는 한 시스템 내에서 4가지 조건이 동시에 성립 할 때 발생한다. 4가지 조건중 하나라도 충족되어지지 않으면 교착상태가 발생하지 않기 때문에, 교착상태 발생의 필요충분조건이라고도 한다.
발생 조건 4가지는, 상호배제, 점유와 대기, 비선점 그리고 환형 대기이다. 먼저, 상호배제(Mutual Exclusion)란, 한 번에 프로세스 하나만 해당 자원을 사용할 수 있도록 하는 것이며, 사용 중인 자원을 다른 프로세스가 사용하려면 요청한 자원의 사용이 해제될 때까지 대기해야한다는 조건이다. 두 번째, 점유대기(Hold and Wait)는 프로세스가 최소한 하나의 자원을 점유하고 있으면서, 다른 프로세스에 할당되어 사용되어지고 있는 자원을 추가로 점유하기 위해서는 대기하고 있는 프로세스가 있어야 한다는 조건이다. 세 번째, 비선점(No Preemption)은 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 한다는 조건이다. 마지막으로, 순환 대기(Circular wait)는 공유자원과 공유자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 포르세스의 자원을 요구해야한다는 조건이다.
2. 교착상태 예방(Prevention)기법
교착상태의 발생조건 4가지 중 하나라도 발생하지 않게 하면, 발생조건이 필요충분조건이기 때문에 교착상태가 발생하지 않는다. 따라서 이 4가지 조건중 하나를 부정
참고 자료
코딩팩토리, 2021-09-28, 「교착상태란 무엇인가?」,
https://coding-factory.tistory.com/311, 2019-02-09 작성.
ChanBLOG, 2021-09-28, 「데드락(Deadlock)이란?」
https://chanhuiseok.github.io/posts/cs-2/, 2020-10 작성.
친절한Yoongrammer, 2021-09-28,「교착상태 해결 방법」
https://yoongrammer.tistory.com/67, 2021-03-29 작성.
includestdio, 2021-09-29, 「데드락, 교착상태 해결」,
https://includestdio.tistory.com/12, 2014-09-04 작성. (사진만 참조)
e-그린, 2021-09-30, 《운영체제 교안》 , (사진 참조)
2021-09-30, https://app.diagrams.net/?src=about, (직접 작성)
ComputerScience/운영체제, 2021-09-30, 「데드락을 회피할 수 있는 자원할당 그래프, 은행원알고리즘」,https://wannabe-gosu.tistory.com/26, 2020-06-13작성.