티스토리 뷰

개념/운영체제

비동기 병행 실행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 허용

 

 

원자적 명령어

단번에 실행되도록 특수한 명령어를 사용하는 방법

 

 

 

반응형

'개념 > 운영체제' 카테고리의 다른 글

교착상태와 무기한 연기  (0) 2022.04.05
비동기 병행 실행3  (0) 2022.04.01
쓰레드  (0) 2022.03.22
프로세스2  (0) 2022.03.18
프로세스  (0) 2022.03.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함