Computer Science/OS
2021. 11. 2.
모니터 추가설명, 교착 상태와 기아 상태
모니터도 기말! 시그널을 보내면 2개의 프로세스가 살아납니다. 선택해야 합니다. 살아난 것을 돌리지, 내가 돌릴지 세마포 = 조건변수? 조건변수랑 세마포랑 비슷해 보입니다. 왜냐하면 P() = wait() V() = siganl() 연산의 이름조차도 비슷합니다. 결국 차이는 있습니다. 조건변수를 wait하면 x_sem에서 무조건 기다립니다.(무조건, 누가 깨워줄 때 까지) signal은 무조건 하지 않습니다. x_count란? 조건변수 x에서 기다리는 애들이 몇명인지 알려줍니다. x_count 는 x_sem에서 대기하는 프로세스가 몇개인지 알려주는 변수입니다. 즉, 대기하는 프로세스가 있다면 signal을 합니다. 코드의 흐름을 보면 wait(x_sem)에서 signal이 올 때까지 기다립니다. sign..