먼저 아래 그림을 살펴보겠습니다.
1. 전원 공급 자가 테스트
펌웨어: 하드웨어와 소프트웨어의 조합. 전원 공급 자가 테스트는 전원 버튼을 누르면 CPU, 메모리, 네트워크 카드 및 기타 정보와 같은 하드웨어 정보를 감지합니다. (하드웨어가 사용 가능한지 여부를 하드웨어 수준에서 감지)
2. 부트로더
감지 후 mbr(마스터 부트 레코드)로 점프하여 매우 중요한 데이터 부트로더를 읽습니다(모든 후속 작업은 부트로더에 의해 수행됨) 및 파티션 테이블, 매직 넘버
권장 온라인 비디오 튜토리얼:
linux 비디오 튜토리얼3. 부트로더는 커널을 로드합니다.
커널의 개념: (linux 시작하면 소프트웨어 수준에서 하드웨어를 사용할 수 있는지 여부를 감지하는 커널 부팅이 표시됩니다.하드웨어 구동(소위)이라는 두 가지 주요 기능이 있습니다. 드라이버는 하드웨어를 식별하고 운영 체제가 하드웨어를 인식할 수 있도록 하는 시스템입니다. 소프트웨어에서 하드웨어를 사용할 수 있는지 식별하고 init 프로세스를 시작하면 작업이 완료됩니다.
4. init 프로세스를 시작합니다. (linux에 의해 시작된 첫 번째 프로세스)
init 프로세스의 작업:
설명:
init 프로세스의 pid는 1이고 PPID는 0입니다. PPID는 상위 프로세스 ID이고 상위 프로세스는 커널 작업 스케줄러입니다.
Linux는 시간에 따라 처리 시간을 할당하는 실시간 시스템입니다. 이번에 처리를 완료하지 않으면 다음 번에 시간이 할당될 때 처리됩니다. 이를 위해서는 CPU 시간 스케줄러가 필요합니다. PID 0입니다. 커널 스케줄러입니다.
Linux에서는 프로세스에서 분기된 프로세스가 하위 프로세스가 됩니다. 프로세스의 상위 프로세스가 종료되면 해당 하위 프로세스도 존재할 수 없습니다. Linux에서 상위 프로세스가 종료되고 하위 프로세스가 살아남으면 해당 프로세스는 고아 프로세스가 되어 Linux에 존재할 수 없습니다. Linux가 고아 프로세스를 검색하면 자동으로 고아 프로세스의 상위 프로세스를 init 프로세스(PID 1의 프로세스)로 설정합니다.
자식 프로세스가 종료되면 부모 프로세스는 자식 프로세스와 연결을 전환해야 하며, 이 자식 프로세스는 좀비 프로세스, J 프로세스가 되며 이러한 프로세스는 존재할 수 없습니다.
5. /etc/inittab 파일을 읽어보세요
요약:
(1) 파이어웨어(펌웨어) 전원 켜기 자체 테스트, 하드웨어 장치가 정상인지 확인하고, 정상입니다. 하드디스크를 읽어보세요. 위에서 데이터가 저장되는 첫 번째 위치는 MBR(Master Boot Record)의 부트로더입니다
(2) 부트로더에서 가장 중요한 것은 부트로더(GRUB)를 저장하는 것입니다
(3) GRUB는 커널(커널) 드라이버 하드웨어를 로드하고 init 프로세스를 시작합니다
(4) init 프로세스는 /etc/inittab을 읽습니다
먼저 스크립트를 실행합니다:/etc/rc.d/rc.sysinit(이 스크립트 런레벨에 관계없이 실행됩니다), initdefault에 따라 확인하고 /etc/rc.d/rcN.d
로 이동하여 스크립트를 실행합니다. S로 시작하는 스크립트는 서비스를 시작하는 스크립트이고, K로 시작하는 스크립트는 서비스 종료 스크립트
(5) 마지막으로 터미널이 설정되고 사용자가 로그인할 때까지 기다립니다. 사용자, 이름을 표시합니다.
추천 관련 기사 및 튜토리얼: linux 튜토리얼
위 내용은 리눅스 시스템 부팅 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!