名词解释

页面:

页面大小:

页表:

页表项:

以上名词解释见: coursera 《现代操作系统》 -- 第七周 存储模型(1)

页表项大小:

问:以上是怎么计算出来的?

32位指什么?

页缓冲技术

问:为什么置换出去还要保留到内存,置换不就是为了减少内存的消耗吗?而留在内存中还是消耗的。

快表 (TLB)

引入快表的原因

解决办法

加快地址访问速度,以改善系统性能

程序访问的局部性原理1 -> 引入快表

快表是什么

加入 TLB 后的地址转换过程

首先第一件事是先查 快表 TLB,我们可以看到这张图里头示意出是 并行地去进行比较啊确定 你要访问的这个页表项是不是在 快表里头,当然有两种结果,一种就是命中 叫做 TLB hit,就是命中了。 如果命中了,那我就可以 得到了这个虚页号所对应的页框号,我就可以直接拼接出 物理地址了。 当然也可能会出现没有命中的情况,比如说如果没有命中,那么下面 这个 MMU 继续用这个虚页号去查页表 啊查页表,这就是 TLB miss 的时候就去查页表 那么查了页表,找到了对应的页表项,我们还要看它的这个有效位是不是 0 或还是 1 如果是 1,那么说明这个页框啊内容已经是这个读入内存的内容了,那么这个时候 就需要从页表项当中得到了页框号,也是可以形成物理地址 那么也可能这个有效位是 0,表示这个页面还没有读入 内存,这个时候就要产生一个啊异常,叫做 Page fault 异常 那么 page fault 异常就是转入了操作系统,操作系统就会 做相应的工作。 比如说,到磁盘上把相应的页面 先调入内存,就得到了页框号,再去把页表 填好,然后再重新再进行地址转换 啊,得到了相应的物理地址,来去访问内存 所以这就是加入了快表之后的地址转换的一个过程的一个示意

页错误 (Page fault)

它通常指的是在地址转换的过程中, 硬件发现了一些问题,然后产生了异常。 那么我们知道第二讲我们讲过,产生异常之后呢就进入了 操作系统,由操作系统呢来处理这样一些 情况啊,所以这个机制呢,大家结合啊第二讲所讲的内容来理解。

驻留集

置换问题

置换范围

置换策略

页框锁定

为了使进程运行时间更稳定、更好预测

清除策略

保证系统中存在一定的空闲页框数,能提高效率

页缓冲技术

收回页框

页框收回后,数据保存到磁盘,在页表上标记为空闲。但是,直到这个页框被新的数据覆盖之前,这个页框还是保留之前的数据。所以,当一个进程需要使用已经被置换出的页框,但是这个页框还保留有原来的数据,没有被新的数据覆盖,将这个页框从空闲页框中恢复出来即可。

错题

提出存储层次体系的主要依据是

存储保护技术

程序访问的局部性原理

虚拟存储技术

多道程序设计技术

在虚拟页式存储系统中,若页面尺寸为4K,页表项大小为4字节,则采用三级页表结构可以表示多大的虚拟地址空间?

239

220

242

248

参考:

1.程序访问的局部性原理:程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。局部性原理又表现为:时间局部性和空间局部性。时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。

转载于:https://www.cnblogs.com/jay54520/p/6607662.html

coursera 《现代操作系统》 -- 第八周 存储模型(2)相关推荐

  1. 《Linux内核设计与实现》 第八周读书笔记 第四章 进程调度

    20135307 张嘉琪 第八周读书笔记 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有 ...

  2. 20172311《程序设计与数据结构》第八周学习总结

    20172311<程序设计与数据结构>第八周学习总结 教材学习内容总结 第十二章 优先队列与堆 堆(heap)就是具有两个附加属性的一颗二叉树 1.它是一颗完全树 2.对每一个节点,它小于 ...

  3. 2018-2019-1 20165236《信息安全系统设计基础》第八周学习总结

    2018-2019-1 20165236<信息安全系统设计基础>第八周学习总结 一.教材内容总结 1.进程 程序级并发.每个逻辑控制流都是一个进程,由内核来调度和维护.由于进程有独立的虚拟 ...

  4. JAVA第八周学习总结

    201711671102 曾燃亮 <java程序设计>第8周学习总结 教材学习内容总结 第九章 组件及事件处理 一.Java Swing概述 java的java.awt包,即java的抽象 ...

  5. 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(◍°∇°◍) ...

  6. 20165302第八周总结

    20165302第八周总结 进程与线程 线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,没有进程就不会有线程,就像没有操作系统就不会有进程一样 main线程 当 ...

  7. 2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试

    2017-2018-1 20155336 <信息安全系统设计基础>第八周课堂测试 1.求命令行传入整数参数的和 参考 http://www.cnblogs.com/rocedu/p/676 ...

  8. 20165306 第八周学习任务

    第八周学习任务 教材学习内容总结 12.1进程与线程 1.操作系统与进程 程序是一段静态的代码,进程是程序的一次动态执行过程,这个过程也是进程本身从产生.发展至消亡的过程. 可以让计算机系统中的多个进 ...

  9. Apache Cassandra 数据存储模型

    我们在<Apache Cassandra 简介>文章中介绍了 Cassandra 的数据模型类似于 Google 的 Bigtable,对应的开源实现为 Apache HBase,而且我们 ...

  10. 【华为云技术分享】ARMv8-A存储模型概述(1)

    上两期中我们介绍了处理器存储模型的一般概念,这一期我们将介绍ARMv8-A架构中的地址转换系统. 一.VMSAv8-64地址转换系统 虚拟内存系统架构(Virtual MemorySystem Arc ...

最新文章

  1. spark官方文档_Apache Spark 文档传送门
  2. 【数学和算法】初识卡尔曼滤波器(一)
  3. 杨老师的新课!数学应用
  4. cmd中操作数据库的那些常见命令
  5. 国内芯片60个细分领域重要代表企业【收藏】
  6. Java 在指定目录中查找文件
  7. 80-20-075-原理-Flink内存管理
  8. “众矢之的”马库斯回应14个问题,将深度学习质疑到底
  9. matlab有参函数,定义含参量函数 matlab
  10. php fpm 报错,PHP-FPM安装报错解决
  11. et200s模块接线图讲解_ET200S 模块说明
  12. [转]采购订单或采购申请审批状态为IN PROCESS的解决方法
  13. python process 函数_Python使用进程Process模块管理资源
  14. C语言用一维数组模拟抛硬币,模拟抛硬币(C语言实现)
  15. java脚本引擎Rhino 入门
  16. Pat(Advanced Level)Practice--1054(The Dominant Color)
  17. 物联网技能大赛-Ubuntu-(4)
  18. C语言输入一个日期,计算这一天是周几
  19. NYOJ 87-棋盘分割(记忆化搜索)
  20. tensorRT在yolo上的使用

热门文章

  1. gateway nacos注册服务_第二篇 Spring Cloud Alibaba实战(一)Nacos服务注册与发现
  2. java redis 哨兵_突破Java面试(23-7) - Redis的哨兵架构
  3. try catch与异常的说明
  4. Nginx源码分析 - 基础数据结构篇 - hash表结构 ngx_hash.c(07)
  5. Linux系统编程 -- 信号及signal函数
  6. 第一部分 线程APIs(Thread APIs)线程和运行(Threads and Runnables)
  7. 【渝粤教育】国家开放大学2018年秋季 2632T城市轨道交通客运组织 参考试题
  8. 【渝粤教育】电大中专电商运营实操 (16)作业 题库
  9. 【渝粤题库】陕西师范大学163212旅游地理学 作业(专升本)
  10. 论文笔记:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection