정보처리기사

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

PEAZH 2024. 7. 17. 15:29
반응형

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

반응형