计算机系统结构之虚拟存储器

虚拟存储器通过增设地址映像表机构来实现程序在主存中的定位。

一、段式管理

(1)段式管理的基本思想是把程序按内容或过程函数关系分成段,每段有自己的名字。一个用户作业或进程所包含的段对应一个二维线性虚拟空间(二维虚拟存储器)。段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟虚拟地址转换为实际内存物理地址。(2)段式管理逻辑地址转换为物理地址的过程:在段式存储管理中,每个段地址的说明为两个量:一个段名(段基址)和一个位移段内地址/段内偏移量)。

多用户虚地址:基号(程序号:用来找到段表基地址)+段号(可以从0开始顺序编号,正好与段表中的行号对应,段表中就可不设段号字段,段表中地址字段用于表示该段装入主存中的起始地址)+段内位移

已知逻辑地址中的段号和段内地址之后:通过进程的PCB表中找到段表的起始位置,根据段号查出来该段的基址,再加上段内偏移,就是实际的物理地址了。

(3)优点:段的逻辑独立性使其易于编译、管理、修改和保护,也便于多道程序共享。段长可以根据需要动态改变,允许自由调度,以便有效利用主存空间。方便编程,分段共享,分段保护,动态链接,动态增长。

缺点:主存空间分配麻烦。容易在段间留下许多碎片,造成存储空间利用率降低。由于段长不一定是2的整数次冥,因而不能简单地像分页方式那样用虚拟地址和实存地址的最低若干二进制位作为段内地址,并与段号进行直接拼接,必须用加法操作通过段起址与段内地址的求和运算得到物理地址。因此,段式存储管理比页式存储管理方式需要更多的硬件支持。

二、页式管理

(1)页式管理是用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个实际的物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。每个物理块的大小一般取2的整数幂。内存的所有物理块从0开始编号,称作物理页号。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个页面内从0开始编址,称为页内地址。程序中的逻辑地址由两部分组成:页号P和页内位移量W

(2)页式管理逻辑地址转换为物理地址的过程:主要是通过页表。首先根据逻辑地址A,页面大小L, 我们能确定的是页号p = int(A/L),页内偏移是A%L。  之后,分页系统中,允许将进程的每一页离散地存储在内存的任一物理块中,为了能在内存中找到每个页面对应的物理块,系统为每个进程建立一张页表,用于记录进程逻辑页面与内存物理页面之间的对应关系。

逻辑地址由页号和页内偏移组成。通过页号找到页表中的块号,块号*块大小+块偏移就是实际的物理地址。

比如逻辑地址是8203,页面大小是4k = 4096。那么页号是8203/4096 = 2,那么查找页表找到了物理块号是7. 偏移是8203%4000 = 11. 所以实际的物理地址就是7*4096 + 11 = 28683

(3)优点:没有外碎片,内碎片的大小不超过页大小。

缺点:程序全部装入内存,要求有相信的硬件支持,如地址变换机构缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。增加了机械成本和系统开销。

三、段页式存储

基本思想:用分段方法来分配和管理虚拟存储器,用分页方法来分配和管理实存。一个逻辑地址用三个参数表示:段号S;页号P;页内地址d。如下图所示:

因为既包含了段表,又包含有页表,所以系统为每个进程建立一个段表,并且要为该进程段表中的每一个段建立一个页表。系统中有一个段表地址寄存器来指出作业的段表起始地址和段表长度。

(2)段页式管理逻辑地址转换为物理地址过程:

1、进行地址变换时,首先利用段号S,将它与段表长TL进行比较。若S<TL,表示未越界

2、于是利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址

3、利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b

4、 再利用块号b和页内地址来构成物理地址。

也就是说,段号保证能找到这一段中对应的页表起始,而页号能保证能找到在这一页表中页号对应的块号,根据块号和块内地址,就可以找到真正的物理地址了。

(3)优点:

1、它提供了大量的虚拟存储空间。

2、能有效地利用主存,为组织多道程序运行提供了方便。

缺点:

1、 增加了硬件成本、系统的复杂性和管理上的开消。

2、存在着碎片。

