운영체제에서 기억하고 싶은 내용
교착상태 회피
자원 사용에 대한 사전 정보를 활용해서,
교착 상태가 발생하지 않는 상태로 머물도록 한다
사전 정보란?
현재 할당된 자원
가용상태의 자원
프로세스의 초대 요구량
안전상태와 안전순서열
안전 상태
교착상태를 회피하면서 각 프로세스 최대 요구량까지 자원을 할당할 수 있는 상태
안전순서열 존재하는 경우
불안전 상태
안전순서열이 존재하지 않는 경우
교착 상태는 불안전 상태에서만 발생한다
- 항상 안전상태 유지해야 한다
- 가용상태의 자원을 요구해도 프로세스가 대기 상태가 될 수 있다
- 단점: 자원 이용율은 조금 낮아질 수 있다
/* 교착상태 회피 알고리즘 */
각 자원의 단위 자원이 하나인 경우
변형된 자원할당 그래프
각 자원의 단위 자원이 여러 개인 경우
은행원 알고리즘
교착상태 탐지 및 복구
탐지
- 교착상태 여부를 확인하는 상태 조사 알고리즘 주기적으로 실행
- Shoshani와 Coffman 알고리즘 이용
복구
교착상태가 탐지되면 해소한다
모든 교착상태 프로세스 종료
단점: 복원비용이 크다
사이클 제거될 때 까지 교착상태 프로세스 하나씩 제거
단점: 종료 대상 선택을 위한 비용, 프로세스 종료후 교착상태 재확인 비용
여러 방법이 있고, 각 방법마다 장단이 있다
이해가 어려운 내용이었다
컨셉만 알고가자
'Computer Science > 운영체제' 카테고리의 다른 글
운영체제 9강 :: 가상메모리, 블록사상시스템, 블록구성방식 (0) | 2023.04.26 |
---|---|
운영체제 8강 :: 메모리관리자, 메모리분할, 메모리배치 (0) | 2023.04.25 |
운영체제 6강 :: 교착상태 필요조건, 예방 (0) | 2023.04.23 |
운영체제 5강 :: 생산자-소비자 문제, 프로세스 간 통신 (0) | 2023.04.19 |
운영체제 4강 :: 병행 프로세스, 세마포어 (0) | 2023.04.18 |