2020. 10. 6. 14:56ㆍCS 필기 노트/OS
한 프로세스가 공유 메모리를 사용하고 있을 때, 다른 프로세스들이 사용하지 못하도록 배제시키는 기법이다.
교착 상태가 발생하지 않음을 보장하는 데커 알고리즘, 피터슨 알고리즘을 통해 상호 배제 기법을 구현한다.
교착 상태 : 둘이상의 프로세스들이 서로 다른 프로세스가 차지하고 있는 자원을 무한정 기다리고 있는 상태.
교착상태가 발생할 때 :
1. 상호 배제 - 중복이 안되도록 막기 때문에 계속 기다려질 수 있다.
2. 점유와 대기 - 자원을 점유하고 있는 프로세스가 다른 자원을 기다릴때 나타남
3. 비선점 - 사용이 종료될 때까지 강제로 해제할 수 없을때 나타남
4. 순환 대기 - 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있을때 나타남
임계 구역
상호 배제의 문제로 자원이 프로세스에 의해 반납되면,
다른 프로세스에서 자원을 이용할 수 없도록 막아놓은 영역
임계구역의 원칙 :
순서를 지키며 신속히 사용한다.
무한루프에 빠지지 않도록 주의 한다.
인터럽트가 불가능한 상태로 만들어야한다.
세마포어
다익스트라가 고안한 프로세스 간 동기화 문제 해결 도구로, 연산들을 통해 동작한다.
종류는 이진 세마포어와 산술 세마포어로 구성되어 있다.
동작 원리
초기화 - 대기 큐를 할당하고 초기화
P연산 - 자원 할당, V연산 - 자원 해제 상태
모니터
두 개 이상의 프로세스 들이 특정 공유 자원과 공유 자원 그룹을 할당하는데 필요한 데이터 및 프로시저를 포함하는
병행성 구조 이다.
특징으로는 한 시점에 단 하나의 프로세스만 모니터 내부에 실행된다.
또한 세마포어 보다 높은 단계의 동기화 메소드로 사용하기가 용이하다.
'CS 필기 노트 > OS' 카테고리의 다른 글
기억 장치 관리 전략 (0) | 2020.10.06 |
---|---|
프로세스 스케줄링 (0) | 2020.10.06 |
프로세스와 스레드 (0) | 2020.10.06 |
언어 번역 프로그램과 링커, 로더 (0) | 2020.10.06 |
운영체제의 운영 방식, 성능 평가 기준 (0) | 2020.10.05 |