본문 바로가기
5학기/운영체제

Ch 05. 병행 프로세스와 동기화

by sshnnne 2023. 4. 20.

병행(Concurrent) : 메모리에 다수의 프로세스가 같이 존재한다는 것

병행 프로세스들이 비동기적 : 다른 프로세스들이 어떤 상태에 있는지, 어떤 자원을 가지고 있는지 등에 대해 모른 채 실행되고 있음

 

 

5.1 병행 프로세스

공유된 자원이 있을 경우 자원의 접근에는 일정한 룰을 따라야 한다.

(룰 : 한 번에 한 프로세스만이 접근하도록 하고, 해당 자원에 대해 의도했던 실행을 완료하도록 보장한다)

 

5.2 상호배제

경쟁 상태 : 프로세스들이 공유 데이터에 대해 서로 접근을 시도하는 상황

임계 자원 : 두 개 이상의 프로세스가 동시에 사용할 수 없는 자원

임계 영역 : 임계 자원에 대해 접근하고 실행하는 프로그램 내의 코드 부분

상호배제 : 한 번에 하나의 프로세스만이 임계영역에 들어가야 함

 

5.3 상호배제를 위한 소프트웨어 기법들

parbegin / parend ( or cobegin/coend)

: 그 사이에 존재하는 n개의 문장들이 동시에 수행될 수 있음.

단일처리기 시스템 : 각 문장의 수행 순서를 임의로 진행해도 좋음

다중처리기 : 각 문장을 병렬로 실행하겠다는 뜻. n개의 문장들의 나열 순서는 아무 의미가 없음

 

'5학기 > 운영체제' 카테고리의 다른 글

Ch 04. CPU 스케줄링  (0) 2023.04.20
Ch 03. 프로세스와 스레드  (0) 2023.04.20
Ch02. 들어가기 전에  (1) 2023.03.17
Ch01. OS? Oh Yes!  (0) 2023.03.10