[til_211129][운영체제] 데드락 Deadlock 교착상태

2021. 11. 30. 00:12Operating System

컴퓨팅시스템 운영체제 수업 과제로 데드락 레포트 쓰느라 하루를 다 보냈다..

녹화 강의 듣고 > 정리하고 > 레포트로 써내기..

레포트는 데드락에 대해서만 세 장이 넘어가는데

요점만 간략히 적어보자면:

 

데드락의 발생조건 

1. 상호배제 (동시 공유가 안되는 자원)

2. 비선점 (이미 점유 중인 타 프로세스의 자원을 빼앗을 수 없음)

3. 점유와 대기 (하나 이상의 자원을 점유한 상태에서 다른 자원의 할당을 대기하는 상태)

4. 원형 대기 (프로세스들이 원형의 구조로 대기하는 상태 : 서로 할당을 기다리는 방향, 바라보는 방향이 같음.)

 

해결방법

1. 예방

 1) 상호배제 예방 : 모두 공유할 수 있도록 함.

 2) 비선점 예방 : 자원 이미 점유된 상태여도 빼앗을 수 있도록 함.

 3) 점유와 대기 예방 : 모든 프로세스가 자원을 전부 할당받거나 아니면 아예 할당하지 않는 방식. 자원을 변화시키지 않는 데에 의미가 있다. 

4) 원형 구조 예방 : 자원에 숫자를 부여해서 숫자가 큰 방향으로만 대기할 수 있도록 함. 

2. 회피

데드락이 발생하지 않을 범위에서만 자원을 할당함. 

3. 검출과 회복 

타임아웃되는 프로세스를 교착상태로 간주하고 강제종료.


아직 starvation도 남아있는데..

starvation 정리하려면 또 강의를 몇개 들어야되고,,

아나 관세론 10페이지 소논문은 또 언제 쓰지 ㅠ 속도를 더 내자,,,