반응형
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 | 31 |
Tags
- 시뮬레이션
- 프로세스
- samsung research
- pwnable.kr
- 스케줄링
- segmentation
- 컴공복전
- Brute Force
- fork
- 김건우
- Deadlock
- 데드락
- 가상메모리
- 삼성기출
- exec
- Memory Management
- paging
- higunnew
- 구현
- ascii_easy
- 백준
- 동기화문제
- BOJ
- 운영체제
- 완전탐색
- 알고리즘
- dfs
- 삼성리서치
- BFS
- 백트래킹
Archives
- Today
- Total
목록식사하는 철학자 (1)
gunnew의 잡설
7-3강. 동기화 문제(Deadlock) 해결 방안
Semaphore은 프로그래밍을 조금만 잘못해도 문제가 발생할 수 있다. 예를 들어 Semaphore 변수가 S와 Q로 두 개가 있다고 가정하자. 그리고 어떤 프로세스는 두 Semaphore를 모두 얻어야만 할 수 있는 작업이라고 하자. 예를 들면 A라는 Tape driver에 있는 내용을 B에 저장을 하는 것과 같은 작업이다. 그것들을 각각 P0와 P1이라고 하며 에 나타나 있다. 겉으로 보기엔 문제가 없어 보인다. 그러나 여기에는 심각한 문제가 발생할 수 있다. P0가 S를 얻고 CPU를 뺏겼다고 해보자. 그리고 CPU가 P1로 넘어가고 P1은 Q를 획득했다고 하자. P1이 이제 아랫부분을 실행하려고 해도 S를 P0가 가지고 있기 때문에 실행을 못하고, 반대로 P0가 Q를 얻으려고 해도 P1이 가지고..
Operating System
2020. 2. 13. 16:55