ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS - 은행원 알고리즘
    CS/OS 2021. 2. 20. 19:37

    은행원 알고리즘


    은행원 알고리즘 이란?

    • 교착상태 회피 알고리즘이다.
    • OS는 안전상태를 유지할 수 있는 요구만을 수락하고 불안정한 상태를 초래할 사용자의 요구는 나중에 수락할 수 있는 상태가 될때까지 계속 거절한다.
    • 동작 과정이 은행에 돈을 빌리러 온 고객들과 돈을 빌려줄 은행의 관계와 유사하다.

     

    안전상태

    • 안전상태: 시스템이 교착상태를 일으키지 않으면서 각 프로세스가 요구한 최대 요구량만큼 필요한 자원을 할당해 줄 수 있는 상태이다. 
    • 불안전상태: 교착상태이기 위한 조건중에 하나로 불안전 상태에서만 교착상태가 발생한다. 그러나 불안전 상태라고 해서 무조건 교착상태가 발생하는 것은 아니다. 
    • 시스템이 항상 안전상태를 유지할 수 있게 하는 것이 바로 은행원 알고리즘이다.

     

    은행원 알고리즘 필요 요건

    • Max: 각 고객들이 은행에게 빌려달라고 요구하는 돈(자원).
    • Allocated: 각 고객들이 현재 빌린 돈(자원).
    • Available: 은행이 보유한 돈, 빌려줄 수 있는 돈(자원).

     

    은행원 알고리즘의 장단점

    • 장점
      1. 항상 안전상태를 유지할 수 있다.
    • 단점
      1. 최대 자원 요구량을 미리 알아야 한다. -> 안전 상태인지 불안전 상태인지를 판단하는데 필요하다. 
      2. 항상 불안전 상태를 방지해야 하므로 자원 이용도가 낮다. -> 불안전 상태가 될 가능성이 있다면 자원을 이용하지 않으므로 이용도가 낮아진다.

     

    reference

    velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EB%AA%A8%EC%9D%8C

    jhnyang.tistory.com/102

     

    'CS > OS' 카테고리의 다른 글

    [OS] CPU 작동원리  (0) 2021.08.06
    [OS]Process VS Thread  (0) 2021.07.10
    OS - CPU스케줄링  (0) 2021.02.16
    OS - 프로세스와 쓰레드  (0) 2021.02.15
    OS - 메모리  (0) 2021.02.09

    댓글

Designed by Tistory.