4. 병행 프로세스와 상호배제

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

댓글

Designed by JB FACTORY