4. 병행 프로세스와 상호배제
- Computer/OS
- 2020. 2. 19. 11:25
1. 병행프로세스
- 프로세스 여러 개가 동시에 실행되면 병행 프로세스라고 부른다.
- 병행 프로세스들은 제한된 자원을 공유하기 위해 자주 상호작용한다.
- 상호작용하는 프로세스는 순서에 맞게 실행되도록 동기화 시켜야 한다.
- 다중 프로세싱 시스템에서는 프로세서들이 동일한 자원에 접근할 경우 충돌이 발생할 수 있다. 따라서 프로세서 간의 충돌을 해결해주는 프로세스 동기화 알고리즘이 필요하다. (선행그래프)
2. 상호배제와 동기화
- 특정 공유자원을 한 순간에 한 개의 프로세스만 사용할 수 있다고 했을 때, 프로세스 하나가 공유 데이터에 접근하는 동안 다른 프로세스가 해당 데이터를 접근할 수 없게 하는 것을 상호배제(Mutual Exclusion) 라 한다.
- 공유자원을 동시에 사용하지 못하게 실행을 제어하는 기법을 프로세스 간 동기화라 한다.
임계영역
- 프린터처럼 둘 이상의 프로세스가 공유할 수 없는 자원을 임계자원 이라고하며 프로그램에서 임계자원을 이용하는 부분을 임계영역(Critical Section) 이라 한다.
- 임계영역은 공유 메모리가 참조되는 프로그램의 부분(데이터나 데이터 구조)으로 다수의 프로세스가 접근 가능한 영역이면서 한 순간에 하나의 프로세스만 사용할 수 있는 영역(공유 자원의 독점을 보장하는 코드 영역)을 의미한다.
'Computer > OS' 카테고리의 다른 글
1. 컴퓨터 시스템 구성요소 (0) | 2020.07.28 |
---|---|
3-2 프로세스와 쓰레드 (0) | 2019.06.10 |
3-1 프로세스와 스레드 (0) | 2019.06.09 |
2-1 운영체제의 역할과 목적 (0) | 2019.06.09 |
2. 컴퓨터 시스템의 동작 (0) | 2019.06.02 |