상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 병행 프로세스

정보처리기사 공부지식

by 소란한소란 2024. 7. 18. 20:10

본문

728x90

병행 프로세스

병행 프로세스는 컴퓨터 과학에서 매우 중요한 개념 중 하나입니다. 두 개 이상의 프로세스가 동시에 존재하며 실행 상태에 있는 것을 의미하죠. 여기서는 병행 프로세스의 문제와 이를 해결하기 위한 다양한 방법들을 알아보겠습니다.


병행 프로세스 문제 해결책

 

  • 임계구역(Critical Section)
    • 공유 자원에 대해서 한 순간에는 반드시 하나의 프로세스만 사용하도록 지정한 영역
  • 상호 배제(Mutual Exclusion)
    • 하나의 프로세스가 공유 메모리 혹은 공유 파일을 사용하고 있을 때 다른 프로세스들이 사용하지 못하도록 배제시키는 제어 기법

 

상호 배제 기법
  • 데커의 알고리즘
  • 피터슨의 알고리즘
  • 다익스트라 알고리즘
  • 램포트의 베어커리 알고리즘

 

동기화 기법
  • 세마포어(Semaphore)
    • 각 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법
    • 종류 : 계수 세마포어, 이진 세마포어
  • 모니터(Monitor)
    • 프로그래밍 언어 수준에서 동시성을 제어하여 타이밍 오류를 해결한 상호 배제 기법

 

교착상태

 

  • 개념
    • 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

교착상태 프로세스

 

교착상태 발생 조건 (★)
발생 조건 설명
상호배제 (Mutual Exclusion) 한 번에 한 개의 프로세스만이 공유자원을
사용할 수 있어야 함.
점유와 대기 (Hold & Wait) 자원을 점유하고 있으면서 다른 프로세스에 할당되어 있는
자원을 추가로 요구하며 대기
비선점 (Nonpreemption) 프로세스에 할당된 자원은 사용이 끝날 때까지
강제로 빼앗을 수 없음

 

 

교착상태 해결 방법
해결 방법 설명
예방 기법 (Prevention) 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법
회피 기법 (Avoidance) 교착상태가 발생하려고 할 때 교착상태 가능을 피해가는 방법
주로 은행원 알고리즘(Banker's Algorithm)이 사용
발견 기법 (Detection) 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것
회복 기법 (Recovery) 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

 


병행 프로세스는 컴퓨터 시스템에서 효율적인 자원 관리를 위해 꼭 필요한 개념입니다. 이를 잘 이해하고 적절한 해결책을 적용하는 것은 시스템의 안정성과 성능을 높이는 데 큰 도움이 됩니다. 2024년에 정보처리기사 따기 위해 노력하는 모두에게 행운을 빕니다!

 

 

728x90

관련글 더보기