운영체제5

김민정·2022년 5월 22일
0

운영체제

목록 보기
5/5
  1. 교착상태란 어떤 상태입니까?
    deadlock이라고 불리는데 프로세서들이 자원을 요구하고 있을 때 어떤 프로세서들도 자원을 가져갈 수 없어 프로세스가 발생할 수 없는 상태를 deadlock 상태에 빠진다고 합니다.
  2. 운영체제에서 자원이란 어떤 의미입니까?
    하드웨어와 소프트웨어 자원으로 분류할 수 있는데 데드락에 입장에서는 선점가능한가, 할당 단위에 따라 사용할 수 있는가, 동시 사용이 가능한가, 재사용이 가능한가로 분류할 수 있다.
  3. 비선점할 수 있는 자원이 deadlock을 발생시킬 수 있는 이유는 무엇인가?
    비선점하는 자원은 우선순위에 따라 자원의 사용이 바뀌지 않기 때문에 다른 프로세스가 자원을 요청하면 못 쓰게 되니깐 deadlock을 발생시키리 수 있습니다.
  4. 데드락은 직관적으로 확인이 가능한가?
    그래프 모델이나 status transitional model로 확인이 가능합니다.
  5. 데드락은 언제 발생합니까?
    자원 자체가 비선점형 자원이고 독립적으로 사용될때, 프로세스가 선형구조로 돌고 있으며 자원이 아무것도 없거나 완전히 가지고 있는 상태가 아니라 하나를 가지고 다른 자원을 필요로할 때 데드락이 발생합니다.
  6. 데드락은 어떻게 해결할 수 있습니까?
    데드락을 예방할 수 있습니다. 4개의 조건 중 하나를 없애주면 됩니다.
    6-1. 모든 자원을 공유하도록 허용해야 합니다. -> 현실적으로 불가능합니다.
    6-2. 모든 자원에 선점을 허용합니다. -> 이것도 현실적으로 불가능합니다.
    6-3. 필요한 자원을 모두 한번에 할당합니다. -> 무한 대기 현상이 발생할 수 있습니다.
    6-4. 순환 대기를 끊어줍니다. -> 어떻게 할 수 있습니까?
    6-4-1. 자원들의 순서를 부여해서 순서 증가 방향으로(한 방향으로만 )자원을 요청하면 순환대기는 되지 않는다고 합니다)
  7. 데드락을 회피하기 위한 알고리즘이 있습니다. 무엇입니까?
    7-1. 다익스트라 알고리즘 중에 은행원 알고리즘이 있습니다. - 무조건적인 신뢰상태가 있어야 합니다.
  8. 데드락을 허용하고 복구할 수 있습니까?
    8-1. 시스템이 데드락 상태인지 주기적으로 확인합니다(resource allocation graph를 사용해서)
  9. swapping
    프로세서 할당이 끝나고 수행완료된 프로세스는 SWAP-DEVICE로 보내고(swap-out) 새롭게 시작하는 프로세스는 메모리에 적재하는 과정(swap-in)을 스와핑이라고 한다.

0개의 댓글