개념/운영체제
비동기 병행 실행2
상어악어
2022. 3. 29. 14:51
반응형
임계 구역
공유데이터가 변경되는 프로그램 부분
무한반복, 블록킹 x
상호 배제
임계구역에 하나의 쓰레드만 있어야한다
진행
다른 쓰레드의 인계구역 진입을 막으면 안된다
한정된 대기
쓰레드가 들어가서 무한정 연기하면 안된다
실행속도 무관
쓰레드의 상대적인 속도에 대한 가정을 하면 안됨
Dekker, Peterson -> 2thread
Lamport -> 다수의 thread
하드웨어 -> machine instruction ->상호배제 지원
Dekker
계속 돌면서 기다리는것: spinlock
2개의 반복문이 nesting 돼있다
Peterson
thread t1이 양보부터한다
Lamport
하드웨어적 상호배제 구현
인터럽트 거부
TEST-AND-SET 명령어
SWAP 명령어
COMPARE-AND-EXCHANGE 명령어
인터럽트 거부
단일 프로세서를 갖는 경우에는 가능
들어갈때 INTERRUPT 막고
중요한 일 하고
INTERRUPTE 허용
원자적 명령어
단번에 실행되도록 특수한 명령어를 사용하는 방법
반응형