티스토리 뷰
상호배제의 조건 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 hooks
- javascript
- state
- await
- storybook
- Babel
- Action
- props
- type alias
- reducer
- Next.js
- server side rendering
- webpack
- useEffect
- reactdom
- promise
- computed
- async
- hydrate
- es6
- mobx
- return type
- typescript
- react
- reflow
- atomic design
- Polyfill
- design system
- rendering scope
- useRef
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함