"교착상태"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-== 참고 자료 == +==참고==))
4번째 줄: 4번째 줄:
* 두 개 이상의 작업이 서로 상대방이 끝나기를 기다리고 있어 아무것도 완료되지 못하는 상태
* 두 개 이상의 작업이 서로 상대방이 끝나기를 기다리고 있어 아무것도 완료되지 못하는 상태
* 둘 이상의 프로세스가 서로 남이 가진 자원을 요구하며 작업 수행을 할 수 없이 대기 상태가 되는 상태
* 둘 이상의 프로세스가 서로 남이 가진 자원을 요구하며 작업 수행을 할 수 없이 대기 상태가 되는 상태
* 비유: 외나무다리에서 만난 사람들, 서로 상대방이 양호할 때까지 무한 대기
* 비유: 외나무다리에서 만난 사람들, 서로 상대방이 양보할 때까지 무한 대기
* 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제
* 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제



2018년 3월 15일 (목) 16:11 판

1 개요

deadlock
교착상태, 데드락
  • 두 개 이상의 작업이 서로 상대방이 끝나기를 기다리고 있어 아무것도 완료되지 못하는 상태
  • 둘 이상의 프로세스가 서로 남이 가진 자원을 요구하며 작업 수행을 할 수 없이 대기 상태가 되는 상태
  • 비유: 외나무다리에서 만난 사람들, 서로 상대방이 양보할 때까지 무한 대기
  • 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제

2 예시

 

→ 프로세스 1은 자원 2를 점유한 채, 자원 1을 사용하려 함
→ 프로세스 2는 자원 1을 점유한 채, 자원 2를 사용하려 함

3 필요조건

다음 4가지 조건이 충족되어야 교착상태 발생

  • 상호배제: 자원에 대한 배타적 통제권이 필요함
  • 점유대기: 자원을 점유한 상태로 다른 자원을 기다림[1]
  • 비선점: 다른 프로세스가 점유한 자원을 강제로 뺏을 수 없음
  • 순환대기: 순환적으로 다음 프로세스가 필요한 자원을 점유하고 있음

4 같이 보기

5 참고

  1. 누군가 양보하는 마음으로 반납하고 좀 있다가 쓰면 해결되겠지
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}