티스토리 뷰
상호배제의 조건 3가지
1. 임계구역 밖에 있는 어떤 프로세스도 다른 프로세스의 임계구역으로의 진입을 막아서는 안된다.(가드)
2. 임계구역에는 단 하나의 프로세스만 들어갈 수 있다.(1명만 입장)
3. 임계구역에 들어가려고 무한히 대기해서는 안된다. (무한대기)
병행 프로세스의 문제점들
1. 프로세스간 동기화 문제
-> 여러개의 프로세스가 공유 자원을 동시에 사용할 수 없게끔 프로세스끼리 입장 순서를 맞춰서(동기화) 임계구역에 입장해야 한다.
2. 결정성 문제
-> 프로세스의 수행 순서에 따라 결과값이 달라지면 안된다.
3. 교착 상태 문제
-> 상호배제와 동기화문제를 해결하지 못해 프로세스들이 아무것도 못하게 되는 상황을 막아야 한다.
동기화, 데드락, 결정성
상호배제를 해결하기 위해 세마포어와 모니터 사용
세마포어 -> 신호등 , 각 프로세스에 순서를 제어해서 알맞은 순서대로 임계구역에 프로세스를 입장시킴.
P(wait)와V(signal)라는 특정 연산에 의해서만 세마포어값 수정가능함.
'컴퓨터 공학과 졸업 > 운영체제' 카테고리의 다른 글
세마포어와 모니터 (2) | 2017.09.27 |
---|---|
생산자 소비자 문제 (유한 버퍼 문제) (0) | 2017.09.27 |
세마포어 동작 예 (0) | 2017.09.25 |
[운영체제] 프로세스 (0) | 2017.09.18 |
커널 쉘 용어 정리 (0) | 2017.09.07 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- react
- Action
- Next.js
- storybook
- useRef
- webpack
- async
- reactdom
- props
- promise
- design system
- await
- javascript
- return type
- Polyfill
- type alias
- mobx
- reflow
- es6
- reducer
- atomic design
- react hooks
- rendering scope
- typescript
- computed
- server side rendering
- useEffect
- hydrate
- Babel
- state
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함