linux 引导流程
2024-10-23 18:54:34 1 举报
linux 引导流程
作者其他创作
大纲/内容
第一阶段;硬件检测
3.
主引导记录(MBR)位于: 磁盘的 0 驻面、 0 磁头、 1 扇区
加电
1. CUP 信息2. 设备启动顺序3. 磁盘信息4. 内存信息5. 时钟信息6. PnP特性7. 电源管理...
固件(Firmware)就是写入EROM(可擦写只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。 固件是设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。 固件是一个系统最基础最底层工作的软件。 ----------------------------------------------------------------------------------------- 硬件时钟与软件时钟的同步: hwclock:硬件时钟 date: 软件时钟 hwclock --hctosys 以硬件时钟为标准向软件时钟同步 hwclock --systohc 以软件时钟为标准向硬件时钟同步 hwclock --set --date=Newdate 修改硬件时钟的时间 date MMDDhhmmYYYY.SS 修改软件时钟的时间
在 boot loader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd文件系统中的\"某个文件\
init 启动后通过读取 /etc/inittab 来完成其后的引导
分时(time-sharing)多任务(multitasking)多用户(multi-user)操作系统: 将 CPU 分成小的时间片,任务排队处理,在一个 CUP 循环周期内会给每一个任务分配一个 CPU 时间并在这些任务之间快速切换,从而达到每个任务独点整个 CPU 的感觉。 进程切换是由 PID=0的内核高度器(kernel schedler)完成,它也是 init 进程的父进程,用来分配 CPU 时间以及进程间切换。
kernel的作用:
2.
载入 Bootloader(自举程序)
GRUB 是引导装入器 -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以更具灵活性,它可以让用户很方便的在计算机上安装多个操作系统。 GRUB 是一个很棒的引导装入器。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让用户手工装入内核并选择引导分区。这个功能非常有用:即使 GRUB 菜单配置不正确,你仍可以引导系统。 GRUB 还有一个彩色引导菜单。
在固件程序检测完所有硬件没有问题并读取 MBR 载入自举程序 GRUB 之后,GRUB 会载入内核,接下来的启动工作将交给内核完成。
1. 从按下电源到出现提示符发生了什么?2. 无法正常启动的时候如何处理?3. 运行级别有哪些?如何切换?4. 如何在引导过程中启动服务?5. 什么是自举程序? GRUB
加电自检
Linux 引导流程
读取 MBR 记录
启动 init 进程 init 是系统启动的第一个进程 init 进程的PID永远 = 1 initial 最初的
驱动硬件 通过裁剪内核可以改变内核大小以适应不同设备的需要(嵌入式设备/U 盘等)
Y
加载固件 (CMOS/BIOS)
父子进程关系:
任何操作系统都有自己的自引导程序。 linux: Lilo (LInux LOade) 嵌入式,小型设备 GRUB 多重操作系统启动管理器windows: ntldr nt (内核代号) -- new technology ldr -- loader boot.ini: 通过修改该文件实现windows多系统启动
1.
Bootloader 最主要的作用:载入系统的内核(kernel)
内核只做两件事
initrd 的意义:
1. 存储的管理2. CUP 的管理3. 进程的管理4. 文件系统的管理5. 设备的驱动及管理6. 系统的初始化及调用...
0 条评论
下一页