리눅스 시스템 전체 부팅과정의 이해
리눅스 부팅과정의 이해
1. 리눅스서버의 전원이 들어옵니다.
2. 메인보드에 있는 ROM-BIOS가 실행 됩니다.
3. ROM-BIOS에 의해 서버에 장착된 하드웨어가 인식됩니다. 이때 하드웨어(CPU, MEMORY등) 물리적 손상체크와 초기화가 병행됩니다.
※ ROM-BIOS는 넓은 의미로 컴퓨터에 탑재된 프로그램 중에서 하드웨어와 가장 낮은 수준에서 입출력을 담당하는 프로그램을 가리킨다. 펌웨어이고, ROM-BIOS는부트프로그램을 검색하여 부팅을 진행하게 된다.
4. 하드웨어의 체크 및 초기화가 끝나면 ROM-BIOS는 부팅매체(DISK, CD-ROM, FLOOPY 등)을 검색하게 됩니다.
5. 검색된 부팅매체의 0번 섹터(대부분 MBR이라고 부름) 에서 Boot Program을 읽어들여 메모리로 로드합니다.
- 이 ROM-BIOS는 LILO(Linux Loader)를 메모리에 적재한 후에 모든 제어권을 LILO에 넘겨주게 됩니다.
6. LILO는 입력된 커널 이미지로 부팅을 시작하게 됩니다. 그리고 몇개의 커널이 존재하는 서버라면 /etc/lilo.conf 파일에 lilo설정이 되어 있을것입니다.
7. LILO는 커널이미지를 메모리로 불러들입니다.
8. LILO에 의해 pid 0번 프로세스(swapper)를 실행합니다.
9 다시 pid 1번 프로세스(init)를 불러들입니다.
10. init 프로세스는 /etc/inittab 파일을 불러들입니다.
11. 이후로 /etc/rc.d/rc.sysinit 과
12. /etc/rc.d/rc 0 ~6 중에서 실행레벨에 맞는 파일이 실행됩니다.
(부팅레벨이 0이면 /etc/rc.d/rc0.d
부팅레벨이 1이면 /etc/rc.d/rc1.d
부팅레벨이 2이면 /etc/rc.d/rc2.d
부팅레벨이 3이면 /etc/rc.d/rc3.d .....)
리눅스에서 실행되는 거의 모든 프로세스들은 init 프로세스들에 의해 실행(fork)되는 셈입니다.
13. /etc/rc.d/rc.local 스크립트 수행합니다. (사용자가 리눅스서버에 새로 설치한 툴이나 프로그램을 부팅할때마다 자동으로 실행되게끔 하려면 이파일의 맨 마지막에 실행명령을 넣어두면 됩니다.)
퍼온곳 : https://www.linux.co.kr/linux/tip/boot_sequence/
https://en.wikipedia.org/wiki/BIOS
위 파일은 www.superuser.co.kr에서 퍼온것입니다.
구글로 검색하면 구할수 있으며 저작권에 문제가 있을시 즉각 삭제할 예정입니다.
'공부방' 카테고리의 다른 글
우리나라에서 내진설계(정보통신설비 내진 중심)란? (0) | 2016.09.13 |
---|---|
ActiveX 제거하기 그리고 HTML5 (0) | 2016.09.13 |
Linux Red Hat Enterprise Version 7 Study.. (0) | 2015.09.16 |
이더넷, TCP/IP 소켓 프로그래밍 방법 (0) | 2015.08.28 |
이더넷 프레임 구조 (0) | 2015.08.28 |