计算机组成--虚拟存储器
实地址:计算机物理内存的访问地址称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间
虚地址:用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为逻辑地址空间或虚存空间
再定位:进行虚地址到实地址转换的过程称为程序的再定位
虚存的访问过程:每次访存时,首先判断虚地址所对应的部分是否在实存中,如果是,则进行地址转换并用实地址访问主存,否则,按照某种算法将辅存中的部分程序调度进内存,再按照同样的方法访问主存
因此,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间,通过规定指令长度。前一种情况以提高存储容量为目的,后一种情况以地址变换为目的,后者通常出现在多用户或多任务系统中。实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度
有了虚存机制后,应用程序就可以透明(可以不需要改动什么东西,照常,是自动转换的,用户察觉不到)的使用整个虚存空间。按理说,如果是32位机,则每个程序都允许4GB的虚存空间,只是因为程序的局部性特征,无法全部同时占用整个物理内存,所以可以进行调度分配,这样既经济也不会太多降低效率,但是我们总的内存条就只有8G,16G等等。
页式虚拟存储器:虚地址空间被分成等长大小的页,称为逻辑页,主存空间也被分成同样大小的页,称为物理页。虚地址分为两个字段,高字段位逻辑页号,低字段位页内地址(偏移量),实存地址也分成两个字段,高字段为物理页号,低字段为页内地址,通过页表可以将虚地转换成物理地址。所以我们创建了一个空的文件,它的大小可能还是4KB,就是因为最小要占用一个页,不同系统一页的容量可能不一致
每个进程所需的页数并不固定,所以页表的长度是可变的,页表的长度可能很长,也就是页表的表项很多,所以页表也会进行分页。一部分在主存中,另一部分在辅存中保存
此外也可以采用二级页表结构,每个进程有一个页目录表,其中每个表项指向一个页表,然后页表表项才是虚地址到实地址的转换。在页表长度较大的系统中,还可以采用反向页表实现物理页号到逻辑页号的反向映射,只是这样的话,虽然能够减小页表所占的空间,但是需要逐项查找
TLB(转换后援缓冲器):专用于页表了缓存的高速存储不见,又称为快表,而保存在主存中的完整页表称为慢表,快表的作用是加快地址变换
内页表和外页表:虚地址到主存物理地址的交换表称为内页表,而将虚地址与辅存地址之间交换表称为外页表
虚存的替换算法:FIFO算法,LRU算法,LFU算法
计算机组成--虚拟存储器相关推荐
- 计算机组成原理—虚拟存储器的分类
建议将思维导图保存下来观看,或点击这里在线观看
- 计算机组成原理—虚拟存储器的基本概念
建议将思维导图保存下来观看,或点击这里在线观看
- (计算机组成原理)虚拟存储器
虚拟存储器的容量是虚拟的,实际上并没有这么多容量,之所以能达到这么大容量,是因为借用了外存的存储空间,把当前不需要访问的数据存放在外存,用内外存数据倒换的时间消耗来换取更大的逻辑存储空间. 虚拟存储器 ...
- 面向面试的Java后端必会知识点概述及面经
博主本人是非科班硕士,今年三四月份时开始刷题准备找工作.实习加秋招投了很多大厂&中厂,但是有小一半都没能进面试.秋招最终拿到了OPPO提前批测开.腾讯音乐后台开发.阿里云Java开发的offe ...
- 虚存的用法计算机组成原理,5.5虚拟存储器计算机组成原理.pdf
计算机 组 成 原 理 在线开放课程 01 虚拟存储器 目录 CATALOG 01 03 02 虚拟存储器 虚拟存储器虚 替换算法 的基本概念 实地址变换 虚拟存储器的基本概念 明德 博学 日新 笃行 ...
- 计算机组成原理页表长度,计算机组成原理(2)-虚拟存储器
虚拟存储器的含义程序员 问题:随着计算机系统软件和应用软件的功能不断加强,某些程序却须要很大的内存才能运行,可是计算机自己的物理内存容量比较小.并且在多用户多任务系统中,多用户或多个任务共享所有主存, ...
- 计算机组成原理 并行、cache、虚拟存储器 练习题
一.填空题 1.有关高速缓冲存储器Cache的说法正确的是( ) . A.只能在CPU以外 B.CPU内外都可以设置Cache C.只能在CPU以内 D.若存在Cache,CPU就不能再访问内存 正 ...
- 计算机组成原理学习笔记第4章 4.12——虚拟存储器
有诗云:苔花如米小,也学牡丹开.--袁枚 本篇笔记整理:Code_流苏(CSDN) Last(在此处点击使用,直达文末) Frist (在文末点击使用,返回文章首部) 目录 0. 思维导图 1. 虚拟 ...
- 计算机操作系统(八)---虚拟存储器
分页存储管理的基本概念 图一 图二 在开始学习的时候一直困惑在虚拟存储器到底作用是什么,为什么要这样子设计,后来看到了后面的工作流程才明白了为什么需要这样子设计. 可以这样 ...
- 计算机操作系统:虚拟存储器
虚拟存储器定义:是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储系统,其逻辑容量由内存容量和外村容量之和所决定 . 虚拟存储器工作情况:基于局部性原理可知,应用程序运行前仅须将那 ...
最新文章
- python 用途-python中的*和**的用途
- Android自定义ViewGroup的OnMeasure和onLayout详解
- 很好的阻止了事件的发生_请定好您的闹钟,八月,夜空中将发生这13件超酷的天文事件...
- ActiveRecordException: The model attribute ysgl is not exists.
- intValue()的用法
- [转载]为什么不推荐使用stop和suspend这两个方法?
- 上海交通大学2006年各学院本科生平均薪酬统计
- JAVA如何分段_OpenCV Java文本分段
- Warning: Each record in table should have a unique `key` prop,or set `rowKey` to 解决方法
- 中传入字符串_JavaScript字符串转数字有什么方法
- 2021年淮南高考成绩查询,2021年淮南高考最高分多少分,历年淮南高考状元
- 单片机modbus rtu通讯_西门子S7-1200与汇川IS620P伺服通讯教程
- 3打包忽略文件夹_Py打包exe(下篇): 进阶——用户体验改进
- 币优网区块链原理浅析
- 云计算、云服务器、云数据库和云存储基本介绍
- 四方光电扬尘传感器PM3006助力打赢蓝天保卫战
- cxy安装rasa心得
- QT学习之路2 学习笔记
- PHP 十六大魔术方法学习
- 夏磊2019MySQL高级学习笔记