일어나지 않을 사건을 기다리며 진행이 멈추는 현상
식사하는 철학자 문제 : 교착상태 설명해주는 상황
원탁에 다섯명의 철학자가 앉아 있고 철학자 사이에 포크가 있으며 포크를 두개를 사용해야만 음식을 먹을수 있음
→ 다섯명이 동시에 왼쪽 포크를 사용하면 누구도 식사 불가능
→ "교착상태"에 빠졌다
철학자 = 프로세스 or 스레드
포크 = 자원
생각하는 것 = 자원을 기다리는 것
포크는 한번에 하나의 스레드에 접근 = 임계구역
교착 상태를 해결하는 방법
교착상태 발생 조건
상호배제
점유와 대기
비선점
원형 대기
조건 | 설명 |
---|---|
상호배제(mutual exclusion) | 자원 이용이 한번에 하나의 프로세스만 가능하기 때문에 교착상태가 발생 |
프로세스가 사용하는 자원을 다른 프로세스가 사용할수 없어서 교착상태가 발생 | |
-------------------------------------- | ----------------------------------------------------------------------------------------- |
점유와 대기(hold and wait) | 자원을 할당받은 상태에서 다른 자원을 할당 받기를 기다릴때 교착상태 발생 |
--------------------------------------- | ----------------------------------------------------------------------------------------- |
비선점(nonpreemptive) | 프로세스가 자원을 비선점 하고있어서 교착상태가 발생 |
어떤 프로세스고 강제로 자원을 뺏지못해서 교착상태가 발생 | |
---------------------------------------- | --------------------------------------------------------------------------------------- |
원형 대기(circular wait) | 프로세스들과 자원이 원의 형태일 때 발생할 수 있음 |
교착상태가 발생하지 않을 정도로만 자원을 할당하는 방식
전제 조건: 자원에 많으면 교착상태가 발생하지 않는다 = 한정된 자원의 무분별한 할당으로 교착상태가 발생
교착상태 회피관련 용어
안전 상태 일때
불안전 상태 일때
1번 교착상태설명으로 틀린것 고르기 (4)번
1) 교착 상태는 다양한 상황에서 발생할수 있다
2) 교착 상태는 자원 할당 그래프로 표현 할수 있다
3) 교착 상태는 일어나지 않을 사건을 기다리며 무한히 대기하는 현상을 의미한다
4) 식사하는 철학자 문제에서 단 한명의 철학자가 식사해도 교착상태가 발생한다
2번 교착상태가 발생할수 있는 네가지 조건
정답 : 상호배제, 원형 대기, 비선점, 점유와 대기
3번 두가지중 교착 상태가 발생할 위험이 있는 그래프는? (2)번
1)
2)
1번 교착상태를 회복하는 방법에대해 틀린것은? (2)번
1) 교착상태가 발생하는 조건 중 하나를 충족하지 않게하면 교착상태를 예방할수 있다
2) 교착상태가 발생했으면 이를 회복할수 없다
3) 안전상태를 유지할수 있는 경우에만 자원을 할당하면 교착상태를 회피할수 있다
4) 교착상태의 검출 및 회피방식에서 운영체제는 주기적으로 교착상태발생 여부를 검사한다
2번 다음과 같은 상황에서 프로세느 P2에 자원 두개를 나누어 줬다고 가장한다. 프로세스P2가 실행을 올바르게 종료한 뒤 자원을 반납하면 남는 자원은 몇개인가? 5개
프로세스 | 요구량 | 현재사용량 |
---|---|---|
P1 | 10 | 5 |
P2 | 4 | 2 |
P3 | 9 | 2 |
할당가능 자원 | 할당한 자원 | 남은자원 |
---|---|---|
12 | 9 | 3 |
3번 교착상태에 대한 대처방법중 타조 알고리즘에대한 설명은?(2)번
1) 교착상태를 회피하는 방법
2) 교차상태를 무시하는 방법
3) 교착상태를 검출하고 회복하는 방법
4) 교착상태를 예방하는 방법
4번 교착상태 예방에 대한 설명을 틀린것은? (4)번
1) 상호배제 조건을 없애므로써 교착상태를 예방할 수 있다
2) 점유와 대기 조건을 없앰으로써 교착 상태를 예방할 수 있다
3) 비선점 조건을 없앰으로써 교착상태를 예방할 수 있다
4) 원형대기 조건을 추가함으로써 교착상태를 예방할 수 있다