New World
[운영체제#4,5] 병행 프로세스 본문
01 병행 프로세스의 개념
병행성 : 여러 개의 프로세스 또는 쓰레드가 동시에 실행되는 시스템의 특성
- 형식 : 하나의 CPU에서 인터러빙 형식, 여러 개의 CPU에서 병렬 처리 형식(강결합 - 공유 메모리, 약결합 - 분산 메모리)
- 문제
-- 병행 프로세스들이 상호작용하는 경우(공유자원 점유, 동기화, 통신 문제)
-- 상황에 따른 구분(단일 프로세스 내, 프로세스 간)
단일 프로세스 내의 병행성
우선순위 그래프 | |
장점 : 문장 방향 있는 간선 : 우선순위 관계 |
|
Fork / Join 구조 | |
fork L : 2개의 병행 수행 (레이블 L 위치, fork 명령어 다음) join n : 병행하는 n개의 흐름을 하나로 재결합 |
|
병행문 | |
1개의 프로세스가 여러 가닥의 병렬 프로세스로 분할되었다가 하나로 결합 parbegin / parend 문 |
비동기 병행 프로세스 : 값을 공유하여 원래 나와야 하는 값과 차이 발생
02 동기화와 임계영역
프로세스 동기화 : 2개 이상의 프로세스에 대한 처리순서를 결정
임계영역 : 2개 이상의 프로세스가 동시에 액세스하면 안되는(상호배제) 공유자원을 액세스하는 코드영역
해결방안
- 상호배제 : 프로세스가 임계영역에서 실행 중인 경우 어떤 프로세스도 임계영역에서 실행 X
- 진행 : 임계영역에서 실행 중인 프로세스가 없고 여러 프로세스가 임계영역에 진입하고자 할 때 그 중에서 적절히 한 프로세스를 결정해야 하며 이 결정은 무한정 미룰 수 없음
- 제한된 대기 : 한 프로세스가 임계영역 진입 요청을 한 후 수락될 때까지 다른 프로세스가 임계영역 진입을 허가 받는 횟수는 제한
문제 해결법
- Test and Set : 상호배제의 하드웨어적 해결 방법, 분리가 불가능한 단일 기계 명령어(원자적으로 수행)
문제점
- 많은 프로세스가 임계영역에 들어가기 원할 때, 기아 발생
- Busy waiting을 함으로써 다른 작업이 사용할 수 있는 CPU 사이클을 낭비
※ 기아 : 프로세스가 필요한 자원할당을 받지 못하고 계속적으로 대기하게 되는 상황
- 세마포어
세마포어 s
- 사용 가능한 자원의 수 또는 잠김/열림 등의 상태를 나타내는 값을 저장하는 정수형 공용변수
- 세마포어 s는 두 표준단위 연산 P와 V에 의해서만 접근됨
동기화 문제해결
정답 : 4 4. 분산 메모리 구조에서도 병행 프로세스 처리 가능 |
|
정답 : 2 1. 상호배제 공유 자원을 액세스하는 코드 여역 |
|
정답 : 1 1. 임계 영역 해결을 위한 도구 |
|
정답 : 2 | |
정답 : 2 | |
정답 : 3 | |
정답 : 1 | |
정답 : 2 | |
정답 : 4 | |
정답 : 3 |
01 프로세스의 상호협력
병행 프로세스 : 공통 작업을 수행하기 위해 서로 협동하는 경우
판독기/기록기의 문제 (=> 상호배제 필요)
- 우선순위에 따른 문제의 변형
- 제1판독기/기록기 문제(판독기 우선) : 기록기의 기아상태 유발 가능
- 제2판독기/기록기 문제(기록기 우선) : 판독기의 기아상태 유발 가능
02 프로세스 간의 통신
병행 프로세스 사이의 통신을 위한 방법 (단일 운영체제 내에서 동시에 사용 가능)
공유기억장치 기법 | 메시지 시스템 기법 |
고속통신 가능 | 소량의 데이터 교환 |
책임 : 응용 프로그래머 | 책임 : 운영체제 |
프로세스 간에 공유 변수를 이용해 정보를 교환 | 메시지 교환방식으로 정보를 교환, send/recive 연산자 |
메시지 시스템 기법의 예외조건 처리
프로세스 종료 | 메시지 상실 | 메시지 혼합 |
정답 : 4 | |
정답 : 1 2, 3, 4는 메시지 시스템 기법에 대한 설명 |
|
정답 : 4 |
'Self-Study > Study' 카테고리의 다른 글
[운영체제#8] 메모리 관리 (0) | 2022.06.01 |
---|---|
[운영체제#6, 7] 교착상태 (0) | 2022.06.01 |
[정보통신망#2, 3, 4] 컴퓨터통신망의 기초와 요소 (0) | 2022.05.31 |
[정보통신망#1] 컴퓨터통신망의 소개 (0) | 2022.05.31 |
[방통대] 정리집 | 디지털논리회로 (0) | 2022.05.27 |