作为一个准备跨考计算机的小白,最近一直在学习计算机相关的知识,也希望能借此机会能与大佬共同交流学习。这次准备学习的是计算机开机操作系统启动的相关知识。这部分知识曾经在考研真题中作为完整的一道大题出现。
首先在打开电源后,操作系统并不是直接在CPU中运行的,而是存放在硬盘之中。这时需要由BIOS(基本I/O处理系统)提供相应的支持,在电源启动后BIOS开始加电自检并检查计算机的各种外设是否能够正常工作,检查完成之后就会加载Bootloader进行执行,这个小程序的功能就是用来加载OS。Bootloader在启动后会将操作系统的代码和数据从硬盘中取出放入到内存中,完成之后会跳转到操作系统的起始地址。这样就完成了操作系统在开机之后的启动,操作系统会接过计算机硬件的控制权并开始正常工作。
通过上面具体知识的介绍我们可以注意到一些细节。第一,由于操作系统在开机时不在内存中因此不能直接启动,而需要首先启动BIOS,这就意味着BIOS实际上是存放在内存中的。每次加电启动时CPU都会从特定的某个地址开始执行,也就是BIOS的代码段起始地址。第二,BIOS是如何寻找Bootloader的呢?一般来说Bootloader被设置存放在硬盘的第一个主引导扇区,这样非常容易就可以找到。
以上就是我对计算机开机操作系统启动相关知识的介绍,并由基础知识想到了一些小的细节。个人想法不一定完整正确,希望大家能给予补充和指正。