• 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》


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

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

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

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

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

    • 文件资源虚拟逻辑化、虚拟内存功能。负责将内存资源、硬盘资源统一逻辑化。
    • 管理数据的搬运。因为CPU的计算需要数据,计算完的数据,也需要找个地方存放。
    • 确保文件的稳定性,对于临时性的缓存文件要定时自动删除,对于用户要求永久保存的文件,必须确保断电后也存在。

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


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

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

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


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

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

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

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

    • CPU经常访问的数据,放到贵的,速度快的Cache、内存里面。
    • 把不经常访问的数据,放到便宜的,速度慢,容量大的内存和硬盘里面

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

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

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


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

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

    C:Program Files

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

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

    欢迎访问:个人博客-zobolの计算机操作系统学习札记

  • 相关阅读:
    python元编程(metaclass)
    STL源码剖析:序
    高效C++:定制new和delete
    高效C++:模板和泛型编程
    高效C++:继承和实现
    高效C++:实现
    高效C++:设计与声明
    高效C++:资源管理
    高效C++:构造/析构/赋值
    Noip2017退役记
  • 原文地址:https://www.cnblogs.com/zobol/p/15125210.html
Copyright © 2020-2023  润新知