CS & Network/운영체제(OS) & 컴퓨터구조
[운영체제(OS)] 동기화(Synchronization) 와 임계구역 문제(Critical Section Problem) - 2
0. 들어가면서 저번 시간에는 운영체제에서의 동기화가 무엇인지 살펴보았고, 임계 구역 문제가 무엇인지 알아봤습니다. 이번 시간에는 임계구역을 어떻게 관리하는지, 동기화 문제를 어떻게 해결하는지 방법들을 알아보려고 합니다. 1. 임계구역 문제 SW 해결 방법들(Software-only-solution) 1 - 1. 먼저 프로세스가 두 개일 때의 해결 방법에 대해서 알아보겠습니다. //Process P1 do { while(turn!=i); //critical section turn = j //remainder section } 위의 코드를 살펴보겠습니다. turn이라는 공유 변수는 어떤 프로세스/쓰레드에 자원이 할당될지 넣어놓는 변수입니다. turn 변수가 자기 자신인 i를 가리키기 전까지 critical..