Independent process cannot affect or be affected by the execution of another process.
독립적 프로세스는 다른 프로세스의 실행에 영향을 미치거나 영향을 받을 수 없습니다.
Cooperating process can affect or be affected by the execution of another process.
협력 프로세스는 다른 프로세스의 실행에 영향을 미치거나 영향을 받을 수 있습니다.
Advantages of process cooperation
Mechanism for processes to communicate and to synchronize their actions.
프로세스를 통신하고 작업을 동기화하는 메커니즘
+) https://www.geeksforgeeks.org/inter-process-communication-ipc/
A process can be of two types
프로세스는 두 가지 유형이 될 수 있습니다.
An independent process is not affected by the execution of other processes while a co-operating process can be affected by other executing processes.
독립적인 프로세스는 다른 프로세스의 실행에 영향을 받지 않지만 공동 운영 프로세스는 다른 실행 프로세스에 영향을 받을 수 있습니다.
Though one can think that those processes, which are running independently, will execute very efficiently, in reality, there are many situations when co-operative nature can be utilized for increasing computational speed, convenience, and modularity.
독립적으로 실행되는 이러한 프로세스가 매우 효율적으로 실행될 것이라고 생각할 수 있지만, 실제로는 계산 속도, 편의성 및 모듈성을 높이기 위해 협동 특성을 활용할 수 있는 경우가 많다.
Inter-process communication (IPC) is a mechanism that allows processes to communicate with each other and synchronize their actions.
프로세스 간 통신(IPC)은 프로세스가 서로 통신하고 작업을 동기화할 수 있도록 하는 메커니즘입니다.
The communication between these processes can be seen as a method of co-operation between them.
이러한 프로세스 간의 커뮤니케이션은 프로세스 간의 협력 방법으로 볼 수 있습니다.
Processes can communicate with each other through both:
프로세스는 다음 두 가지를 통해 서로 통신할 수 있습니다.
There are two processes: Producer and Consumer.
The producer produces some items and the Consumer consumes that item. The two processes share a common space or memory location known as a buffer where the item produced by the Producer is stored and from which the Consumer consumes the item if needed.
생산자는 일부 품목을 생산하고 소비자는 그 품목을 소비합니다. 두 프로세스는 버퍼라고 알려진 공통 공간 또는 메모리 위치를 공유하며, 여기서 생산자에 의해 생산된 품목이 저장되고 소비자가 필요한 경우 해당 품목을 소비한다.
There are two versions of this problem: the first one is known as the unbounded buffer problem in which the Producer can keep on producing items and there is no limit on the size of the buffer, the second one is known as the bounded buffer problem in which the Producer can produce up to a certain number of items before it starts waiting for Consumer to consume it.
이 문제에는 두 가지 버전이 있습니다: 첫 번째 버전은 unbounded buffer problem로 알려져 있으며, 여기서 생산자는 항목을 계속 생성할 수 있으며 버퍼 크기에는 제한이 없습니다. 두 번째 문제는 생산자가 소비자가 소비할 때까지 기다리기 전에 일정 수의 품목을 생산할 수 있는 경계 버퍼 문제로 알려져 있다.
We will discuss the bounded buffer problem. First, the Producer and the Consumer will share some common memory, then the producer will start producing items.
우리는 바운드 버퍼 문제에 대해 논의할 것입니다. 먼저 프로듀서와 컨슈머가 공통의 기억을 공유하고, 그 다음에 프로듀서가 아이템을 생산하기 시작할 것입니다.
If the total produced item is equal to the size of the buffer, the producer will wait to get it consumed by the Consumer. Similarly, the consumer will first check for the availability of the item. If no item is available, the Consumer will wait for the Producer to produce it. If there are items available, Consumer will consume them.
생산된 총 품목이 버퍼의 크기와 같으면, 생산자는 소비자가 소비할 때까지 기다립니다. 마찬가지로, 소비자는 먼저 그 품목의 사용 가능 여부를 확인할 것이다. 사용 가능한 품목이 없는 경우, 소비자는 생산자가 해당 품목을 생산할 때까지 기다립니다. 사용 가능한 품목이 있으면 소비자가 소비합니다.
Message passing system processes communicate with each other without sharing the same address space.
메시지 전달 시스템 프로세스는 동일한 주소 공간을 공유하지 않고 서로 통신합니다.
IPC (message passing) facility provides two operations:
If P and Q wish to communicate, they need to:
Issues designing message passing system
Direct Communication: Processes must name each other explicitly:
프로세스는 서로 이름을 명시적으로 지정해야 합니다.
Indirect Communication: Messages are directed and received from mailboxes (also referred to as ports).
프로세스는 서로 이름을 명시적으로 지정해야 합니다.
Message passing may be either blocking or non-blocking.
메세지 전달은 blocking or non blocking일 수 있다.
Blocking is considered synchronous.
Non-blocking is considered asynchronous.
Send and receive primitives may be either blocking or non- blocking.
Queue of messages attached to the link; implemented in one of three ways.