부팅은 컴퓨터의 전원이 켜진 후 운영체제가 가동되어
사용자가 컴퓨터를 사용할 수 있게 만들어주는 과정을 말합니다
부트는 시스템에 장착된 하드웨어를 인식하고 점검하는 하드웨어적 단계와
사용자가 운영체제와 응용 프로그램을 사용할 수 있도록 메모리에 올리는
소프트웨어적 단계로 나눌 수 있습니다
초창기 리눅스는 init 프로세스를 사용해서 부팅했습니다
init 프로세스 체제는 부팅과 관련된 모든 작업을 init 프로세스에 위임하는 방식입니다
전원이 켜지고 BIOS 점검을 마치면 커널이 로드되고,
커널이 우선 루트파일 시스템(/)을 읽기 전용(read-Only) 형태로 마운트하고
검사후에 이상이 없으면 쓰기 가능(read-Write)형태로 다시 마운트합니다
이후에 커널은 init 프로세스를 발생시키며 리눅스 부팅과 관련된 소프트웨어 구동은
init 프로세스에 위임됩니다
init 프로세스는 리눅스 시스템 내부의 최초 프로세스로서 PID가 1번이 할당되고
그 이후에 생성되는 프로세스는 모두 fork 방식으로 생성됩니다
부팅 후에 생성되는 프로세스들은 전부 init프로세스의 자식 프로세스 형태로 종식되면서
시스템 종료 및 재부팅이 편하도록 설계되었습니다
하지만 CentOS는 6버전까지 init프로세스를 사용하다가
CentOS7버전은 시스템 부팅 및 서비스 관리 프로그램으로 init 대신에 systemd를 사용합니다