컴퓨터 공학과 졸업/운영체제
병행 프로세스(임계구역문제)
심재철
2017. 9. 27. 21:01
상호배제의 조건 3가지
1. 임계구역 밖에 있는 어떤 프로세스도 다른 프로세스의 임계구역으로의 진입을 막아서는 안된다.(가드)
2. 임계구역에는 단 하나의 프로세스만 들어갈 수 있다.(1명만 입장)
3. 임계구역에 들어가려고 무한히 대기해서는 안된다. (무한대기)
병행 프로세스의 문제점들
1. 프로세스간 동기화 문제
-> 여러개의 프로세스가 공유 자원을 동시에 사용할 수 없게끔 프로세스끼리 입장 순서를 맞춰서(동기화) 임계구역에 입장해야 한다.
2. 결정성 문제
-> 프로세스의 수행 순서에 따라 결과값이 달라지면 안된다.
3. 교착 상태 문제
-> 상호배제와 동기화문제를 해결하지 못해 프로세스들이 아무것도 못하게 되는 상황을 막아야 한다.
동기화, 데드락, 결정성
상호배제를 해결하기 위해 세마포어와 모니터 사용
세마포어 -> 신호등 , 각 프로세스에 순서를 제어해서 알맞은 순서대로 임계구역에 프로세스를 입장시킴.
P(wait)와V(signal)라는 특정 연산에 의해서만 세마포어값 수정가능함.