JAVA程序员需要知道的计算机底层基础03-计算机启动过程
BIOS(BASIC IN OUT SYSTEM)
intel扩展了BIOS,出现了UEFI(BIOS升级版),BIOS只能展示黑白界面,UEFI可以显示彩色界面。
1、通电,某个芯片得到通知,开始进行启动界面。
2、进行加电自检各个硬件的连接情况
3、记载bootloader到内存,bootloader是啥?引导控制器,一个计算机可能有多个操作系统,它来指引选择使用哪个操作系统。bootloader在哪?在硬盘上,那如何找到它的位置?一定写死在了硬件上: 硬盘第一个扇区(如果是软盘就是前512个byte),所以一启动会去这个位置找bootloader尝试进行加载到内存的某个固定位置,如果找不到? 启动失败!
4、加载成功后,选择操作系统
5、开始加载操作系统的相关内容进入内存固定位置上,CPU指令移动到操作系统启动的那个指令点 (0x7c00)上,之后将都是操作系统的事情了。
但启动的时候,我们有时发现还是有些东西可以配置的,例如引导的顺序,是先从磁盘还是哪里进行引导。 那这个配置肯定需要有个地方存的,那就是cmos,这个必须要通电。
你说你没通电也有配置? 是因为主板上有块电池一直再给他通电。
启动过程总结:
通电 -> bios uefi 工作 -> 自检 -> 到硬盘固定位置加载bootloader -> 读取可配置信息 -> CMOS -> 加载操作系统 --> 启动完毕