컴퓨터 공학/혼자 공부하는 컴퓨터 구조 +운영체제

26.프로세스 동기화

공부를하자 2023. 7. 27. 00:21

1.프로세스 동기화

 1)정의 개요

  -프로세스들은 작업을 수행하기 위해 협력하고 영향을 주고 받는다.

  -프로세스들의 실행순서와 자원의 일관성을 보장하기 위해 동기화 작업이 필요하다.

*동기화:작업들 사이의 수행 시기를 맞추는 것.

          사건이 동시에 일어나거나, 일정한 간격을 두고 일어나도록 시간의 간격을 조정하는 것을 이른다.

  -프로세스 동기화란  프로세스들 사이의 수행시기를 맞추는 .

  -또한 프로세스의 동기화에서 수행시기를 맞춘다는 것은 실행 순서 제어,상호 배제를 의미한다.

 

 

 2)실행순서제어

   -프로세스를 올바른 순서대로 실행하는 .

  -book이라는 텍스트가 있을 writer 프로세스가 실행되어야 reader프로세스가 올바르게 작동

  있다.

  3)상호 배제(mutual exclusion)

   -동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하는 .

   -통장의 잔액을 계산하는 프로세스가 있다 가정 잔액이라는 자원은 프로세스가 동시에

    접근해서는 안된다. 

 

 

 

2.공유 자원과 임계 구역

 1)공유자원(shared resource): 동시에 접근해서는 안되는 자원
 2)임계구역(critical section):프로세스들이 동시에 작업을 실행(자원에 접근)하면 문제가 발생하는 코드의

   영역.

   -복수의 프로세스가 임계구역에 진입하고자 하면 하나를 제외한 나머지 프로세스들은 대기 해야한다.

 

 3)레이스 컨디션(race condition): 임계구역 임에도 잘못된 실행으로 인해 여러 프로세스가

  동시 다발적으로 임계구역내에 코드를 실행하여 발생하는 문제.

  -고급언어가 저급언어로 변환되면서 여러 줄의 코드가 생성되고 

   문맥교환이 일어날 아래와 같은 문제가 생긴다.

 

 

 

*임계구역을 문제를 해결하기위한 운영체제의 3원칙

 

 

 

 

'컴퓨터 공학 > 혼자 공부하는 컴퓨터 구조 +운영체제' 카테고리의 다른 글

28.교착상태  (0) 2023.07.30
27.동기화 기법  (0) 2023.07.27
25.CPU 스케일링 알고리즘  (0) 2023.07.26
24.CPU 스케줄링  (0) 2023.07.25
23.스레드  (0) 2023.07.20