3、各种表格要占用主存空间。

总结:

1、段页式管理:段式划分程序,段内分页,页式划分主存,通过段号找到这一段中对应的页表起始,再通过页号可以找到对应的块号,再利用块号和页内地址找到对应的物理地址。

2、某道程序初始运行时,初始化实页号(主存起点)地址字段。

3、全相联映像的定位机构及其地址的变换:因为采用页表作为地址映像表,所以称为页表法。页表压缩成只存放已装入主存的那些虚页与实页位置的对应关系,称为目录表法

简述页式虚拟存储器页面失效和实页冲突发生的原因及所确定替换算法的依据。

当处理机要用到的指令或数据不在主存中时,会发生页面失效;当主存已满且发生页面失效时,会发生实页冲突。替换算法的确定主要看主存是否有高的命中率,是否便于实现和辅助软硬件成本是否低。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/338750.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot实现文件上传功能,整合云服务

文章目录 这是springboot案例的,文件上传功能的拆分,本篇将带大家彻底了解文件上传功能,先从本地存储再到云存储,全网最详细版本,保证可以学会,可以了解文件上传功能的开发文件上传功能剖析进行书写一个小的文件上传文件上传的文件三要素首先表单提交的方式要是 post方式,第二个…

如何从Windows的硬盘中恢复丢失或删除的照片

你有没有不小心删除了一张你再也找不回来的重要照片&#xff1f;如果是您的公司或家庭照片、婚礼或童年回忆&#xff0c;或亲人的照片怎么办&#xff1f; 根据我们的经验&#xff0c;用户通常会在清理计算机的存储/速度时遇到这样的事故&#xff0c;并最终删除包含重要图片的文…

pytorch学习笔记5

transform 本质上作用是将图片通过transform这个这个工具箱获取想要的结果 tensor就是一个包含神经网络需要的一些理论基础的参数 from torch.utils.tensorboard import SummaryWriter from torchvision import transforms from PIL import Image #tensor数据类型 #通过tra…

最新h5st(4.7.2)参数分析与纯算法还原(含算法源码)

文章目录 1. 写在前面2. 加密分析3. 算法还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…

22 、系统安全

新的服务器到手&#xff0c;部署服务器初始化。 1、配置ip地址 网关dns解析&#xff08;static&#xff09;内网和外网。 2、安装源&#xff0c;外网&#xff08;在线即可&#xff09;&#xff0c;内网&#xff08;只能用源码包编译安装&#xff09;。 3、磁盘分区&#xff…

k8s 1.28.x 配置nfs

1.安装nfs&#xff0c;在每个节点上安装 yum install -y nfs-utils 2.创建共享目录(主节点上操作) mkdir -p /opt/nfs/k8s 3.编写NFS的共享配置 /opt/nfs/k8s *(rw,no_root_squash) #*代表对所有IP都开放此目录&#xff0c;rw是读写 4.启动nfs systemctl enable nfs-ser…

十_信号11 - 函数sigsetjmp() 和 siglongjmp()

也就是说&#xff0c;正常情况下&#xff0c;当捕捉到一个信号&#xff0c;并调用该信号的信号处理程序时&#xff0c;被捕捉的信号会被加入到当前进程的信号屏蔽字中&#xff0c;以防止在本次信号处理程序还没有完成的时候&#xff0c;再次触发该信号&#xff0c; 发生重入。 …

Py列表(list)

目录 正向索引&#xff1a; 反向索引&#xff1a; 嵌套列表&#xff1a; 修改列表中的值 列表常用的方法 实例 练习&#xff1a; 正向索引&#xff1a; 从0开始&#xff0c;依次递增。第一个元素的索引为0&#xff0c;第二个元素的索引为1&#xff0c;依此类推。 列表的下标…

JS-09-es6常用知识1

目录 1 模板字符串 1.1 模板字符串基本用法 1.2 模板字符串解决了一些痛点 2 解构赋值 2.1 对象的解构赋值 2.2 函数参数的解构赋值 2.3 补写&#xff1a;属性的简写 3 rest参数 3.1 arguments 3.2 rest参数 3.3 补充&#xff1a;判断数据类型 4 箭头函数 4.1 …

