운영체제 Chapter 3 병형 프로세스 200712009 박요안
목차 개요 상호배제와 임계영역 세마포어 모니터
개요 Parbegin/ parend 제어문 순차정인 수행으로부터 여러 개의 동시 수행으로 갈라짐을 지시하는 명령어와 여러 개의 동시 수행되는 것들이 하나로 모여서 순차적 수행으로 돌아가도록 지시하는 명령어 다음페이지에서 선형그래프를 통한 설명
개요 s1 s2 s3 s4 s5 s7 s6 S2와 s3은 s1이 끝난 후 수행 S4눈 S2거 끝난 후 수행 선형 그래프
개요 s1 R(si)=(a1,a2,---,am) 문장 si가 수행되는 도중에 si에 의해 값이 참조되는 모든 변수들의 집합 W(si) = (b1,b2,---,bm) 문장 si의 수행에 의해 값이 변하게 되는 모든 변수들의 집합 s2 s3
상호배제와 임계영역 상호배제 공용변수를 액세스하고 있는 하나의 프로세스 이외에는 다른 모든 프로세스들이 공용변수를 액세스하지 못하도록 제어하는 기법 프로그램들이 공용 데이터를 함께 액세스할 때 필요
상호배제와 임계영역 프로세스가 공용 데이터를 액세스하고 있을 때 그 프로세스는 임계영역 내에 있다고 한다. 상호배제를 지키는 것 (주의) 임계영역내의 수행은 가능한 빨리끝내야 함 임계영역에 들어가서 프로세스가 보류되는 일이 없어야함 임계영역이 무한루프에 빠지지 않도록 코드화해야 함
세마포어 세마포어 단지 p와v 그리고 세마포어 초기치를 설정해주는 오퍼레이션에 의해서만 액세스될 수 있는 통제된 변수. 이진 세마포어는 0과 1의 두가지 값만을 가질 수 있고 산술 세마포어는 0과 양의 정수를 값으로 가질 수 있다.
세마포어 사용 N개 프로세스의 임계영역 문제를 다루는데 사용된다. N개의 프로세스는 1로 초기화된 공통 세마포어인 mutex를 공유한다. 여러가지 동기문제를 해결하는데 사용된다. 소프트웨어나 하느웨어에 의해 구현될 수 있다.
세마포어 단점 조작 바쁜 대기를 요구하는 것. 단점을 극복하기 위해 세마포어의 p,v조작을 수정할 수 있다.\ P(s) : s.value := s.value -1; If (s.value < 0) Then begin Add this process to s.l; Block; End;
모니터 모니터 여러 프로세스 사이에 공유데이터와 이 공유 데이터에 접근하는 여러 프로시져이다. 동기화를 구현하기 위한 특수 프로그램 기법으로 특정 공유 자원을 프로세스에게 할당하는데 필요한 데이터와 이 데이터를 처리하는 프로시저로 구성 자료 추상화와 정보 은폐 개념을 기초로 하며 공유 자원을 할당하기위한 병행성 구조
모니터 모니터 내의 공유 자원을 사용하려면 프로세스는 반드시 모니터의 진입부를 호출해햐 함 외부의 프로시저는 직접 액세스 할 수 없으며, 모니터의 경계에서 상호배제시행됨 한순간에 하나의 프로세스만 진입하여 자원을 사용 할 수 있음.