병행 프로세스
* 상호 간 제어 없이 동시에 실행상태에 있는 두 개 이상의 프로세스를 의미
* 한정된 자원에 대한 사용순서 등 여러가지 문제가 발생할 수 있는 데 이 때 임계영역, 상호배제 기법, 동기화 기법 이용
1. 단일 프로세스 내의 병행수행
- 우선순위 그래프 (선행 그래프)
- 제약을 규칙적(논리적)으로 표현한 것
- 어떤 계산의 일부에 대한 우선순위 제약조건을 정의하는 데 유용한 방법이지만 2차원이므로 프로그래밍 언어에 사용하기는 어렵다
- Fork, join 구조
- 병행을 언어적 표현으로 명시함으로써 프로그램을 구성하는 여러 문장의 선행관계를 표현할 수 있도록 함
- Fork
- 프로그램에서 두 개의 병행수행을 만드는 명령어
- 단일연산을 두 개의 독립적인 연산으로 분할
- join
- 병행하는 여러 개의 연산을 하나로 재결합
- join할 연산의 수를 명시하는 매개변수를 가진다
- 병행문 (concurrent statement)
- 프로세스 하나가 여러 개의 병렬 프로세스 단위로 나누어졌다가 다시 하나로 모아지는 것을 나타내는 고급언어구조
- parbegin/parend 등이 있다
- parbegin S1; S2; ... ... Sn; parend;
- 각각의 Si는 단일명령 문장이고 parbegin과 parend 사이에 있는 모든 명령문은 병행으로 수행가능
단일 프로세서 병행수행 정리
종류 | 내용 |
우선순위 그래프 | 제약(선행관계)을 그래프로 표현 |
fork, join | fork 로 연산 분기 join으로 연산 합침 |
병행문 | parbegin - parend parbegin과 parend 사이에 있는 모든 명령은 병행수행 가능 |
2. 멀티프로세싱 환경
* 다수의 프로세서를 이용한 동시 수행 과정을 통해 시스템의 성능을 향상
* 각각의 프로세서는 자체 계산능력과 공유 기억장소를 통해 주변장치를 공동으로 이용
* 프로세스가 두 개 이상 존재하며 하드웨어적 관점에서의 병행처리
- Master/Slave 환경
- 다수의 프로세서 중 하나의 프로세서가 '주(Master)'으로 지정되어 운영체제를 실행하고 연산과 입출력 수행
- 나머지 프로세서들은 사용자 수준의 프로그램을 실행할 수 있는 '종(slave)'으로 지정되어 연산만 수행
- 구현하기 가장 쉬우나 프로세서들이 동등한 입장이 아니여서 (master에 종속되어 수행되기 때문에) 하드웨어를 최적으로 사용할 수 없다
- 연식결합 시스템
- 약결합 (loosely coupled), 느슨한 결합
- 2개 이상의 독립된 컴퓨터시스템이 각각 독립적으로 운영, 통신선을 이용해 연결되어 있는 형태
- 분산처리 시스템 구조
- 경식결합 시스템
- 강결합 (tightly coupled)
- 2개 이상의 프로세서들이 메모리와 클록을 공유하는 시스템
- 다중 프로세서 구조
- 대칭 다중처리 구조
- 모든 프로세서가 동등한 입장의 대칭성을 가지는 구조
- 구현 및 수행이 매우 복잡하지만 가장 강력한 시스템
- 여러 프로세서가 한 운영체제를 동시에 수행할 수 있어 재진입 코드와 상호배제가 필요하며 대칭적이므로 다른 기법보다 작업부하를 효과적으로 분산 가능하다
4. 분리 수행
- 각 프로세서들이 독립적으로 자원을 가지는 단일 프로세서 시스템 처럼 독자적인 운영체제와 기능을 가지는 형태
- 각 프로세서 운영체제는 독립적으로 자신의 테이블을 가지고 있어 자원에 대한 경쟁이 적다
멀티 프로세싱 병행 프로세스 정리
종류 | 내용 |
Master / Slave | * 프로세서들이 주종관계를 이룬다 * 주 = 운영체제, 종 = 사용자 프로그램 |
연식결합 | * 각 컴퓨터시스템이 네트워크 (통신선)으로 연결 |
경식결합 | * 2개 이상의 프로세서들이 메모리와 클록을 공유 |
대칭 다중처리 구조 | * 모든 프로세서가 동등한 입장의 대칭성을 가짐 |
분리 수행 | * 프로세서마다 독자적인 운영체제를 가짐 |
'cs' 카테고리의 다른 글
OS - 교착상태 (0) | 2022.05.16 |
---|---|
OS - 병행 프로세스 문제 해결 (0) | 2022.05.15 |
OS - 스케줄링 알고리즘 (0) | 2022.05.14 |
OS - 프로세스 (0) | 2022.05.14 |
OS - 국부성 (0) | 2022.05.14 |