名词解释

页面:

页面大小:

页表:

页表项:

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

coursera 《现代操作系统》 -- 第八周 存储模型(2)的更多相关文章

  1. coursera 《现代操作系统》 -- 第七周 存储模型(1)

    虚拟地址 隔离进程,便于管理. 问:为什么不直接划分物理地址为一块一块,直接管理,而要做一层虚拟地址的映射呢? 栈和堆 Differences between Stack and Heap Stack ...

  2. 操作系统学习笔记----进程/线程模型----Coursera课程笔记

    操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...

  3. SQLite入门与分析(八)---存储模型(1)

    写在前面:SQLite作为嵌入式数据库,通常针对的应用的数据量相对于通常DBMS的数据量是较小的.所以它的存储模型设计得非常简单,总的来说,SQLite把一个数据文件分成若干大小相等的页面,然后以B树 ...

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

    <Linux内核设计与实现>第八周读书笔记——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配 ...

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

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

  6. 20165223《信息安全系统设计基础》第九周学习总结 & 第八周课上测试

    目录 [第九周学习总结] 教材内容总结 [第八周课上测试] (一)求命令行传入整数参数的和 (二)练习Y86-64模拟器汇编 (三)基于socket实现daytime(13)服务器和客户端 参考资料 ...

  7. 20172325 2018-2019-2 《Java程序设计》第八周学习总结

    20172325 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 一.堆 1.什么是堆? 具有两个附加属性的一个二叉树. 堆分为小顶堆和大顶堆. 最小堆:对每 ...

  8. 20155315 2016-2017-2 《Java程序设计》第八周学习总结

    教材学习内容总结 第14章 NIO与NIO2 1.认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据区块进 ...

  9. 20135302魏静静——linux课程第八周实验及总结

    linux课程第八周实验及总结 实验及学习总结 1. 进程切换在内核中的实现 linux中进程切换是很常见的一个操作,而这个操作是在内核中实现的. 实现的时机有以下三个时机: 中断处理过程(包括时钟中 ...

随机推荐

  1. Loadrunner11之VuGen常用函数lr_user_data_point(一)

    Loadrunner11之VuGen常用函数lr_user_data_point(一) 上一篇 / 下一篇  2011-11-15 00:15:33 / 精华(1) / 置顶(1) / 个人分类:性能 ...

  2. mongoDB 获取最后插入的文档的ObjectID/_id方法

    http://stackoverflow.com/questions/3338999/get-id-of-last-inserted-document-in-a-mongodb-w-java-driv ...

  3. struts上传文件 血案

    记录一个图片上传之后没有后缀 拓展名问题 平常我们查询数据都是  fileImage=fileImageService.getQuery();  让entity等于它 那么fileImage.getF ...

  4. ExtjS学习--------Ext.define定义类

    Ext类Class的配置项:(注:Extjs的 的中文版帮助文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 ExtJS配置文件和演 ...

  5. jQuery 如何存储,获取和删除 Cookies

    jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { options = option ...

  6. webpack 环境搭建基础框架

    一.安装babel相关 1,安装依赖 cnpm i -D babel-core babel-loader babel-preset-env babel-preset-stage- babel-plug ...

  7. 用brew安装gcc48

    由于mac自带的gcc的版本过低,因此想自己装一个新的gcc. 在网上搜索了一圈后发现用brew install安装比较简单,但可能由于本地的brew有冲突,因此网上的攻略都没有效果. 通过在gith ...

  8. atitit.跨语言执行cmd cli api的原理及兼容性设计草案

    atitit.跨语言执行cmd cli api的原理及兼容性设计草案 1. 标准输入,标准输出,标准错误与重新定向1 2. 常见问题2 2.1. 执行bat文件2 2.2. 执行bat文件  /c   ...

  9. Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap

    Atitit.java 虚拟机的构成 与指令分类 与 指令集合 以及字节码查看工具javjap 1.1. 虚拟机的构成 java虚拟机--处理器.堆栈.寄存器.指令系统. 1 1.2. 虚拟机执行过程 ...

  10. Redis_发布订阅(基础)

    目录 前言 生产者和消费者 发布和订阅 Java实现 注意 前言 随着业务复杂, 业务的项目依赖关系增强, 使用消息队列帮助系统降低耦合度.发布订阅(pub/sub)是一种消息通信模式,主要目的是解除 ...