728x90
프로세스 간 협력
- 프로세스는 독립적이다. 각자 주소공간을 가지고 수행되기 때문에 원칙적으로 하나의 프로세스는 다른 프로세스의 수행에 영향을 미치지 못한다.
- 그렇지만 프로세스 간 협력 메커니즘 (Inter Process Communication)을 통해, 하나의 프로세스가 다른 프로세스의 수행에 영향을 미칠 수 있다.
- IPC에는 크게 message passing 과 shared memory 기법이 있다.
Message Passing
원칙적으로 프로세스끼리 직접 통신을 하지 않으므로, 운영체제의 커널을 통해 메세지를 전달하는 방법
1. Direct Communication
통신하려는 프로세스의 이름을 명시적으로 표시하는 방법 커널을 통해 다른 프로세스에게 메세지를 넘긴다.
2. Indirect Communication
메세지를 보내는 측에서 mailbox 또는 port를 통해 메세지를 간접적으로 전달한다.
Shared memory
주소 공간을 공유하는 방법. 서로 다른 프로세스 간에도 일부 주소 공간을 공유하게 하는 shared memory 방식이 있다. 커널에게 공통적인 사용 영역을 요청하면 shared memory 부분이 매핑된다.
주의 : thread의 경우 사실상 하나의 프로세스이므로 프로세스 간 협력이라고 보기는 어렵다. 하지만 동일한 process를 구성하는 여러개의 thread 들 간에는 주소 공간을 완전히 공유하므로 서로 협력이 가능하다.
728x90
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 11. CPU Scheduling (2) - CPU 스케줄링 알고리즘 : Multilevel Queue & Multilevel Feedback Queue (0) | 2023.06.25 |
---|---|
[운영체제] 10. CPU Scheduling (0) | 2023.06.25 |
[운영체제] 9. 시스템 콜의 종류 - fork() , exec(), wait(), exit() (0) | 2023.06.25 |
[운영체제] 8.Process Management 1 - 프로세스의 생성과 종료 (0) | 2023.06.25 |
[운영체제] 7. Process 3 - Thread의 장점 2 (0) | 2023.06.18 |