티스토리 뷰
### Synchronization Problems ###
<Synchronization tools>
- Disabling interrupt
: process가 shared data에 접근하는 동안에는 interrupt/systemcall이 걸리지 않게 비활성화 시키는 것
- Atomic instruction(test-and-set, compare-and-swap)
: 값을 수정하는 동안에 다른 instruction이 수행이 되지 않게 하는 것(cpu 차원 지원-하드웨어 기반)
: 다른 기법과 연관되서 사용한다.
- Mutex lock
: process가 critical section에 접근하면 lock을 걸어 다른 process가 접근 하지 못하게 하는 것
- Semaphore
: 일반화된 mutex lock(2진 lock) + 정수 lock(count)
- Monitor
: mutex lock 이나 semaphore을관리 하기 힘들 때 api 관장에서 critical section에 대한 mutual exclusion(상호배제) 보장하는 방법
### Classical problems in synchronization ###
- Bounded-buffer problem
: 유한 buffer문제
: 생산자 소비자 사이에서 data를 주고 받을 때 bounded buffer을 사용하는데 buffer와 관련된 문제를 critical section issue를 고려하는 것
- Readers and writers problem
: database영역에서 발생
: shared data에 여러개의 writer process, reader process가 접근 할때 생기는 문제점(mutual exclusion으로 해결)
- Dining-philosophers problem
: deadlock issue와 관련 있다.
반응형
'운영체제 > 이론' 카테고리의 다른 글
(35) Readers and Writers Problem (Synchronization Problems) (0) | 2020.09.24 |
---|---|
(34) Bounded Buffer Problem (Synchronization Problems) (0) | 2020.09.24 |
(32) Mutex Lock & Semaphore (0) | 2020.09.23 |
(31) Hardware Support Synchronization (0) | 2020.09.23 |
(30) Critical Section(임계구역) (0) | 2020.09.23 |
공지사항
최근에 올라온 글