1. 컴퓨터 부팅과정
- ROM BIOS 펌웨어 실행
POST(하드웨어 문제없는지 검사)->부트 로더 적재
- 부트로더 실행
- 커널이미지(/boot/vmlinus-\<kernel-version>)와 initramfs(부팅과정에서 필요한 임시 파일시스템, ram 임시 파일시스템)를 로드
- 커널 실행됨
2. 커널 실행
- 하드웨어 점검및 초기화
- 루트 파일시스템을 마운트하고 검사함
- /sbin/init 프로그램을 실행시키고 제어를 넘김
- init프로세스는 시스템 운영을 위한 나머지 초기화 PID = 1
post->bios-> 부트로더->커널->/sbin/init
3.초기화 데몬 (/sbin/init)
-
전통적 init : 런레벨을 기준으로 필요한 서비스 순차적으로 실행
시간이 오래걸리고, 초기화 스크립트가 복잡하여 새로운 상황에 대처가 힘듬.
-
upstart init, systemd 데몬 : 이벤트 기반, 스크립트를 설정파일로 대체
-
초기설정파일(/etc/init/)에 따라 서비스 프로그램 실행
-
계속 실행되며 시스템 운영, 셧다운 처리
4.init 설정파일 (/etc/init)
- job 설정 파일 확장자.conf
- 이벤트에 따라 job(실행파일, 셸 스크립트) 실행.
5.init 런레벨
6.service 명령
- /etc/rc.d/init.d/디렉토리에 존재하는 초기화 스크립트를수동으로 실행 시키는 관리자 명령
7.컴퓨터 종료
- init 프로세스 런레벨 바꾸어 셧다운
- init 프로세스가 TERM 시그널과 KILL시그널을 보냄
- 시스템 파일을 잠그고 파일 시스템을 언마운트함