操作系统中为什么以存储为中心?

620 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

今天操作系统学到存储管理的那一章时,老师提到了这么一个问题。

首先给出一段简单的c语言代码,然后思考这个问题——为什么我们要使用x=3这条语句来做简答3+3操作呢?

    int x,y;
    x=3;
    y=x+3;

实际上,这个问题可能很想有人想过。但实际上思考这个问题就能发现计算机发展的一个重要的历程。

1

起初计算机是没有存储设备的,I/O设备直接与CPU相联。

image.png

当我们使用键盘敲入3+3时,CPU快速执行指令,将结果返回在显示器上。这一步骤就如同我们如前使用的计算器一样(那种“归零归零的”计算器),I/O设备与CPU之间直接进行交互。

可能有人并没有发现这样做有什么不好的地方,那么继续思考一下。首先当我们在输入3,+,3这些指令的时候,CPU处于闲置的状态,而我们指令一旦输入完毕,CPU就会以极快的时间进行运算并返回结果。这个时候,I/O设备与CPU的使用时间是两个完全不同的时间数量级,这就造成的一快一慢的冲突,也就使得CPU的利用率十分低下,所以CPU的低利用率与其高昂的价格使得CPU的性价比十分的不科学,也不利用计算机事业的发展与普及。

2

我们再来思考一下有了存储设备后的情况。

image.png

当有了存储设备后,使用计算机的人员就可以将指令写好事先存入在存储设备中,启动CPU后,CPU自动读取存储设备中的指令与文件。这也就是冯诺依曼结构的构成了。这也为我们后来计算机能够同时实现各种各样丰富的功能打下了基础。

3

今天的存储设备

image.png

如上图所示,当下存储器的设备有这四种分类。

读取速度从上到下是由快到慢,价格由上到下是由便宜到昂贵。