병행 프로세스(Concurrent Process)
: 여러개의 프로세스가 동시에 실행상태에 있는 것을 의미한다.
임계구역(Critical Section)
- 여러 프로세스가 공유하는 Data 및 자원을 한 프로세스만 쓸수 있게 공유
- 특정 프로세스가 독점할 수 없다
- 규칙 : 한 프로세스가 자원을 반납한 후 다른 프로세스가 사용가능
상호 배제 기법(MUTEX; Mutual Exclusion)
- 공유 자원은 한 프로세스만 사용하게 하고 다른 프로세스가 접근 못하게 제어
- 여러 프로세스가 동시에 자원 공유시 각 프로세스가 번갈아 가며 사용하게 하므로 임계구역을 유지
- DeadLock이 일어나지 않게 하기 위해서 꼭 필요하다.
동기화 기법(Synchronization)
- 두개 이상의 프로세스를 동시에 처리할 수 없기 때문에 각 프로세스의 처리 순서를 결정하는 것
- 상호배제의 한 형태이다
- 동기화를 구현할 수 있는 방법에는 세마포어와 모니터가 있다.
1. 세마포어(Semaphore)
- 다익스트라(E. J. Dijkstra)가 제안하였으며, 수신호 깃발을 뜻한다.
- S는 P와 V 2개의 연산에 의해 동기화를 유지한다.
* S가 0일때 사용중, 1일때 사용가능한 상태이다
한개의 프로세스가 들어갈때 S=S-1이라는 P연산으로 사용중을 나타내고
사용이 끝나면 S=S+1이라는 V연산으로 사용가능하게 바꾸어 준다.
2. 모니터(Monitor)
- 모니터 내의 공유자원을 사용하려면 반드시 모니터의 진입부를 호출해야 한다.
- 모니터 경계에서 상호배제가 시행된다.
- Wait와 Signal 연산이 사용된다.
- 화장실의 잠금장치와 비슷한 개념이다.
: 여러개의 프로세스가 동시에 실행상태에 있는 것을 의미한다.
임계구역(Critical Section)
- 여러 프로세스가 공유하는 Data 및 자원을 한 프로세스만 쓸수 있게 공유
- 특정 프로세스가 독점할 수 없다
- 규칙 : 한 프로세스가 자원을 반납한 후 다른 프로세스가 사용가능
상호 배제 기법(MUTEX; Mutual Exclusion)
- 공유 자원은 한 프로세스만 사용하게 하고 다른 프로세스가 접근 못하게 제어
- 여러 프로세스가 동시에 자원 공유시 각 프로세스가 번갈아 가며 사용하게 하므로 임계구역을 유지
- DeadLock이 일어나지 않게 하기 위해서 꼭 필요하다.
동기화 기법(Synchronization)
- 두개 이상의 프로세스를 동시에 처리할 수 없기 때문에 각 프로세스의 처리 순서를 결정하는 것
- 상호배제의 한 형태이다
- 동기화를 구현할 수 있는 방법에는 세마포어와 모니터가 있다.
1. 세마포어(Semaphore)
- 다익스트라(E. J. Dijkstra)가 제안하였으며, 수신호 깃발을 뜻한다.
- S는 P와 V 2개의 연산에 의해 동기화를 유지한다.
* S가 0일때 사용중, 1일때 사용가능한 상태이다
한개의 프로세스가 들어갈때 S=S-1이라는 P연산으로 사용중을 나타내고
사용이 끝나면 S=S+1이라는 V연산으로 사용가능하게 바꾸어 준다.
2. 모니터(Monitor)
- 모니터 내의 공유자원을 사용하려면 반드시 모니터의 진입부를 호출해야 한다.
- 모니터 경계에서 상호배제가 시행된다.
- Wait와 Signal 연산이 사용된다.
- 화장실의 잠금장치와 비슷한 개념이다.