-
정보처리기사[실기 핵심 정리] - 병행 프로세스와 교착상태용어 정리 2024. 4. 22. 18:57
병행 프로세스
1) 병행 프로세스의 개념
- 두 개 이상의 프로세스가 동시에 존재하며 실행 상태에 있는 것
2) 문제점과 해결책
- 문제점
- 동시에 여러 프로세스를 처리할때 한정된 자원에 대한 사용 순서 등의 문제가 발생할 수 있다.
- 문제 해결책
- 임계 구역
- 상호배제 기법
- 동기화 기법
병행 프로세스 문제 해결책
1) 임계 구역(Critical Section)
- 여러 프로세스가 공유하는 데이터나 자원에 대해 한 번에 하나의 프로세스만이 접근할 수 있도록 지정된 영역
- 특징
- 특정 프로세스가 독점할 수 없다
- 진입 요청시 일정 시간 내에 진입을 허락해야 한다.
2) 상호 배제(Mutual Exclusion)
- 한 프로세스가 공유 메모리나 파일을 사용 중일 때 다른 프로세스가 사용하지 못하도록 하는 제어 기접
- 상호 배제 기법
- 데커의 알고리즘
- 피터슨의 알고리즘
- 다익스트라 알고리즘
- 램포트의 베이커리 알고리즘
3) 동기화 기법
- 스레드들에게 하나의 자원에 대한 처리 권한을 주거나 순서를 조정해주는 기법
- 세마포어(Semaphore)
- 프로세스에 제어신호를 전달하여 순서대로 작업을 수행하도록 하는 기법
- P와 V라는 2개의 연산에 의해서 동기화를 유지시키고, 상호배제의 원리를 보장
- P는 임계구역에 들어가기 전에 수행되고, V는 임계 구역에서 나올 때 수행
- 종류 : 계수 세마포어, 이진 세마포어
- 모니터(Monitor)
- 프로그래밍 언어 수준에서 동시성을 제어하는 상호 베제 기법
- Wait와 Signal 연산이 사용
교착상태(Dead Lock)
1) 교착상태의 개념
- 상호 배제에 의해 나타나는 문제점으로, 여러 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스의 자원을 요구하며 무한정 기다리는 현상
2) 교착상태 발생 조건
발생 조건 설명 상호배제
(Mutual Exclusion)한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있다. 점유와 대기
(Hold & Wait)자원을 점유하면서 다른 프로세스에 할당된 자원을 추가로 요구하며 대기한다. 비선점
(Nonpreemption)프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없다. 환형대기
(Circular Wait)각 프로세스가 순차적으로 다음 프로세스가 요구하는 자원을 가지고 있는 상태 3) 교착상태 해결 방법
해결 방법 설명 예방 기법 교착 상태가 발생하지 않도록 시스템을 사전에 제어하는 방법 회피 기법 교착 상태 발생 가능성을 피하는 방법으로, 주로 은행원 알고리즘이 사용 발견 기법 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 방법 회복 기법 교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 회복하는 방법 '용어 정리' 카테고리의 다른 글
정보처리기사[실기 핵심 정리] - 환경변수와 로그파일 (0) 2024.04.22 정보처리기사[실기 핵심 정리] - 디스크 스케줄링(Disk Scheduling) (0) 2024.04.22 정보처리기사[실기 핵심 정리] - 프로세스 (0) 2024.04.22 정보처리기사[실기 핵심 정리] - 가상기억장치 (0) 2024.04.22 정보처리기사[실기 핵심 정리] - 메모리 관리 (0) 2024.04.22