操作系统原理(一)——自举过程

操作系统,这个名词每个人都不会陌生,但又总觉得似乎没有了解很深,这一系列博客将会从零开始强化你对操作系统的认知。

1. 什么是操作系统?

答:操作系统是介于硬件与用户(也就是程序和人)之间的接口,它使其他程序运行更为有效,并能方便的对计算机软件和硬件资源进行访问。

下面进入正题

从定义中我们也知道操作系统一个核心功能就是使其他程序运行更为方便有效,我们知道,在计算机开机前,程序都是在磁盘中的,而运行时程序需要被装入内存中,这时候,显然操作系统需要完成这个任务,那么一个新的问题就会产生:操作系统要想把其他程序装载进内存中,它自身必然是要处于运行状态,即操作系统要处于内存中,那么操作系统是由谁装载进内存的呢?

操作系统原理(一)——自举过程_第1张图片
套娃?No No No!
这是一个很实际的问题,最早的解决方案是由内存制造商直接将操作系统永久写入内存的ROM(只读存储器)部分,然后将CPU的程序计数器设置为这个ROM的开始处。这样当计算机被加电时,CPU就会从这个ROM处开始读取指令并并执行。

功能上确实达到了目的,解决了问题,但是这个方案有一个很大的缺陷:低效。因为内存的很大一部分需要由ROM构成用于存储操作系统,并且这部分ROM不能被其他程序使用。那么怎么解决这个缺陷呢?相信你可能有些想法了。

操作系统原理(一)——自举过程_第2张图片
方案2.0
目前采用的解决方案是将加载过程分为两个阶段,内存中ROM只占很小的一部分(大约400KB),其中存储着一个被称为自举程序的小程序。CPU的程序计数器指向ROM中自举程序第一条指令所对应的位置,当计算机被加电时,CPU开始读取并执行自举程序,而这个自举程序只有一个任务:就是将操作系统(不是全部,只是需要启动计算机的那部分程序)装入RAM中。装入完成后,CPU的程序计数器就被设置为RAM中操作系统的第一条指令所对应的位置,接下来CPU将开始执行操作系统的指令。

新的方案通过自举程序的设计大幅降低了对内存的消耗。

你可能感兴趣的:(通用知识)