binary semaphore 썸네일형 리스트형 스핀락(spinlock) 뮤텍스(mutex) 세마포(semaphore) 임계 영역 공유 데이터의 일관성을 유지하기 위해, 하나의 프로세스/스레드만 진입할 수 있는 코드 영역!! Q. 그럼 어떻게 하나의 프로세스/스레드만 진입(mutual exclusive)시킬까? A. Lock을 활용! 참고로, lock은 모든 프로세스/스레드에서 동시 접근이 가능해야 하기에, 전역(global)으로 선언을 해야 한다. while(test_and_set(&lock) == 1) ; -> lock==1인 동안에는 무한 루프를 계속 돌며, critical section에 진입하기 못하게 한 다. (mutual exclusive 해결) ( 위 코드에서 만약 T1이 Critical Section 도중에 context switching이 일어났다고 해도, 다른 프로세스/스레드들은 T1이 다시 재실행되어.. 더보기 이전 1 다음