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の计算机操作系统学习札记

1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》的更多相关文章

  1. 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》

    1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...

  2. 1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》

    1.2 操作系统的第二个功能--并发功能 目录 1.2 操作系统的第二个功能--并发功能 问1:什么是并发功能?并发功能是必要的吗? 问2:并发功能必须要求拥有多核CPU吗? 问3:多核CPU和单核C ...

  3. 1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》

    1.1 操作系统的第一个功能--虚拟化硬件资源 目录 1.1 操作系统的第一个功能--虚拟化硬件资源 问1:操作系统一般处于计算机系统的哪一个位置? 问2:管理硬件资源为什么要单独交给操作系统? 问3 ...

  4. OneZero第三周——预完成功能点统计

    本周OneZero将完成“摇一摇”功能. 功能点统计如下: 1.点击主页面“摇一摇”按钮,进入摇一摇界面. 2.摇一摇界面布局(上,中,下). 3.摇动手机,在摇一摇界面中显示一条消费记录. 4.继续 ...

  5. Trove系列(三)—Trove的功能管理功能介绍

    Trove的功能管理功能Trove的功能管理功能包括给各种不同的版本的 datastore 安装不同的 功能. 本管理功能只适用于激活/去活全系统的功能.唯一例外的是数据存储功能列表功能,该功能对所有 ...

  6. Atiit 常见功能 常用功能与模块的最快速解决方案

    Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...

  7. ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)

    ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub    ...

  8. linux下实现两人、三人无序对话功能

    序:引子 对话功能实际上就是利用管道见得通信.最原始的是一方发另一方收,不能进项交互,发送方的代码如下: /*============================================ ...

  9. 富文本编辑器UEditor自定义工具栏(三、自定义工具栏功能按钮图标及工具栏样式简单修改)

    导读 富文本编辑器UEditor提供丰富了定制配置项,如果想设置个性化的工具栏按钮图标有无办法呢?答案是肯定的!前两篇博文简要介绍了通过将原工具栏隐藏,在自定义的外部按钮上,调用UEditor各命令实 ...

随机推荐

  1. 在keil中加入DSP库并且使用arm_math.h

    如果不开启硬件FPU,代码设置和编译控制建议二选一,否则会出现宏定义重复定义的报错

  2. 【jenkins】04.SSH认证方式拉取Git代码

    首先需要会git ssh 我们一般用http的形式拉取代码. ssh的好处就是不用每次输入密码,而且貌似会快丢丢,不知道是不是错觉. 大概需要三个步骤: 一.本地生成密钥对: 二.设置github上的 ...

  3. java高级用法之:在JNA中使用类型映射

    目录 简介 类型映射的本质 TypeMapper NativeMapped 总结 简介 JNA中有很多种映射,library的映射,函数的映射还有函数参数和返回值的映射,libary和函数的映射比较简 ...

  4. java的Integer中也会有缓存

    在上篇<java的自动拆箱会发生NPE>博客中接收了java中的Integer中的自动拆箱产生的NPE,其实对于所有的包装类来说都是一样的,都会产生这样的问题,大家需要举一反三,做学问学知 ...

  5. Python 中删除列表元素的三种方法

    列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的. 那到底有哪些方法可以删除列表中的元素呢?这篇文章就来总结一下. 一共有三种方法,分别是 remove,pop 和 d ...

  6. docker:compose实战

    1.用docker-compose拉起三个容器:nginx->ghost博客平台->mysql,拉起后可以直接访问ghost博客平台 2.目录结构: ghost: data docker- ...

  7. Protobuf在Python中的应用(序列化数据)

    1.了解Protobuf Protocol Buffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据 - 对比XML,但更小,更快,更简单.您可以定义数据的结构化,然后可 ...

  8. 开发一款让我们慢慢变好的微信小程序

    1. 前言 朋友,你还记得你想学编程最初的目的是什么吗? 先说说我的吧,我最初想学编程的目的只有一点,感觉编程很酷,会写代码的人很厉害!.随着后面参加工作,我马上产生了让我能够在编程这条路上继续走下去 ...

  9. [题解][YZOJ50113] 枇杷树

    简要题意 \(m\) 个操作,每次操作都会产生一个树的版本 \((\)从 \(0\) 开始\()\). 一次操作把 \(x_i\) 版本的树的点 \(u\) 和 \(y_i\) 版本的树的点 \(v\ ...

  10. 通过代码解释什么是API,什么是SDK?

    这个问题说来惭愧,读书时找实习面的第一家公司,问的第一个问题就是这个. 当时我没能说清楚,回去之后就上百度查.结果查了很久还是看不懂,然后就把这个问题搁置了. 谁知道毕业正式工作后,又再一次地面对了这 ...