[til_211129][운영체제] 데드락 Deadlock 교착상태
2021. 11. 30. 00:12ㆍOperating System
컴퓨팅시스템 운영체제 수업 과제로 데드락 레포트 쓰느라 하루를 다 보냈다..
녹화 강의 듣고 > 정리하고 > 레포트로 써내기..
레포트는 데드락에 대해서만 세 장이 넘어가는데
요점만 간략히 적어보자면:
데드락의 발생조건
1. 상호배제 (동시 공유가 안되는 자원)
2. 비선점 (이미 점유 중인 타 프로세스의 자원을 빼앗을 수 없음)
3. 점유와 대기 (하나 이상의 자원을 점유한 상태에서 다른 자원의 할당을 대기하는 상태)
4. 원형 대기 (프로세스들이 원형의 구조로 대기하는 상태 : 서로 할당을 기다리는 방향, 바라보는 방향이 같음.)
해결방법
1. 예방
1) 상호배제 예방 : 모두 공유할 수 있도록 함.
2) 비선점 예방 : 자원 이미 점유된 상태여도 빼앗을 수 있도록 함.
3) 점유와 대기 예방 : 모든 프로세스가 자원을 전부 할당받거나 아니면 아예 할당하지 않는 방식. 자원을 변화시키지 않는 데에 의미가 있다.
4) 원형 구조 예방 : 자원에 숫자를 부여해서 숫자가 큰 방향으로만 대기할 수 있도록 함.
2. 회피
데드락이 발생하지 않을 범위에서만 자원을 할당함.
3. 검출과 회복
타임아웃되는 프로세스를 교착상태로 간주하고 강제종료.
아직 starvation도 남아있는데..
starvation 정리하려면 또 강의를 몇개 들어야되고,,
아나 관세론 10페이지 소논문은 또 언제 쓰지 ㅠ 속도를 더 내자,,,
'Operating System' 카테고리의 다른 글
[til_211201][운영체제] 프로세스 동기화 (0) | 2021.12.03 |
---|---|
[til_211130][운영체제] CPU 스케줄링 (0) | 2021.11.30 |