리눅스의 부팅과정
리눅스의 부팅과정은 일반적인 os와 다른가?
* 일반적인 운영체제의 부팅과정
- 전원을 넣으면, ROM BIOS에서 하드디스크의 첫번째 트랙의 첫 번째 섹터에 위치한 MBR에 들어있는 부트로더를 메모리로 올린다
MBR(Master Boot Record)에 부팅 관련 프로그램을 실행시킨다
* 비슷하게 풀어서 이야기하면?
- 메모리에 있던 ROM BIOS는 운영체제를 메모리에 적재시킬 수 있는 부트로더를 실행시킨다
- 하드디스크 가장 밖의 첫번째 트랙에 첫번째 섹터에는 MBR이 존재한다
**MBR - 부팅 관련 프로그램, 파티션 테이블, 운영체제에 대한 정보를 가지고 있다
- MBR에 저장되어 있는 운영체제 정보를 통해서 부트섹터(커널)를 알아내고 제어권을 넘겨준다
- 제어권을 넘겨받은 부트섹터는 운영체제를 실행하기 위해서 메모리에 적재를 한다
ROM BIOS에 부트로더 실행 -> MBR에 부팅 관련 프로그램을 실행 -> 운영체제 부트섹터에 제어권을 넘김 -> 운영체제를 메모리에 넘겨 실행
리눅스의 경우도 일반적인 os와 같은 방식으로 부팅과정이 진행됩니다
ROM BIOS에서 부트로더 실행 -> 부트로더 GRUB -> MBR를 실행하여 부팅 관련 프로그램을 실행 -> 부트섹터에 제어권을 넘김 -> 커널이 메모리에 적재 -> 커널은 가장 먼저 init 프로세스 실행 -> 이후 자식프로세스를 실행하여 작동
* 커널은 가장 우선적으로 메모리에 적재되고 가장 먼저 init프로세스를 실행 시킨다
init프로세스는 초기화 작업을 실행,환경 설정 진행한다
프로세스 - 시스템에서 현재 실행중인 프로그램
부모 프로세스 - 프로세스가 다른 프로세스를 새로 실행시키면 실행 프로세스
자식 프로세스 - 새로 실행된 프로세스
PID(프로세스 아이디) - 프로세스의 자기 고유 번호를 식별하기 위한 번호
'C & Docker & LINUX' 카테고리의 다른 글
리눅스 - find명령어 (0) | 2016.04.06 |
---|---|
리눅스 - 사용자 생성 및 계정 관리 (0) | 2016.04.02 |
EOF를 반환하는 scanf_s - 비주얼 스튜디오 2015 (0) | 2016.03.19 |
리눅스 - vi 편집기란? (0) | 2016.03.09 |
Linux) 리눅스 - GNU, FSF (0) | 2015.12.14 |