传输中的串扰(八)

串扰指的是有害信号从一个线网传递到相邻线网上。通常把噪声源所在的线网称为动态线或攻击线网&#xff0c;而把有噪声形成的线网称为静态线或受害线网。 静态线上的噪声电压的表现与信号电压完全一样。一旦在静态线上产生噪声电压&#xff0c;它们就会传播并在阻抗突变处出现反…

服务器数据恢复—服务器raid常见故障表现原因解决方案

RAID&#xff08;磁盘阵列&#xff09;是一种将多块物理硬盘整合成一个虚拟存储的技术&#xff0c;raid模块相当于一个存储管理的中间层&#xff0c;上层接收并执行操作系统及文件系统的数据读写指令&#xff0c;下层管理数据在各个物理硬盘上的存储及读写。相对于单独的物理硬…

外卖点餐系统 springboot+vue+element-ui

免费获取方式↓↓↓ 项目介绍038&#xff1a; http://localhost:8080/ 账号&#xff1a;weiguanke 123 系统登陆后展示 用户可视界面 – 登录页面 – 首页&#xff1a; – 店铺查找页面&#xff1a; 店铺查找 – 店铺页面 店铺管理者可视页面 – 店铺页面 店铺管理员…

Redis之持久化、集群

1. Redis持久化 Redis为什么需要持久化?因为Redis的数据我们都知道是存放在内存中的&#xff0c;那么每次关闭或者机器断电&#xff0c;我们的数据旧丢失了。 因此&#xff0c;Redis如果想要被别人使用&#xff0c;这个问题就需要解决&#xff0c;怎么解决呢?就是说我们的数…

Windows通过cmd运行快速启动应用

Windows如何通过cmd运行快速启动应用&#xff1f; 在Windows操作系统中&#xff0c;可以通过配置环境变量的方式将文件的路径配置到环境变量的path中&#xff0c;配置完成后可以在cmd中输入对应的应用名称即可启动应用&#xff0c;具体操作如下&#xff1a; 1. 添加应用程序路径…

力扣62. 不同路径

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。问总共有多少条不同的路径&#xff1f; 示例 1&…

FJSP:蛇鹫优化算法(SBOA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码

详细介绍 FJSP&#xff1a;蛇鹫优化算法&#xff08;Secretary bird optimization algorithm&#xff0c;SBOA&#xff09;求解柔性作业车间调度问题&#xff08;FJSP&#xff09;&#xff0c;提供MATLAB代码-CSDN博客 完整MATLAB代码 FJSP&#xff1a;蛇鹫优化算法&#xff…

spoon工具的常用基础操作

一些常用转换工具 1、emp表输入->excel表输出 emp表输入&#xff0c;可以进行预览查看数据有没有过来excel表输出 成功执行后&#xff0c;可以到保存的excel位置进行查看。 2、excel输入->表输出 运行转换后可以在oracle进行查看是否有成功创建这个表 3、对部门最高…

Java 22的FFM API,比起Java 21的虚拟线程

哪个对Java未来的发展影响更大&#xff1f;两个 Java 版本中的重要特性&#xff1a;Java 21 的虚拟线程和 Java 22 的 FFM API。我这里有一套编程入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习编程&#xff0c;不妨点个关注&#xff0c;给…

原生APP开发和Flutter开发的比较

原生APP开发和Flutter开发各有优缺点&#xff0c;适用于不同的场景和需求。下面是两者的详细比较&#xff0c;从开发语言、性能、开发效率、维护和更新、社区和支持等多个方面进行分析。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。…

【康耐视国产案例】智能AI相机机器视觉精准快速实现包裹标签的智能粘贴

康耐视推出的3D-A1000是专业的、匹配物流行业各类分拣机及包裹检测应用的全功能视觉检测系统&#xff0c;其能够准确检测分拣机上是否有包裹、包裹是否超出边界、空车检测、是否有遗留物品等。由于搭载了专利的三维结构光技术&#xff0c;产品具有更强大的创新性以满足持续更新…