공유 자원
시스템 안에서 각 프로세스, 스레드가 함께 접근할 수 있는 모니터, 프린터, 메모리, 파일, 데이터 등의 자원이나 변수 등
경쟁 상태
이 공유 자원을 두 개 이상의 프로세스가 동시에 읽거나 쓰는 상황. 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결괏값에 영향을 줄 수 있는 상태
임계 영역
둘 이상의 프로세스 또는 스레드가 공유자원에 접근할 때 순서 등의 이유로 결과가 달라지는 코드영역
임계 영역을 해결하기 위한 방법
1. 뮤텍스
2. 세마포어
3. 모니터
이 방법 모두 상호 배제, 한정 대기, 융통성이란 조건을 만족
이 방법들의 토대가 되는 매커니즘은 잠금(lock)이다.
예를 들어 화장실이라고 가정한다면 화장실에 A라는 사람이 들어간 다음 문을 잠금
다음 사람이 이를 기다리다 A가 나오면 화장실을 쓸 수 있음
'CS > 운영체제' 카테고리의 다른 글
CPU 스케줄링 알고리즘(비선점형, 선점형) (0) | 2022.07.26 |
---|---|
세마포어, 뮤텍스, 모니터의 차이 그리고 교착상태(deadlock) (0) | 2022.07.26 |
멀티프로세싱과 멀티스레딩, 그리고 IPC (0) | 2022.07.26 |
PCB와 컨텍스트 스위칭 (0) | 2022.07.26 |
프로세스의 메모리 구조 (0) | 2022.07.26 |