본문 바로가기
Computer Science

[Operating System] Process: Process Tree, Child Processes, Root Processes

by Henry Cho 2022. 3. 4.
728x90

Process: Process Tree, Child Processes, Root Processes


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


 

# Process Tree

Process(프로세스)는 프로그램을 실행시키는 역할을 수행한다.

Process는 다른 프로세스들을 생성할 수가 있는데, 이렇게 새롭게 생성된 하위 프로세스를 Child processes들이라고 부른다.

Child processes들은 Root processes들이라고도 불리며 Process tree를 통해 쉽게 이해할 수 있다.

Fig01.

위의 예제 Process tree를 살펴보면 A는 Child processes로 B, C, D가 새롭게 생성되어 있는 걸 알 수 있다.

또한 B는 E라는 또 다른 Child process를 가지고 있고, C는 F를 가지고 있는 걸 알 수 있다.

반면에 D의 경우는 G와 H라는 두 개의 Child processes들을 가지고 있는 걸 볼 수 있다.

Unix에서는 다른 Processes들을 모두 가지고 있는, 여기서는 A에 해당하는 Process를 init process라고 한다.

또한 대부분 Unix의 경우에는 PID=1이 성립된다.


# Interprocess Communication

흔히 IPC라고 줄여서 부르는 Interprocess communication은 프로세스 간의 소통 방법을 의미한다.

위의 Process tree 예제를 보더라도 여러 프로세스들이 존재할 때 서로 간의 소통을 통한 효율적인 작업 수행이 이루어져야 한다.

효율성도 있지만 여러 프로세스가 하나의 작업을 동시에 수행할 경우 에러가 발생하여 문제가 생길 수 있기 때문에 이러한 경우를 방지하고자 IPC가 존재한다.

IPC에 구체적인 설명은 IPC 포스트를 통해서 살펴볼 수 있다.


728x90

댓글