一台没有运行程序的计算机只是一台插入式电子设备。计算机开机后要做的第一件事就是启动一个叫做操作系统的特殊程序。操作系统的工作是通过处理控制计算机硬件的复杂细节来帮助其他计算机程序工作。
引导过程概述
引导过程是每次打开计算机时都会发生的事情。你看不到,因为它发生得太快了。你按下电源按钮几分钟后返回,Windows XP、Windows Vista或任何你使用的操作系统都已加载。
BIOS芯片告诉它在一个固定的位置寻找一个名为引导加载程序的特殊程序(在Linux下,引导加载程序被称为Grub或LILO),通常是在编号最低的硬盘(引导盘)上。引导加载程序被拉入内存并启动。引导加载程序的工作是启动真正的操作系统。
BIOS的功能
邮递 (开机自检)每次开机时都会进行开机自检。这听起来很复杂,这是因为它有点复杂。当你的电脑开机时,它会做很多事情,这只是其中的一部分。
它初始化各种硬件设备。这是一个重要的过程,以确保所有设备顺利运行,没有任何冲突。遵循ACPI的BIOSS创建描述计算机中设备的表格。
POST首先检查bios,然后测试CMOS RAM。如果没有问题,POST将继续检查CPU、硬件设备(如视频卡)、辅助存储设备(如硬盘驱动器、软盘驱动器、Zip驱动器或CD/DVD驱动器)。如果发现一些错误,屏幕上会显示错误消息或听到一些蜂鸣音。这些哔哔声被称为后哔哔声代码。
主引导记录
主引导记录(MBR)是一个在计算机引导时启动的小程序,用于查找操作系统(如Windows XP)。这个复杂的过程(称为引导过程)从POST(开机自检)开始,在Bios搜索硬盘上的MBR时结束,该MBR通常位于第一个扇区、第一个磁头、第一个气缸(气缸0、磁头0、扇区1)。
典型的结构如下所示:
引导加载程序存储在计算机的EPROM、ROM或其他非易失性存储器中。当计算机开机或重启时,它首先执行开机自检,也称为POST。如果POST成功且未发现任何问题,引导加载程序将把计算机的操作系统加载到内存中。然后,计算机将能够快速访问、加载和运行操作系统。
初始化
init是内核引导序列的最后一步。它在找文件 /etc/inittab 查看是否有 初始默认值 。它用于确定系统的初始运行级别。运行级别用于确定操作系统的初始状态。 一些运行级别包括:
数量
- 0–>系统停止
- 1–>单用户模式
- 3–>带网络的全多用户模式
- 5–>具有网络和X显示管理器的全多用户模式
- 6–>重新启动
上面的init设计称为SysV,发音为 系统五 .现在已经编写了init的其他几个实现。一些流行的实现是系统化的和暴发户式的。Ubuntu2006年开始使用Upstart。关于这个暴发户的更多细节可以找到 在这里 .
init的下一步是启动各种支持网络和其他服务的守护进程。X服务器守护程序是最重要的守护程序之一。它管理显示器、键盘和鼠标。当X服务器守护程序启动时,您会看到一个图形界面,并显示一个登录屏幕。
参考资料: http://www.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/bootup.html https://www.computerhope.com/jargon/b/bootload.htm http://www.dewassoc.com/kbase/hard_drives/master_boot_record.htm
本文由 萨凯特·库马尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。