교착 상태4 [운영체제] 7. 교착상태 - (5) 교착상태에 대한 통합적인 전략 📍1. 통합 전략1-1. 통합 전략✔️자원들을 유형에 따라 서로 다른 클래스로 구분하자 ✔️자원 클래스들 간에는 할당 순서를 두어 환형 대기를 막자 ✔️클래스 내부의 자원들 간에는 각 클래스에 적절한 교착상태 해결 방법을 사용하자 1-2. 시스템 자원들의 클래스✔️스왑 공간: 보조기억장치 상의 블록 ✔️프로세스 자원: 파일 같은 할당 가능한 장치 자원 ✔️메인 메모리: 페이지나 세그먼트 등의 단위로 프로세스들에게 할당되는 자원 ✔️내부 자원: 입출력 채널과 같은 자원 1-3. 각 자원 클래스에 적용될 수 있는 전략1️⃣자원 클래스들 간에 할당 순서스왑 공간 ➡️ 프로세스 자원 ➡️ 메인 메모리 ➡️ 내부 자원2️⃣스왑 공간: 점유와 대기 조건을 제거한 예방 방법 사용- 필요한 스왑 공간의 크기를 미리 .. 2025. 5. 1. [운영체제] 7. 교착상태 - (4) 교착상태 발견 및 복구 📍1. 교착상태 발견 전략요청된 자원들이 할당 가능한 상황이면 항상 프로세스에게 할당함 1-1. 자원 할당이 거절될 때마다 발견 알고리즘 수행✔️교착상태를 빠른 시점에 발견할 수 있음 ✔️발견 알고리즘이 간단함 (단일 환형 대기) ✔️잦은 검사로 오버헤드가 큼 1-2. 주기적 또는 기준에 의해 발견 알고리즘 수행✔️시스템의 처리율 및 처리기 이용률이 저하 ✔️다중 환형 대기와 연관되어 알고리즘이 복잡함 📍2. 교착상태 발견 알고리즘2-1. 필요한 벡터 및 행렬 ✔️자원 벡터(R) : 시스템에 존재하는 자원의 전체 개수 ✔️가용 벡터(V) : 현재 사용 가능한 자원의 개수 ✔️할당 행렬(A) : 프로세스가 할당 받아 점유하고 있는 자원의 개수 ✔️요청 행렬(Q) : 프로세스가 요청한 자원의 개수 2-.. 2025. 5. 1. [운영체제] 7. 교착상태 - (3) 교착상태 회피 ✔️ 운영체제는 교착상태 발생 3가지 필요조건을 지키도록 강제함 📍1. 교착상태 회피 핵심 아이디어✔️운영체제는 프로세스의 현재 자원 할당 요청을 승인하면, 잠재적인(가능성) 교착상태가 유발될지 또는 아닐지를 동적으로 조사함✔️운영체제는 수행 중인 모든 프로세스의 미래 자원 요청 정보를 미리 알아야 함 📍2. 교착상태 회피를 위한 2가지 접근법1️⃣프로세스 시작 거부(process initiation denial)2️⃣프로세스 자원 할당 거부(process resource allocation denial) 📍3. 프로세스 시작 거부 방법✔️프로세스가 시작하려 할 때 그 프로세스가 수행 중 필요한 모든 자원들에 대해 교착상태 발생의 가능성이 있으면, 프로세스를 시작시키지 않음✔️모든 프로세스들이 .. 2025. 5. 1. [운영체제] 7. 교착상태 - (1) 교착상태 개념 📍1. 교착상태(deadlock)자원을 소유한 2개 이상의 프로세스 사이에서, 각 프로세스는 다른 프로세스가 소유한 자원을 요청하여 무한정 대기하는 상태 📍2. 교착상태 발생 위치✔️사용자가 작성한 응용 프로그램에서 주로 발생 - 정교하지 못한 코딩에서 비롯✔️커널 내에서도 발생- 매우 정교하게 작성되기 때문에 매우 드물게 발생✔️교착상태 발생을 방지하는 컴퓨터 시스템은 거의 없음- 막는데 많은 시간과 공간 비용 때문 📍3. 컴퓨터 시스템에 잠재된 교착상태 유발 요인1️⃣공유 자원은 교착 상태의 발생지✔️교착상태는 다중프로세스가 자원을 동시에 사용하려는 충돌이 요인✔️소프트웨어 자원: 뮤텍스, 스핀락, 세마포, 파일, 데이터베이스, 파일 락✔️하드웨어 자원: 프린터, 메모리, 처리기 등2️⃣자원.. 2025. 5. 1. 이전 1 다음