일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 큐
- stack
- 백준
- 디바이스 입출력
- 파이썬
- 캡슐화
- 스택
- OOP
- OS
- 운영체제
- 코딩 테스트
- queue
- 객체지향 프로그래밍
- DFS
- 자료구조
- 프로세스
- 백준 #
- BFS
- 데드락
- SW Expert Academy
- integretion test
- unionfind
- 다익스트라
- 논리 메모리
- java
- 유니크 키
- DP
- error
- springboot
- Today
- Total
목록데드락 (2)
middlefitting
데드락의 처리방법 데드락은 상호배제, 비선점, 보유 대기 및 순환대기 조건이 모두 충족되어야 발생할 수 있습니다. 즉 해당 조건이 충족되지 않게 한다면, 데드락 발생을 예방할 수 있다는 말이 됩니다. 데드락의 처리 방법에는 다음과 같은 크게 4가지 방법이 존재합니다. Deadlock prevention 가장 강력한 방지법으로 데드락이 발생할 수 있는 원천적인 요소, 발생조건을 차단하는 것을 말합니다. 상호 배제의 경우 공유하는 자원의 경우 반드시 성립해야 하기 때문에 다른 발생조건을 방지하는 방법으로 진행합니다. 점유 대기 방지 해당 조건을 방지하기 위해서는 자원을 요청하는 상황에서는 어떠한 자원을 보유하지 못하게 진행합니다. 방법은 대표적으로 두가지가 존재합니다. 첫 번째는 프로세스가 시작될 때 필요한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Cpiht/btrXOvB43WX/qdxam2qC2P7h0KTRA9f9Gk/img.png)
데드락이란 데드락은 남아있는 자원이 없는 상황에서 자원을 점유한 프로세스들이 희생을 하지 않고, 다른 자원을 요청하면서 발생하는 교착상태를 말합니다. 즉 일련의 프로세스들이 서로가 가진 자원을 기다리며 막혀 있는 상태입니다. 여기서 말하는 자원은 하드웨어 소프트웨어 등을 포함하는 개념입니다. 데드락 발생 조건 데드락 발생에는 4가지 조건이 존재하며, 어느 한 조건도 만족하지 않는다면 데드락은 발생하지 않습니다. 상호배제 (Mutual exclusion) 획득한 자원을 독점적으로 사용하는 것을 말합니다 비선점 (No preemption) 프로세스는 자원을 스스로 내어놓을 뿐, 빼앗기지 않는 것을 말합니다. 보유 대기 (Hold and wait) 자원을 가진 프로세스가 자원을 놓지 않고 자원을 기다리는 것을..