[정보처리기사실기] 병행 프로세스와 교착상태

    반응형

    3과목. 운영체제

    📒 05. 병행 프로세스와 교착상태


    1. 병행 프로세스

    (1) 병행 프로세스의 개념

    • 두 개 이상의 프로세스가 동시에 존재하며 실행 상태에 있는 것

    (2) 병행 프로세스의 문제점

      • 동시에 여러 프로세스를 처리할 때 한정된 자원에 대한 사용 순서 등의 문제가 발생할 수 있음

    (3) 병행 프로세스의 해결책

    • a) 임계 구역(Critical Section)
      - 여러 프로세스가 공유하는 데이터나 자원에 대해 한 번에 하나의 프로세스만이 접근할 수 있도록 지정된 영역
      - 특정 프로세스가 독점할 수 없고, 진입 요청 시 일정 시간 내에 진입을 허락해야 함
    • b) 상호 배제 기법(Mutual Exclusion)
      - 한 프로세스가 공유 메모리나 파일을 사용 중일 때, 다른 프로세스가 사용하지 못하도록 하는 제어 기법
      - 데커의 알고리즘, 피터슨의 알고리즘, 다익스트라 알고리즘, 램포트의 베이커리 알고리즘
    • c) 동기화 기법
      - 스레드들에게 하나의 자원에 대한 처리 권한을 주거나 순서를 조정해주는 기법
      - 세마포어 : 프로세스에게 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법
      - 모니터 : 프로그래밍 언어 수준에서 동시성을 제어하는 상호 배제 기법

     

    2. 교착상태(Dead Lock)

    (1) 교착상태의 개념

    • 여러 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스의 자원을 요구하며 무한정 기다리는 현상
    • 서로 자원을 가지고 있는 상태에서 남의 자원을 요청하는 것

    (2) 교착상태 발생 조건

    • a) 상호 배제(Mutual Exclusion)
      - 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있음
    • b) 점유와 대기(Hold & Wait)
      - 자원을 점유하면서 다른 프로세스에 할당된 자원을 추가로 요구하며 대기
    • c) 비선점(Non-Preemption)
      - 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음
    • d) 환형대기(Circular Wait)
      - 순차적으로 다음 프로세스가 요구하는 자원을 가지고 있는 상태

    (3) 교착상태 해결 방법

    • a) 예방 기법(Prevention)
      - 교착 상태가 발생하지 않도록 시스템을 사전에 제어하는 방법
    • b) 회피 기법(Avoidance)
      - 교착 상태 발생 가능성을 피하는 방법으로, 주로 은행원 알고리즘 사용
    • c) 발견 기법(Detection)
      - 교착 상태가 발생했는지 점검하여 발견하는 방법
    • d) 회복 기법(Recovery)
      - 교착 상태르르 일으킨 프로세스를 종료하거나 선점하여 회복하는 방법

     

     

    참고자료

    흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
     

    1억뷰 N잡

    [1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

    www.njobler.net

    반응형

    댓글