상호배제 알고리즘 - Lamport 알고리즘 알아보기
Computer Science/OS·2021. 10. 18.
프로세스가 여러개 인 것에 대해서도 알아봐봅시다. 하드웨어 명령어인 TestAndSet 명령어를 봐봅시다. 아토믹 연산 - 중간에 인터럽트 걸리지 않고 한번에 실행되는 것 데커, 피터스 알고리즘은 두 프로세스의 임계영역 해결책 입니다. 상호배제 알고리즘 – Lamport's bakery algorithm 순서대로 기다리니깐 n개의 프로세스가 달려들어도 n번만 기다리면 나의 순서가 들어옵니다. 즉, O(n)의 시간이 걸립니다. 코드로 봐봇디ㅏ. 0~n-1까지가 프로세스 입니다. 임계영역에서 나오면 번호표를 반납합니다. (number[i] = 0 ) 부분에서 번호표를 반납한다고 합니다. number가 0이라면 번호표를 가지지 않은 상태입니다. 그러면 새로운 프로세스는 몇 번부터 몇번 까지 번호를 받을 수 있..