1. Process의 communication state

- independent: 개별 프로세스가 동작하는 상황

- cooperating: share data, context switch, communication의 방식 중요

2. how to communicate( == IPC(Inter-Process Communication))

- 데이터를 주고 받는 것(Send, Receive)

- shared memory, message passing

3. 둘은 어떤 특징들을 가지고 있을까?

1) shared memory의 특징

- 메모리에 접근해서 데이터를 직접 다룬다.

- buffer를 통해서 communication하게 된다.

- buffer의 상태에 따라 3가지 경우로 나뉜다.

- 가득 찬 경우: P(생산 프로세스) 기다리기 - Q(소비 프로세스) 소비

- 넉넉한 경우: P 생산 - Q 소비

- 없는 경우: P 생산 - Q 기다리기

2) shared memory의 비유

- 하나의 테이블에 다양한 정보들(문서, 도구, 차트 등등..)이 있고, 이것을 활용해 정보를 생산하고 소비하게 된다.

- 각각의 사람들(프로세스)가 동시에 정보에 접근해서 변경을하게 되면, 혼란스럽게 될 수 있는 확률이 크다.

3) message passing의 특징

- 메시지만 주고 받는다.

- O/S가 cooperating 할 수 있는 도구(mailbox)를 제공한다.

- direct :메시지를 받을 프로세스를 명시한다.ex) Send(Q, message), Receive(P, message)

- indirect: 메시지를 mailbox에 넣어 둔다. ex) A == 메일박스, Send(A, message), Receive(P, message)

- Blocking send, Blocking receive: synchronous

- Non-blocking send, Non-blocking receive: asynchronous

4) message passing의 비유

- 각자의 책상에 앉아 있고 종이에 메시지를 적어 다른 책상에 앉아 있는 사람에게 전달한다.

- 또는 각자의 책상에 앉아 있고, 종이에 메시지를 적어 메일함에 넣어두면 누군가가 가져간다.

'OS' 카테고리의 다른 글

[공룡책] Chapter 2. Process? (1/4)  (0) 2021.07.13
[공룡책] Chapter 1. 운영체제는 무엇인가?  (0) 2021.07.12

+ Recent posts