728x90
반응형
프로세스 협력
독립적인 프로세스 (Independent Process)
시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받지 않는 프로세스
협력적인 프로세스 (Cooperating Process)
시스템에서 실행중인 다른 프로세스에게 영향을 주거나, 받는 프로세스
프로세스 협력의 장점
- 정보 공유 (Informatioin Sharing)
- 계산 가속화 (Computational Speedup)
- 모듈성 (Modularity)
- 편의성 (Convenience)
프로세스 간 통신 (IPC: InterProcess Communication)
메세지 전달(Message Passing), 공유 메모리(Shared Memory)
- 메세지 전달 (Message Passing)
- 공유 메모리 (Shared Memory)
- Pipe
프로세스간 통신(IPC)은 두 가지 연산을 제공
- send(message)
- receive(message)
생산자 - 소비자 문제
협력하는 프로세스의 일반적 패러다임
- 생산자(Producer) 프로세스: 정보를 생산
- 소비자(Consumer) 프로세스: 정보를 소비
생산자, 소비자 프로세스가 병행으로 실행되도록 하려면
생산자와 소비자가 정보를 채우고 소비할 수 있는 버퍼(Buffer)가 반드시 사용 가능해야 함 (물류 창고 개념)
- 무한 버퍼 (Unbounded-buffer): 버퍼 크기 무한(실제X)
- 유한 버퍼 (Bounded-buffer): 버퍼 크기 고정
- 버퍼가 비어 있으면, 소비자는 대기
- 모든 버퍼가 채워져 있으면, 생산자는 대기
728x90
반응형
'Computer Science > Operating System' 카테고리의 다른 글
[OS] 파이프(Pipe)란? 일반 파이프(Ordinary Pipes), 지명 파이프(Named Pipes) (0) | 2024.04.29 |
---|---|
[OS] 메세지 전달(Message Passing)이란? (0) | 2024.04.29 |
[OS] 프로세스에 대한 연산 (Operations on Processes), 프로세스 생성&종료 (0) | 2024.04.28 |
[OS] 프로세스 스케줄링(Process Scheduling), PCB(Process Control Block), 문맥 교환(Context Switch) (0) | 2024.04.28 |
[OS] 프로세스란? (0) | 2024.04.27 |