본문 바로가기
Computer Science

[Operating System] Process: Creation, Termination

by Henry Cho 2022. 3. 2.
728x90

Process: Creation, Termination


포스트 난이도: HOO_Middle

 

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

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

whoishoo.tistory.com


 

# Process Creation

Process creation은 아래와 같은 이유로 이루어지며, 4가지 과정을 거쳐서 creation이 이루어진다.

  • System initialization
  • Execution of a process creation system call
  • A user request to create a new process
  • Initiation of a batch job

여기서 System initialization이란, 하드웨어가 Operating system으로부터 운영될 수 있도록 준비된 상태를 의미한다.

OS로부터 Hardware가 운영될 수 있도록 준비된 상태가 필요한 이유는 Operating system environment에서 각기 다른 애플리케이션이 효율적으로 실행시키기 위해서는 OS가 Hardware 작동에 대한 권한을 가지고 있어야 하기 때문이다.

한마디로 OS가 Hardware에 대한 접근 권한과 Control에 대한 전반적인 권한을 부여받고 OS 환경을 통한 효율적인 프로그램 실행이 준비된 상태가 System initialization이라는 것이다.

두번째로 system call을 통한 새로운 process creation의 경우에는 기존 running 되고 있는 process로부터 이루어진다.

기존에 running process가 새로운 process를 필요로 할 경우 Unix의 경우 fork()를 통해서 process creation이 가능하다.

세 번째로 system call을 통해서 기존 running process에 process creation에 대한 부분이 실행되었다면, 사용자가 새로운 프로세스를 요청하는 과정을 거치게 된다.

마지막으로 새로운 작업에 대한 process가 준비된 상태가 되는 것을 Initiation of a batch job이라고 한다.

 


# Process Termination

Process가 Termination이 되는 이유는 다양하지만 대표적인 4가지에 대해서 살펴보면 아래와 같다.

  • Normal exit
  • Error exit
  • Fatal error
  • Killed by another process

Normal exit은 일반적인 프로세스 종료에 해당하며, error exit도 에러에 의한 자발적인 프로세스 termination에 해당한다.

하지만 Fatal error와 Killed by another process의 경우에는 강제적 종료에 해당하기에 involuntary termination에 해당한다.

 


728x90

댓글