Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 카카오로그인
- 카카오 소셜로그인
- AGGREGATE
- 이메일 전송
- nodemailer
- nextjs
- Mongoose
- JSON.parse
- 캐러셀
- context switch
- logstash
- react-slick
- DB
- nestjs
- 중첩 구조 분해
- 자바스크립트
- 위크맵
- JSON.stringify
- 참조에 의한 객체 복사
- TypeScript
- JavaScript
- MongoDB
- nest
- 로그스태시
- javacript
- 위크셋
- 객체
- 구조 분해 할당
- Map
- 화살표 함수
Archives
- Today
- Total
뚜sh뚜sh
Deadlock2 본문
Deadlock Detection and Recovery
- Deadlock Detection
1. Resource type 당 single instance인 경우
- 자원할당 그래프에서의 cycle이 곧 deadlock을 의미
2. Resource type 당 multiple instance인 경우
- Banker's algorithm과 유사한 방법 활용
- Wait-for graph 알고리즘
1. Resource type 당 single instance인 경우
2. Wait-for graph
- 자원할당 그래프의 변형
- 프로세스만으로 node 구성
- Pj가 가지고 있는 자원을 Pk가 기다리는 경우 Pk -> Pj
3. Algorithm
- Wait-for graph에 사이클이 존재하는 지를 주기적으로 조사
- O(n^2)
- Recovery
1. Process termination
- Abort all deadlocked processes
- Abort one process at a time until the deadlock cycle is eliminated
2. Resource Preemption
- 비용을 최소화할 victim의 선정
- safe state로 rollback하여 process를 restart
- Starvation 문제(동일한 프로세스가 계속해서 victim으로 선정되는 경우, cost factor에 rollback 횟수도 같이 고려)
Deadlock Ignorance
- Deadlock이 일어나지 않는다고 생각하고 아무런 조치도 취하지 않음
- Deadlock이 매우 드물게 발생하므로 deadlock에 대한 조치 자체가 더 큰 overhead일 수 있음
- 만약, 시스템에 deadlock이 발생한 경우 시스템이 비정상적으로 작동하는 것을 사람이 느낀 후 직접 process를 죽이는 등의 방법으로 대처
- UNIX, Windows 등 대부분의 범용 OS가 채택
'운영체제' 카테고리의 다른 글
Memory Management2 (0) | 2023.07.11 |
---|---|
Memory Management1 (0) | 2023.07.10 |
Deadlock1 (0) | 2023.06.22 |
Process Synchronization3 (0) | 2023.06.20 |
Process Synchronization2 (0) | 2023.06.19 |
Comments