📍1. 통합 전략
1-1. 통합 전략
✔️자원들을 유형에 따라 서로 다른 클래스로 구분하자
✔️자원 클래스들 간에는 할당 순서를 두어 환형 대기를 막자
✔️클래스 내부의 자원들 간에는 각 클래스에 적절한 교착상태 해결 방법을 사용하자
1-2. 시스템 자원들의 클래스
✔️스왑 공간: 보조기억장치 상의 블록
✔️프로세스 자원: 파일 같은 할당 가능한 장치 자원
✔️메인 메모리: 페이지나 세그먼트 등의 단위로 프로세스들에게 할당되는 자원
✔️내부 자원: 입출력 채널과 같은 자원
1-3. 각 자원 클래스에 적용될 수 있는 전략
1️⃣자원 클래스들 간에 할당 순서
스왑 공간 ➡️ 프로세스 자원 ➡️ 메인 메모리 ➡️ 내부 자원
2️⃣스왑 공간: 점유와 대기 조건을 제거한 예방 방법 사용
- 필요한 스왑 공간의 크기를 미리 알 수 있기 때문에 필요한 모든 자원을 한꺼번에 요청하게 하여 점유와 대기 조건을 없앨 수 있음
3️⃣프로세스 자원: 교착상태 회피 방법 사용
- 프로세스가 이 클래스에 속한 자원의 예상 사용 시간을 미리 예측할 수 있으며, 이 시간을 운영체제에게 알릴 수 있어 사용 가능함
4️⃣메인 메모리: 선점을 허용하는 예방 방법 사용
- 프로세스가 블록되면 그 프로세스의 수행 이미지는 보조기억장치로 스왑되고, 프로세스가 사용하던 메모리 공간을 빼앗음
5️⃣내부 자원: 자원 할당 순서를 미리 결정하는 교착상태 예방 방법 사용
📍2. 식사하는 철학자 문제
✔️교착상태에 빠진 상황
- 모든 철학자가 왼쪽 포크를 가진 상태에서 오른쪽 포크를 오른쪽 포크를 요청
- 철학자(프로세스)와 포크(자원) 간의 할당 요청 관계에 있어서 환형대기 발생
✔️5명의 철학자들이 동시에 식탁에 앉고 동시에 왼쪽 포크를 집는 경우
2-1. 세마포어를 이용한 교착상태 해결 방안
테이블에 4명 이하만 앉도록 제한
2-2. 모니터(monitor)를 이용한 교착상태 해결 방안
'운영체제' 카테고리의 다른 글
[운영체제] 7. 교착상태 - (4) 교착상태 발견 및 복구 (0) | 2025.05.01 |
---|---|
[운영체제] 7. 교착상태 - (3) 교착상태 회피 (0) | 2025.05.01 |
[운영체제] 7. 교착상태 - (2) 교착상태 해결 (0) | 2025.05.01 |
[운영체제] 7. 교착상태 - (1) 교착상태 개념 (0) | 2025.05.01 |
[운영체제] 4. 스레드 관리 - (5) 멀티스레딩에 관한 이슈 (0) | 2025.04.17 |