Deadlock - 1

Jeong seulho·2023년 2월 20일
0

운영체제

목록 보기
13/35

📌blocked/asleep state

  • 프로세스가 특정 이벤트를 기다리는 상태
  • 프로세스가 필요한 자원을 기다리는 상태

📌Deadlock state

  • 프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우
    • 프로세스가 deadlock 상태이다
  • 시스템내의 deadlock에 빠진 프로세스가 있는 경우
    • 시스템이 deadlock 상태이다

starvation 과 deadlock

  • deadlock : 불가능한 이벤트를 대기(가능성 0)
  • starvation : cpu할당을 대기(오래 기다리는 것 가능성이 0은 아님)

📌자원의 분류

📖선점 가능 여부에 따른 분류

  • preemptible resources
    • 선점 당한 후 돌아와도 문제가 없는 자원
    • CPU, 메모리 등
    • cpu의 context saving, restoring을 하기 때문
  • non-preemptible resources
    • 선점 당한 후 문제가 발생하는 자원
    • 디스크
    • usb에 복사중에 뺏기면 오류남

📖할당 단위에 따른 분류

  • total allocation resources
    • 자원 전체를 프로세스에게 할당
    • CPU(single core기준), disk
  • partitioned allocation resources
    • 하나의 자원을 여러 조각으로 나누어 프로세스에 할당
    • 메모리

📖동시 사용 가능 여부에 따른 분류

  • exclusive allocation resources
    • 한 순간에 한 프로세스만 사용 가능한 자원
    • CPU, 메모리, 디스크
  • shared allocation resources
    • 여러 프로세스가 동시에 사용 가능한 자원
    • 프로그램(sw), shared data

📖재사용 가능 여부에 따른 분류

  • SR(serially-reusable Resources)
    • 시스템 내에 항상 존재하는 자원
    • 사용이 끝나면 다른 프로세스가 사용 가능
    • CPU, 메모리, 디스크, 프로그램
  • CR(consumable Resources)
    • 한 프로세스가 사용한 후에 사라지는 자원
    • signal, message

deadlock을 발생시킬 수 있는 자원의 종류

  • non-preemptible resources
  • exclusive allocation resources
  • serially-reusable resources
  • consumable resources

0개의 댓글