一个网站如何做推广,东莞 塑胶 网站建设,中华室内设计网公众号下载,大型网站许多网站一直好奇计算机启动的原理是怎么样的#xff1f;最近刚好想搞一下操作系统#xff0c;故此总结一下。
打开电源 对于现代计算机来说#xff0c;打开电源是开机的第一步#xff0c;这一点无用质疑#xff0c;离开了电#xff0c;现代社会估计就会垮台。
计算机启动
加电…一直好奇计算机启动的原理是怎么样的最近刚好想搞一下操作系统故此总结一下。
打开电源 对于现代计算机来说打开电源是开机的第一步这一点无用质疑离开了电现代社会估计就会垮台。
计算机启动
加电自检
官方说法为加电自检简单来说就是计算机在启动的时候会去检查一下自己的硬件环境有木有准备好比如CPU、内存、磁盘、显卡等是否正常工作如果发现硬件故障就会报警或者显示错误。就跟你开车去很远的地方首先需要看一下要不要加油车胎有木有气如果没油就会加油没气就会打气是一样。
启动固件 (Bootstrap Loader)
官方说法为启动 Bootstrap Loader通常是启动 BIOS ( 基本输入/输出系统)BIOS存储在主板上的固件芯片中的一组程序它负责初始化硬件设备配置系统资源并准备计算机进入操作系统的加载过程
BIOS初始化
BIOS 开始初始化硬件设备包括设置时钟、检测和配置内存、初始化显示适配器和其他外设等。BIOS 还会读取 CMOS可擦除只读存储器中的设置如系统时间、启动顺序等。 重装系统的时候不知道有没有注意到有人会去调试 BIOS 的启动顺序。BIOS初始化完就是这样的。 计算机 BIOS基本输入/输出系统既包含硬件部分也包含软件部分。
硬件方面计算机的 BIOS 是存在于主板上的一片固件芯片通常称为 BIOS 芯片或者系统固件。这个芯片包含了一些硬件电路如时钟、存储器、接口电路等。这些硬件电路负责启动计算机、初始化硬件设备并提供最基本的输入输出功能。
软件方面计算机的 BIOS 包含了一套预先安装在 BIOS 芯片上的固件程序这些程序用于控制计算机的启动过程、硬件初始化和基本的输入输出操作。这些固件程序通常以低级的机器语言或者汇编语言编写。
当计算机启动时计算机的 BIOS 被加载到内存中并运行其中的固件程序负责进行启动自检POSTPower-On Self-Test、初始化硬件设备、检测和配置系统资源等操作。之后BIOS 将控制权交给操作系统或其他引导程序由它们继续处理计算机的运行。
因此计算机的 BIOS 既包含硬件部分BIOS 芯片和相关电路也包含软件部分预先安装在 BIOS 芯片上的固件程序。它在计算机启动时扮演着重要的角色确保计算机能够正常启动和运行。
启动设备选择
BIOS 根据 CMOS 中的设置确定启动设备的顺序。它将按照预设的启动顺序尝试读取启动设备例如硬盘、光盘驱动器、USB 设备等。一旦找到可引导的设备BIOS 将加载引导扇区中的引导程序。 特别是在重装系统的时候启动设备顺序往往会优先选择 USB 设备
引导程序Bootloader加载
引导程序是一个小型的程序位于引导设备如硬盘的引导扇区。引导程序被加载到内存中并负责加载操作系统的核心部分。 因为引导扇区往往是磁盘的一个扇区默认 512 字节而操作系统往往好几十个G所以需要引导程序来加载操作系统而非引导扇区
操作系统引导加载程序执行
引导加载程序会读取操作系统引导加载程序如GRUB或Windows引导管理器的配置文件和设置。
启动管理器启动
操作系统引导加载程序会根据配置文件中的设置启动启动管理器。启动管理器会显示一个菜单列出可用的操作系统选项供用户选择。
启动管理器如GRUB或Windows引导管理器通常是由操作系统安装程序或操作系统本身在安装过程中写入磁盘的。具体来说当你安装操作系统时安装程序会将启动管理器的文件和相关配置写入硬盘的特定位置。
用户选择操作系统
用户可以通过启动管理器的菜单界面选择要启动的操作系统。 这也是双系统的原理
操作系统加载
每个操作系统通常都有自己的引导程序对应的引导程序会启动操作系统的加载过程。它会读取操作系统的核心文件如 Windows 的 ntoskrnl.exe 或 Linux 的内核映像将其加载到内存中并将控制权转交给操作系统。操作系统开始初始化并准备接收用户的指令。 加载过程中一般都会看到屏幕是黑的但 window 会显示 圈圈一直在转。
操作系统初始化
操作系统继续启动过程进行一系列初始化操作如初始化设备驱动程序、建立系统数据结构、加载系统服务等。最终操作系统会进入用户界面或登录屏幕等待用户交互。