본문 바로가기

운영체제 (OS)

2022.04.21 kocw 운영체제 강의 (5/13)

프로세스 동기화

- OS의 cpu관리에서 중요한 것 중 하나. (스케쥴링과 프로세스 동기화)

- 쓰레드 동기화라고 생각해도 좋음

- 인디펜던트 vs 코오퍼레이팅 (쓰레드끼리는 서로 연관되어 있는 것이 많음)

- 필요한 이유는 공통된 데이터에 동시에 쓰레드들이 연결될 경우 데이터 지연이 발생할 수 있어서.

   - 해결법: 한번에 한 쓰레드를 업데이트하는 것

 

임계구역 문제

-멀티 쓰레드로 구성된 시스템에서, 각 쓰레드가 공통 변수를 업데이트하는 임계구역을 가지고 있으면 임계구역 문제가 발생할 수 있다.

- 이를 해결하는 방법은 소프트웨어 툴인 세마포를 사용하는 것.

  

*세마포

- 상호 배타성, 즉 한 쓰레드가 돌아갈 때 다른 쓰레드를 acquire한다. 그리고 기존의 쓰레드의 작업이 끝나면, 갇혀있던 쓰레드를 release 해준다.