임계구역(위험지구)과 상호배제
👍 임계구역, 그리고 그것을 지키기 위한 상호배제 다중프로그래밍 방식이 되면서 운영체제는 여러 프로세스가 제한된 공유자원에 동시접근하는 것을 막아야 하는 의무가 생겼다. 여기서 공유자원이라는 것은 CPU, 메모리, 주변장치 같은 물체도 될 수 있고, 프로그램 내 변수도 될 수 있다. 즉 여러 프로세스가 동시에 프린터를 쓸 수 없는 것처럼, 커 다란 프로그램은 여러 프로세스로 분할되어 동작하기 때문에 같은 변수를 참조하는 프로세스끼리는 반드시 코드를 순차실행해야 null이 발생하지 않을 것이다. 이처럼 동시에 사용될 수 없는 공유자원(파일)을 "임계구역(Critical Section)"이라고 한다. 그리고 임계구역을 지키기 위한(동시참조를 막기 위한) 해결방안을 "상호배제"라고 한다. 만약 상호배제로도 문..
2020.07.07