Init

유닉스 기반 컴퓨터 운영 체제에서 init은 컴퓨터 시스템의 부팅 과정 중 최초의 프로세스이다. Init은 시스템이 종료될 때까지 계속 실행하는 데몬 프로세스이다. 다른 모든 프로세스의 직간접 부모 프로세스이며 자동으로 고아 프로세스들을 입양한다. Init은 하드 코딩된 파일 이름을 이용하여 커널에 의해 시작된다. 커널이 이를 시작할 수 없으면 커널 패닉이 발생한다. Init은 일반적으로 프로세스 식별자 1로 할당된다.

리서치 유닉스 스타일/BSD 스타일 
리서치 유닉스의 init은 /etc/rc에 위치한 셸 스크립트를 실행한 다음, /etc/ttys가 통제하는, 터미널의 getty를 실행하였다. 실행 수준은 존재하지 않는데, /etc/rc 파일이 init에 의한 프로그램의 실행을 정의한다. 이 시스템의 이점은 수동 편집이 단순하고 쉽다는 것이다. 그러나 시스템에 추가된 새로운 소프트웨어는 기존 파일에 대한 변경이 필요한데 시스템의 부팅을 불가능하게 만들 수 있다.

SysV 스타일 
이전과 비교할 때 AT&T의 유닉스 시스템 III은 새로운 스타일의 시스템 시작 구성을 도입하였으며, 이러한 수정 사항들과 더불어 유닉스 시스템 V로 새로 태어났는데, 이를 "SysV 스타일 init"이라 부른다.

실행 수준 

System V의 실행 수준은 기기의 특정한 상태를 기술하며, 프로세스와 데몬에 의해 결정된다. 일반적으로 8개의 실행 수준이 있으며, 그 중 3개는 표준으로 간주되는 운영 체제의 필수 부분이다.:

 0. 중단(Halt)
 1. 단일 사용자 모드 (S 또는 s)
 6. 재기동

이 표준들 외에 유닉스 및 유닉스 계열 운영 체제들은 실행 수준을 조금 다르게 처리한다. 공통 분모인 /etc/inittab 파일은 시스템에서의실행 수준의 설정을 정의한다.

기본 실행 수준 

오른쪽 표에서 실행 수준 5를 기본으로 하는 리눅스 배포판의 경우, 실행 수준 5는 X 윈도 시스템을 실행 중인 다중 사용자 그래픽 환경을 호출하며, 일반적으로 GDM이나 KDM과 같은 디스플레이 매니저를 동반한다. 그러나 솔라리스 운영 체제는 일반적으로 실행 수준 5를 종료 및 기기의 전원 끄기를 수행한다.

init의 대안 
 BootScripts
 busybox-init
 DEMONS
 eINIT
 Epoch
 Initng
 launchd
 Mudur
 nosh
 OpenRC
 runit
 s6
 서비스 관리 기능
 셰퍼드
 systemd
 SystemStarter
 Upstart

각주

외부 링크 
  FreeBSD init man page
  A paper summarizing Unix init schemes (2007)
  
  A history of modern init systems (1992–2015)

유닉스 프로세스 및 작업 관리 관련 소프트웨어