Linux 시작 과정 상세 설명
시작 첫 번 째 단계-BIOS 불 러 오기
컴퓨터 전원 을 켜 면 컴퓨터 가 먼저 BIOS 정 보 를 불 러 옵 니 다.BIOS 정 보 는 이렇게 중요 하기 때문에 컴퓨터 가 처음부터 그것 을 찾 아야 합 니 다.이 는 BIOS 에 CPU 관련 정보,장치 시작 순서 정보,하드디스크 정보,메모리 정보,시계 정보,PnP 특성 등 이 포 함 돼 있 기 때문이다.그 후에 컴퓨터 는 어떤 하드웨어 장 치 를 읽 어야 할 지 알 게 되 었 다.
두 번 째 단계 시작-MBR 읽 기
알다 시 피 하 드 디스크 의 0 트랙 첫 번 째 섹 터 는 MBR,즉 Master Boot Record 라 고 불 린 다.즉,메 인 가이드 기록 이다.크기 는 512 바이트 이 고 장소 가 크 지 않 지만 안에 예비 시작 정보,파 티 션 표 정 보 를 저장 했다.
시스템 은 BIOS 가 지정 한 하 드 디스크 의 MBR 을 찾 으 면 0 으로 복사 합 니 다.×7c 00 주소 가 있 는 물리 적 메모리 에 있 습 니 다.사실 물리 적 메모리 에 복 사 된 내용 은 Boot Loader 이 고 구체 적 으로 컴퓨터 에 있 으 면 lilo 나 grub 입 니 다.
세 번 째 단계 시작-부 트 로 더
Boot Loader 는 운영 체제 커 널 이 실행 되 기 전에 실행 되 는 작은 프로그램 입 니 다.이 작은 프로그램 을 통 해 우 리 는 하드웨어 설 비 를 초기 화하 고 메모리 공간의 맵 을 구축 하여 시스템 의 소프트 하드웨어 환경 을 적당 한 상태 로 가 져 와 최종 호출 운영 체제 커 널 에 모든 준 비 를 할 수 있 습 니 다.
Boot Loader 는 몇 가지 가 있 는데 그 중에서 Grub,Lilo,spfdisk 는 흔히 볼 수 있 는 Loader 입 니 다.
우리 Grub 를 예 로 들 어 설명 합 시다.왜냐하면 lilo 와 spfdisk 를 사용 하 는 사람 이 많 지 않 기 때 문 입 니 다.
시스템 은 메모리 에 있 는 grub 설정 정보(일반적으로 menu.lst 또는 grub.lst)를 읽 고 이 설정 정보 에 따라 다른 운영 체 제 를 시작 합 니 다.
네 번 째 단계 시작-커 널 로드
grub 에서 설정 한 커 널 이미지 가 있 는 경로 에 따라 시스템 은 메모리 이미 지 를 읽 고 압축 풀기 작업 을 합 니 다.이때 화면 은 일반적으로'Uncompressing Linux'의 알림 을 출력 합 니 다.압축 해제 커 널 이 완료 되면 화면 출력'OK,booting the kernel'입 니 다.
시스템 은 압축 을 푼 커 널 을 메모리 에 저장 하고 start 를 호출 합 니 다.kernel()함 수 는 일련의 초기 화 함 수 를 시작 하고 각종 장 치 를 초기 화하 여 Linux 핵심 환경의 구축 을 완성 합 니 다.이로써 리 눅 스 커 널 은 이미 구축 되 었 고 리 눅 스 기반 프로그램 은 정상적으로 작 동 할 수 있 을 것 이다.
시작 5 단계-사용자 층 init 는 inittab 파일 에 따라 실행 등급 을 설정 합 니 다.
커 널 이 불 러 온 후 첫 번 째 로 실행 되 는 프로그램 은/sbin/init 입 니 다.이 파일 은/etc/inittab 파일 을 읽 고 이 파일 에 따라 초기 화 됩 니 다.
사실/etc/inittab 파일 의 가장 중요 한 역할 은 Linux 의 운행 등급 을 설정 하 는 것 입 니 다.그 설정 형식 은'id:5:initdefault:'입 니 다.이것 은 Linux 가 등급 5 에서 실행 되 어야 한 다 는 것 을 나타 냅 니 다.Linux 의 실행 등급 설정 은 다음 과 같 습 니 다.
0:전원 끄 기
1:단일 사용자 모드
2:네트워크 지원 없 는 다 중 사용자 모드
3:네트워크 가 지원 하 는 다 중 사용자 모드
4:보류,미사 용
5:X-Window 가 지원 하 는 다 중 사용자 모드 를 지원 하 는 네트워크 가 있 습 니 다.
6:다시 유도 시스템,즉 다시 시작
/etc/inittab 파일 에 대한 학문 은 사실 아직 많 습 니 다.
6 단계-init 프로 세 스 를 시작 하여 rc.sysinit 를 실행 합 니 다.
실행 레벨 을 설정 한 후 리 눅 스 시스템 에서 실 행 된 첫 번 째 사용자 층 파일 은/etc/rc.d/rc.sysinit 스 크 립 트 프로그램 입 니 다.PATH 설정,네트워크 설정(/etc/sysconfig/network)설정,swap 파 티 션 시작,설정/proc 등 을 포함 하여 매우 많은 작업 을 합 니 다.관심 이 있다 면,rc.sysinit 파일 을/etc/rc.d 에서 볼 수 있 습 니 다.스 크 립 트 는 며칠 동안 볼 수 있 습 니 다.
7 단계 시작-커 널 모듈 시작
구체 적 으로 는/etc/modules.conf 파일 이나/etc/modules.d 디 렉 터 리 에 있 는 파일 에 따라 커 널 모듈 을 불 러 옵 니 다.
8 단계 시작-서로 다른 실행 단계 의 스 크 립 트 프로그램 실행
실행 단계 에 따라 시스템 은 rc0.d 에서 rc6.d 에 해당 하 는 스 크 립 트 프로그램 을 실행 하여 초기 화 작업 과 서 비 스 를 시작 합 니 다.
9 단계 시작-실행/etc/rc.d/rc.local
이 파일 을 열 면 한 마디 가 들 어 있 습 니 다.읽 은 후에 이 명령 의 역할 을 한눈 에 알 수 있 습 니 다.
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
rc.local 은 모든 초기 화 작업 을 한 후에 리 눅 스 는 사용자 에 게 개성 화 된 곳 을 남 겨 주 는 것 이다.너 는 네가 설정 하고 시작 하고 싶 은 물건 을 여기에 놓 아 도 된다.
10 단계-실행/bin/login 프로그램 을 시작 하여 로그 인 상태 에 들 어 갑 니 다.
이 때 시스템 은 사용자 가 username 과 password 를 입력 하 기 를 기다 릴 때 가 되 었 습 니 다.당신 은 이미 자신의 계 정 으로 시스템 에 로그 인 할 수 있 습 니 다.:)
===
긴 시동 과정 이 끝나 고 모든 것 이 조용 해 졌 다.
사실은 이 뒤에 더욱 복잡 한 바 텀 함수 호출 이 있 습 니 다.당신 이 연구 하 기 를 기다 리 고 있 습 니 다.본 고 는 벽돌 을 던 져 옥 을 끌 어 올 린 셈 입 니 다.)
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.