LearnOperatingSystem

教学视频

1.3 操作系统的第三个功能——存储管理功能

作者:zobol

作者zobol:关于操作系统概论-存储管理功能,我给出下列问题:

一般来讲,制约我们计算机使用快慢感觉的瓶颈,不在于CPU的计算速度(正常情况下,你上个网是不可能跑满的),而在于你购买的存储器的性能。

现代计算机从以CPU核心转到以存储器为核心的原因之一就是,存储器的搬运数据速度已经跟不上CPU的计算速度了

问1:操作系统的文件管理系统主要是负责哪些任务?

其中我们主要讲解第二点数据的搬运,这是因为它关系到我们计算机性能的快慢。而剩余两点都涉及操作系统到底在硬盘上做了什么,这其中过程十分复杂繁琐,考研不做要求。


问2:为什么数据的转移会成为影响计算机的性能的主要原因?

因为CPU的寄存器空间很小,我们的数据都是要存放在Cache、内存、硬盘里的。当CPU需要的时候,数据从存储器中取出来,通过总线传输进CPU。等计算完再传输回来。而这种接口间的传输速度,是远远赶不上CPU的计算速度的。这就导致CPU总是处于“饥饿”的状态。

平常我们想要提高旧计算机性能,性价比最高的办法就是买一块固态硬盘。你会立刻感受到一秒钟开机的舒服感。


问3:硬盘、内存、Cache都是什么?

硬盘、内存、Cache都是存储器,用来存放数据的。只是它们的价格、性能、传输速度不一样。

我们理想状态下,肯定是希望都买成最快的,容量最大的存储器。

但是在资金有限的情况下,我们需要仔细考虑,分开处理。

关于把数据放到哪种存储器,是操作系统主要关心的,这被称为存储器调度管理方式。
此外当内存空间不够的时候,操作系统还会使用虚拟内存技术。
三种存储器CPU都能直接访问到,不需要层层递交。

问4:存储器内部的读取方式对计算机性能有影响吗?

有影响,当从CPU发出读取某个数据信号,中间的过程都是会造成延时。其中主要是关于磁盘调度部分,不过这一部分具体操作,操作系统很难去具体影响,所以一般是交给硬盘厂商实现最优算法。


问5:操作系统是怎么根据CPU发出的消息得到数据的位置?

首先我们访问文件资源管理器,使用的都是资源地址符。

C:\Program Files

但是CPU一般使用的是二进制的地址,0101011110101011.你可以将它简单理解成一串数字,操作系统得到了它就会去搜索对应的逻辑地址,然后根据逻辑地址找到真实的物理地址。

我们主要学习操作系统如何更快地搜索对应的逻辑地址,肯定不能傻傻地线性搜索,一般都会采用分区、分段、分页等划分方式,减小搜索的时间复杂度。