01 교착 상태
다른 작업이 끝나기를 기다리며 작업을 더 이상 진행하지 못하는 상태를 교착 상태라고 한다. 잘못된 정책으로 특정 프로세스 작업이 지연되는 아사 현상과 다르며, 잠금을 사용하는 모든 곳에서 자연 발생하는 현상이다.
02 교착 상태를 유발하는 네 가지 필요조건
다음 네 가지 조건이 모두 충족되어야 교착 상태가 발생한다.
▶ 상호 배제
한 프로세스가 사용하는 자원이 다른 프로세스와 공유할 수 없는 배타적 자원일 때 교착 상태가 발생한다.
▶ 비선점
한 프로세스가 사용 중인 자원이 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원일 때 교착 상태가 발생한다.
▶ 점유와 대기
프로세스가 어떤 자원을 할당받은 상태에서 다른 자원을 기다릴 때 교착 상태가 발생한다.
▶ 원형 대기
점유와 대기를 하는 프로세스 간의 관계가 원을 이루면 서로 양보하지 않아 교착 상태가 발생한다.
03 교착 상태 해결 방법
▶ 교착 상태 예방
교착 상태를 유발하는 네 가지 필요조건이 발생하지 않도록 무력화하는 방식이다. 그러나 상호 배제 예방, 비선점 예방은 자원을 보호해야 하므로 사용하기 어렵고 점유와 대기 예방, 원형 대기 예방은 프로세스 작업 방식을 제한하고 자원을 낭비하기 때문에 사용할 수 없다.
▶ 교착 상태 회피
자원을 할당하다가 교착 상태를 유발할 가능성이 있다고 판단되면 자원 할당을 중단하고 지켜보는 방식이다. 자원의 총수와 현재 할당된 자원의 수를 기준으로 시스템을 안정 상태와 불안정 상태로 나누는데, 교착 상태는 불안정 상태의 일부분으로 불안정 상태가 커질수록 교착 상태가 발생할 가능성이 높아질 뿐이다. 교착 상태 회피는 안정 상태를 유지할 수 있는 범위 내에서 자원을 할당해 교착 상태를 피한다. 교착 상태 회피 알고리즘으로 은행원 알고리즘이 있다.
▶ 교착 상태 검출
어떤 제약을 가하지 않고 자원 할당 그래프를 모니터링하면서 교착 상태가 발생하는지 살펴보는 방식이다. 타임아웃을 이용한 교착 상태 검출은 일정 시간 동안 작업이 진행되지 않은 프로세스를 교착 상태가 발생한 것으로 간주하여 처리한다. 교착 상태를 비롯한 다양한 이유로 데이터의 일관성이 깨지는 문제를 해결하기 위해 데이터베이스에서는 체크 포인트와 롤백을 사용한다. 자원 할당 그래프를 이용한 교착 상태 검출에서는 사이클이 발견되면 교착 상태가 발생한 것으로 간주한다.
▶ 교착 상태 회복
교착 상태가 발생하면 처리하는 단계를 거치는데 이를 교착 상태 회복이라고 한다.
연습 문제 01. 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기를 기다리며 작업을 더 이상 진행하지 못 하는 상태를 가리키는 것은?
① 아사 현상
② 교착 상태
③ 자원 할당 그래프
④ 스냅숏
연습 문제 02. 잘못된 정책으로 특정 프로세스의 작업이 지연되는 상태를 가리키는 것은?
① 아사 현상
② 교착 상태
③ 자원 할당 그래프
④ 스냅숏
연습 문제 03. 교착 상태의 필요조건 중 다른 프로세스와 공유할 수 없는 배타적인 자원으로 발생하는 것은?
① 원형 대기
② 점유와 대기
③ 비선점
④ 상호 배제
연습 문제 04. 교착 상태의 필요조건 중 뺏을 수 없는 자원으로 발생하는 것은?
① 원형 대기
② 점유와 대기
③ 비선점
④ 상호 배제
연습 문제 05. 교착 상태의 필요조건 중 어떤 자원을 할당받은 상태에서 다른 자원을 기다릴 때의 조건은?
① 원형 대기
② 점유와 대기
③ 비선점
④ 상호 배제
연습 문제 06. 교착 상태의 필요조건 중 서로 방해하는 방향이 원을 이루는 것은?
① 원형 대기
② 점유와 대기
③ 비선점
④ 상호 배제
연습 문제 07. 교착 상태의 해결 방법 중 교착 상태를 유발하는 조건을 무력화하는 것은?
① 교착 상태 검출
② 교착 상태 예방
③ 교착 상태 회복
④ 교착 상태 회피
연습 문제 08. 교착 상태의 해결 방법 중 자원 할당을 조절하여 교착 상태가 발생하는지 살펴보는 것은?
① 교착 상태 검출
② 교착 상태 예방
③ 교착 상태 회복
④ 교착 상태 회피
연습 문제 09. 교착 상태의 해결 방법 중 시스템에 어떤 제약도 가하지 않고 교착 상태를 찾아내는 것은?
① 교착 상태 검출
② 교착 상태 예방
③ 교착 상태 회복
④ 교착 상태 회피
연습 문제 10. 교착 상태의 해결 방법 중 교착 상태를 찾은 후에 진입하는 단계는?
① 교착 상태 검출
② 교착 상태 예방
③ 교착 상태 회복
④ 교착 상태 회피
연습 문제 11. 교착 상태의 해결 방법 중 자원 할당 그래프와 가장 연관 관계가 큰 것은?
① 교착 상태 검출
② 교착 상태 예방
③ 교착 상태 무시
④ 교착 상태 회피
연습 문제 12. 데이터베이스나 운영체제 시스템에서 복원하는 지점을 가리키는 것은?
① 자원 할당 그래프
② 롤백
③ 스냅숏
④ 체크포인트
연습 문제 13. 데이터베이스나 운영체제 시스템에서 에러가 발생하여 특정 지점으로 돌아가는 행위를 가리키는 것은?
① 자원 할당 그래프
② 롤백
③ 스냅숏
④ 체크포인트
연습 문제 14. 데이터베이스나 운영체제 시스템에서 특정 지점으로 복원하기 위해 저장된 데이터를 가리키는 것은?
① 자원 할당 그래프
② 롤백
③ 스냅숏
④ 체크포인트
연습 문제 15. 교착 상태 예방 방법 중 전부 할당하거나 아예 할당하지 않는 방법과 가장 가까운 것은?
① 상호 배제 예방
② 점유와 대기 예방
③ 비선점 예방
④ 원형 대기 예방
연습 문제 16. 교착 상태 예방 방법 중 자원에 번호를 매겨 낮은 번호의 자원을 잡지 못하도록 제약하는 방법과 가장 가까운 것은?
① 상호 배제 예방
② 점유와 대기 예방
③ 비선점 예방
④ 원형 대기 예방
연습 문제 17. 자원 할당 그래프를 이용한 교착 상태 검출에서 교착 상태가 발생한 것으로 판단하는 기준은?
① 사이클
② 프로세스 실행 시간
③ 타임아웃
④ 사용 자원 수
연습 문제 18. (교착 상태)는 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기를 기다리며 작업을 더이상 진행하지 못하는 상태다.
연습 문제 19. (아사 현상)은 잘못된 정책으로 특정 프로세스 작업이 지연되는 상태다.
연습 문제 20. 교착 상태를 유발하는 네 가지 필요조건은(점유와 대기, 비선점, 원형 대기, 상호 배제)다.
연습 문제 21. 교착 상태 필요조건 중 다른 프로세스와 공유할 수 없는 배타적인 자원으로 발생하는 조건은 (상호 배제)다.
연습 문제 22. 교착 상태 필요조건 중 뺏을 수 없는 자원으로 발생하는 조건은 (비선점)이다.
연습 문제 23. 교착 상태 필요조건 중 어떤 자원을 할당받은 상태에서 다른 자원을 기다릴 때의 조건은 (점유와 대기)다.
연습 문제 24. 교착 상태의 필요조건 중 서로 방해하는 방향이 원을 이루는 조건은 (원형 대기)다.
연습 문제 25. 교착 상태 해결 방법 중 교착 상태를 유발하는 조건을 무력화하는 것은 (교착 상태 예방)이다.
연습 문제 26. 교착 상태 해결 방법 중 자원의 할당을 조절하여 교착 상태가 발생하는지 살펴보는 것은 (교착 상태 회피)다.
연습 문제 27. 교착 상태 해결 방법 중 시스템에 어떤 제약도 가하지 않고 교착 상태를 찾아내는 것은 (교착 상태 검출)이다.
연습 문제 28. 교착 상태 해결 방법 중 교착 상태를 찾은 후에 진입하는 단계는 (교착 상태 회복)이다.
연습 문제 29. 교착 상태 해결 방법 중 은행원 알고리즘과 연관 관계가 가장 큰 방법은 (교착 상태 회피)다.
연습 문제 30. 교착 상태 해결 방법 중 자원 할당 그래프와 연관 관계가 가장 큰 방법은 (교착 상태 검출)이다.
연습 문제 31. 데이터베이스나 운영체제 시스템에서 복원하는 지점을 (체크포인트)라고 한다.
연습 문제 32. (롤백)은 데이터베이스나 운영체제 시스템에서 문제가 발생하여 특정 지점으로 돌아가는 행위를 말한다.
연습 문제 33. (스냅숏)은 데이터베이스나 운영체제 시스템에서 특정 지점으로 복원하기 위해 저장된 데이터를 말한다.
연습 문제 34. 교착 상태 예방 방법 중 전부 할당하거나 아예 할당하지 않는 것은 (점유와 대기 예방)이다.
연습 문제 35. 교착 상태 예방 방법 중 자원에 번호를 매겨 낮은 번호의 자원을 잡지 못하도록 제약하는 것은 (원형 대기 예방)이다.
연습 문제 36. 자원 할당 그래프를 이용한 교착 상태 검출에서 교착 상태 발생을 판단하는 기준은 (사이클)의 발생 유무다.
연습 문제 37. 교착 상태를 유발하는 네 가지 필요조건을 서술하시오.
상호 배제, 비선점, 점유와 대기, 원형 대기가 모두 충족되어야 교착 상태가 발생합니다.
연습 문제 38. 체크포인트와 롤백에 대하여 설명하시오.
체크포인트는 작업을 하다가 문제가 발생하면 저장된 상태로 되돌아오기 위한 표시로, 체크포인트를 설정하면 현재의 시스템 상태가 하드디스크에 저장되며 이러한 데이터를 스냅숏이라고 합니다.
롤백은 작업을 하다가 문제가 발생하여 과거의 체크포인트로 되돌아가는 것을 의미하며, 롤백이 일어나면 저장된 스냅숏을 복원하여 시스템을 체크포인트 시점으로 되돌립니다.
연습 문제 39. 교착 상태 해결 방법 세 가지를 간략하게 설명하시오.
교착 상태의 해결 방법에는 교착 상태 예방, 교착 상태 회피, 교착 상태 검출, 교착 상태 회복이 있습니다.
교착 상태 예방이란 교착 상태를 유발하는 네 가지 필요조건이 발생하지 않도록 무력화하는 방식입니다.
교착 상태 회피란 자원을 할당하다가 교착 상태를 유발할 가능성이 있다고 판단되면 자원 할당을 중단하고 지켜보는 방식입니다. 이와 관련된 알고리즘으로 은행원 알고리즘이 있습니다.
교착 상태 검출이란 어떤 제약을 가하지 않고 자원 할당 그래프를 모니터링하면서 교착 상태가 발생하는지 살펴보는 방식입니다.
연습 문제 40. 교착 상태 해결 방법 중 교착 상태 회복에 대하여 설명하시오.
교착 상태가 발생하면 처리하는 단계를 거치게 되는데, 이를 교착 상태 회복이라고 합니다. 이 단계에서는 교착 상태를 유발한 프로세스를 강제로 종료하며, 방식으로는할(1) 교착 상태를 일으킨 모든 프로세스를 동시에 종료하는 방식 (2) 교착 상태를 일으킨 프로세스 중 하나를 골라 순서대로 종료하는 방식이 있습니다.
'Operating System' 카테고리의 다른 글
[쉽게 배우는 운영체제] Chapter 08. 가상 메모리의 기초 (0) | 2023.06.19 |
---|---|
[쉽게 배우는 운영체제] Chapter 07. 물리 메모리 관리 (0) | 2023.06.18 |
[쉽게 배우는 운영체제] Chapter 05. 프로세스 동기화 (0) | 2023.04.22 |
[쉽게 배우는 운영체제] Chapter 04. CPU 스케줄링 (0) | 2023.04.21 |
[쉽게 배우는 운영체제] Chapter 03. 프로세스와 스레드 (0) | 2023.04.20 |