init   init Process   init 프로세스

(2019-11-17)

exec, exec(), exec System Call, exec 시스템 호출, fork, fork(), fork System Call, fork 시스템 호출

1. [Unix/Linux]  init 프로세스UNIX가 처음 시동될 때, 
     - 일련의 부팅 과정이 끝나고, 커널이 메모리에 로드되고, 제어권이 커널에 주어지고,  
     - 커널이 여러 제반환경을 구축한 후에는,
     - 오직 한 개의 프로세스 만이 있게 되는데, 이것을 init 라고 함


2. [Unix/Linux]  init 프로세스 특징

  ㅇ init 프로그램 화일의 위치  :  /sbin/init 

  ㅇ 커널이 시동된 후에, init의 모든 동작은,
     - 대개 시스템 의존적인 초기화 화일들을 읽고(/etc/rc*),
     - 다중 사용자 모드와 같은 원하는 상태시스템을 가져감
     - 이러한 동작들은, /etc/inittab 화일에 명시된 대로 실행됨

  ㅇ 모든 프로세스의 부모 프로세스
     - init는 커널에 의해 직접 실행되는 프로세스이며, 모든 프로세스는 init로부터 출발함
     - init는 모든 프로세스의 부모 프로세스이고, 동시에 사용자 로그인 의 부모 프로세스


3. [Unix/Linux]  PID (Process IDentifier)

  ㅇ init의 프로세스 식별자 즉, PID(Process IDentifier)는 1 임
  ㅇ 한편, PID는 init가 1 인 것을 제외하고,
     - 나머지 프로세스는, 2 부터 32768 사이의 양의 정수 값 임


4. [Unix/Linux]  프로세스 제어시스템 호출 : exec, fork부팅 과정이 끝난 후 존재하는 단 한개의 init 프로세스는,
     - 이로부터 fork 및 exec라는 시스템 호출을 통해,
     - 결국, 수많은 프로세스들이 수행되게 됨

  ㅇ exec : (대치)
     - 현재의 프로세스를 새로운 프로그램으로 `대치`시켜 수행시키는 시스템 호출

  ㅇ fork : (생성)
     - 새로운 자식 프로세스를 `생성`할 때 사용하는 시스템 호출
        . 현재 프로세스(부모 프로세스)의 사본(자식 프로세스)을 생성하고,
        . 그후 부모 및 자식 프로세스는 모두 fork() 문 바로 다음의 코드들을 실행


[UNIX 프로세스] 1. 프로세스 2. 시스템 호출 3. init,exec,fork 4. 시그널 5. 좀비

 
        최근수정     요약목록     참고문헌