본문 바로가기

🔥 🔥

[강의] 그림으로 쉽게 배우는 운영체제 - 4. 데드락

반응형


1. 데드락

  • 교착상태
  • 여러 프로세스가 서로 다른 프로세스의 작업이 긑나기를 기다리다가 아무도 작업을 진행하지 못하는 상태
    • 교착상태의 예시
      • 교착상태의 필요조건
        • 상후배제
          • 프로세스가 한 리소스를 점유했다면 다른 프로세스에게 공유되면 안됨
        • 비선점
          • 프로세스 a가 리소스를 점유하고 있는데 b가 리소스를 빼앗을 수 없음
        • 점유와 대기
          • 프로세스가 리소스 a를 가지고 있는 상태에서 리소스 b를 원하는 상태여야함
        • 원형 대기
          • 점유와 대기를 하는 프로세스들의 관계가 원형을 이루고 있다는 것
      ⇒ 한가지라도 충족되지 않는다면 교착상태가 발생하지 않음
      • 예방은 노답 > 해결을 하자.

2. 데드락 해결

  • 교착상태 회피
    • 프로세스들에게 자원을 할당할 때 어느 정도 자원을 할당해야 교착상태가 발생하는지 파악해서 교착상태가 발생하지 않는 수준의 자원을 할당
    • 전체 자원의 수 와 할당된 자원의 수를 기준으로 안전상태, 불안전상태로 나뉨
    ⇒ 교착상태 발생은 허용하지만, 해결하는 방식을 연구 
    • 가벼운 교착상태 검출
      • 일정시간동안 작업을 진행하지 않는다면 교착상태가 발생했다고 간주 → 해결
        • 해결 : 일정 시점마다 체크포인트를 만들어 작업을 저장하고 해당 포인트로 롤백
    • 무거운 교착상태 검출
      • 자원할당 그래프를 이용하여 현재 운영체제에서 프로세스가 어떤 자원을 사용하는지 지켜보고 발생시 → 해결
        • 해결 : 그래프를 이용해서 순환구조가 생기는 그래프를 찾고 교착상태를 일으킨 프로세스를 강제로 종료 + 체크포인트로 롤백
      • 무거운 교착상태 검출은 지속석으로 그래프유지, 검사를 위해 오버헤드가 발생하지만, 가벼운 교착상태 검출에서 발생하는 억울하게 종료되는 프로세스는 발생하지 않음

 


 

해당 글은 [인프런 - 그림으로 쉽게 배우는 운영체제] 강의를 듣고 정리한 글 입니다.

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

 

그림으로 쉽게 배우는 운영체제 | 감자 - 인프런

감자 | 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., 개발자의 필수 지식 운영체제를 배워서뿌리 깊은 나무가 되어 봐요 🌳 강의 주제 📖 [임베딩 영

www.inflearn.com