stemmmm / cs-study

컴퓨터 공학을 모의 면접으로 학습하는 스터디
2 stars 0 forks source link

8주차 #8

Open stemmmm opened 1 month ago

stemmmm commented 1 month ago
jihojivenchy commented 3 weeks ago

정의

데드락의 발생 원인

  1. 상호 배제 (Mutual Exclusion): 한 번에 하나의 프로세스만 자원에 접근할 수 있도록 함
  2. 점유 대기 (Hold and Wait): 자원을 가진 프로세스가 다른 자원의 할당을 기다릴 수 있음
  3. 비선점 (No Preemption): 프로세스가 자원을 강제로 빼앗길 수 없음
  4. 순환 대기 (Circular Wait): 서로 자원을 기다리는 프로세스들이 원형 고리처럼 연결되어 있음

1. 상호 배제

왜 데드락의 발생 원인이 되는 것인지?

2. 점유 대기

왜 데드락의 발생 원인이 되는 것인지?

3. 비선점

왜 데드락의 발생 원인이 되는 것인지?

4. 순환 대기

image.png

왜 데드락의 발생 원인이 되는 것인지?

데드락 해결 방법

1. 예방

[상호 배제 제거]

[점유 대기 제거]

[비선점 해제]

[순환 대기 방지]

2. 회피

[안정 상태와 비완전 상태]

[은행가 알고리즘]

[은행가 알고리즘 작동 방식]

  1. 최대 자원 요구량 정의: 각 프로세스가 필요로 할 수 있는 자원의 최대 요구량을 미리 선언함.
  2. 현재 자원 상태 평가: 자원이 요청되면, 자원 할당 후에도 모든 프로세스가 실행을 마칠 수 있을지를 평가
  3. 자원 할당 후, 안전성 평가: 자원 할당 후에 각 프로세스가 자원을 순서대로 얻을 수 있는지를 평가함.

[은행가 알고리즘 예시]

[장점]

[단점]

3. 탐지 및 복구

[탐지 방법]

[장점과 단점]