问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

内存的段页式管理到底是如何管理的?是为了解决什么问题?

发布网友 发布时间:2022-05-13 18:30

我来回答

2个回答

热心网友 时间:2022-04-21 23:41

  页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。

  1 静态页式管理。静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。静态页式管理解决了分区管理时的碎片问题。但是,由于静态页式管理要求进程或作业在执行前全部装入内存,如果可用页面数小于用户要求时,该作业或进程只好等待。而且作业和进程的大小仍受内存可用页面数的*。
  2 动态页式管理。动态页式管理是在静态页式管理的基础上发展起来的。它分为请求页式管理和预调入页式管理。
  优点: 没有外碎片,每个内碎片不超过页大小。一个程序不必连续存放。便于改变程序占用空间的大小(主要指随着程序运行而动态生成的数据增多,要求地址空间相应增长,通常由系统调用完成而不是操作系统自动完成)。
  缺点:程序全部装入内存。
  要求有相应的硬件支持。例如地址变换机构,缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。这增加了机器成本。增加了系统开销,例如缺页中断处理机,请求调页的算法如选择不当,有可能产生抖动现象。 虽然消除了碎片,但每个作业或进程的最后一页内总有一部分空间得不到利用果页面较大,则这一部分的损失仍然较大。

热心网友 时间:2022-04-22 00:59

一 页式管理
1 页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。

它分为
1 静态页式管理。静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。静态页式管理解决了分区管理时的碎片问题。但是,由于静态页式管理要求进程或作业在执行前全部装入内存,如果可用页面数小于用户要求时,该作业或进程只好等待。而且作业和进程的大小仍受内存可用页面数的*。

2 动态页式管理。动态页式管理是在静态页式管理的基础上发展起来的。它分为请求页式管理和预调入页式管理。

优点: 没有外碎片,每个内碎片不超过页大小。一个程序不必连续存放。便于改变程序占用空间的大小(主要指随着程序运行而动态生成的数据增多,要求地址空间相应增长,通常由系统调用完成而不是操作系统自动完成)。

缺点:程序全部装入内存。
要求有相应的硬件支持。例如地址变换机构,缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。这增加了机器成本。增加了系统开销,例如缺页中断处理机,请求调页的算法如选择不当,有可能产生抖动现象。 虽然消除了碎片,但每个作业或进程的最后一页内总有一部分空间得不到利用果页面较大,则这一部分的损失仍然较大。

二 段式管理的基本思想

把程序按内容或过程(函数)关系分成段,每段有自己的名字。一个用户作业或进程所包含的段对应一个二维线形虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址影射机构把段式虚拟地址转换为实际内存物理地址。
程序通过分段(segmentation)划分为多个模块,如代码段、数据段、共享段。其优点是: 可以分别编写和编译。 可以针对不同类型的段采取不同的保护。 可以按段为单位来进行共享,包括通过动态链接进行代码共享。

三 段页式管理的实现原理

1 虚地址的构成
一个进程中所包含的具有独立逻辑功能的程序或数据仍被划分为段,并有各自的段号s。这反映相继承了段式管理的特征。其次,对于段s中的程序或数据,则按照一定的大小将其划分为不同的页。和页式系统一样,最后不足一页的部分仍占一页。这反映了段页式管理中的页式特征。从而,段页式管理时的进程的虚拟地址空间中的虚拟地址由三部分组成:即段号s,页号P和页内相对地址d。虚拟空间的最小单位是页而不是段,从而内存可用区也就被划分成为着干个大小相等的页面,且每段所拥有的程序和数据在内存中可以分开存放。分段的大小也不再受内存可用区的*。
2 段表和页表
为了实现段页式管理,系统必须为每个作业或进程建立一张段表以管理内存分配与释放、缺段处理、存储保护相地址变换等。另外,由于一个段又被划分成了若干页,每个段又必须建立一张页表以把段中的虚页变换成内存中的实际页面。显然,与页式管理时相同,页表中也要有相应的实现缺页中断处理和页面保护等功能的表项。另外,由于在段页式管理中,页表不再是属于进程而是属于某个段,因此,段表中应有专项指出该段所对应页表的页表始址和页表长度。
3 动态地址变换过程
在一般使用段页式存储管理方式的计算机系统中,都在内存中辟出一块固定的区域存放进程的段表和页表。因此,在段页式管理系统中,要对内存中指令或数据进行一次存取的话,至少需要访问三次以上的内存:

第一次是由段表地址寄存器得段表始址后访问段表,由此取出对应段的页表在内存中的地址。

第二次则是访问页表得到所要访问的物理地址。

第三次才能访问真正需要访问的物理单元。

显然,这将使CPU的执行指令速度大大降低。为了提高地址转换速度,设置快速联想寄存器就显得比段式管理或页式管理时更加需要。在快速联想寄存器中,存放当前最常用的段号s、页号p和对应的内存页面与其它控制用栏目。当要访问内存空间某一单元时,可在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号。如果所要访问的段或页在快速联想寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址。

总之,因为段页式管理是段式管理的页式管理方案结合而成的,所以具有它们二者的优点。但反过来说,由于管理软件的增加,复杂性和开销也就随之增加了。另外,需要的硬件以及占用的内存也有所增加。更重要的是,如果不采用联想寄存器的方式提高CPU的访内速度,将会使得执行速度大大下降。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
运航不锈钢304方管有哪几种型号 镀锌方管有哪些型号 方管型号有哪些 方管的型号有哪些 牌照过户要换新的吗 ...自己一辆江苏牌照的小汽车,名下还能拥有一辆杭州牌照的车吗?_百度... 方管有哪些厚度 国标方管的厚度有哪些规格? 学龄前,应该教会孩子哪些技能才合适? 对学龄前孩童来说什么最重要? 什么是请求页式管理 请求分页存储管理方式中页面置换算法的模拟与实现 用java实现的 我急需 谢谢 未来我们可以成为好友的 C语言怎么实现模拟请求段式存储管理-NRU? 设计一个请求页式存储管理方案,并编写模拟程序实现之。 请求调页存储管理方式的模拟 请求调页存储管理方式的模拟,谢谢,急啊! 有没有人清楚洗衣机进水阀原理? 什么时候吃钙片效果最好 英雄联盟抽奖活动合成能不能合出限定皮肤? lol抽奖所谓的服务器整点 我怎么知道什么时候是整点 为什么好多主播从送礼粉丝中通过抽奖的方式抽号打英雄联盟(例如魔兽后裔,大湿兄等)拳头和腾讯公司不管 lol直播抽奖中的道具是什么 catia中文版能转英文版的么? catia如何更改默认语言为英文? 如何设置英文界面、中文界面两个不同的快捷启动 catia如何在英文的显示界面里打开中文路径下的以英文命名的文件 如何改变Catia中的中文标注??? 水萝卜怎么做凉菜好吃 catia的中文界面怎么设置? Proe、UG、CATIA的界面都能设置成中英文界面吗/ 怎样更改中国银行个人网上银行用户名 新手画眉用哪个牌子的眉笔比较好?还有什么样的眉笔比较好画? 官网什么样的眉笔最好用 新手画眉适合用什么样的眉笔呢? 梦见男人生个狗崽子 梦见自己生两只残疾的狗崽子 不化妆可以画眉吗?需要哪些东西?求指导。 PS:眉笔、眉粉、眉膏都有什么区别?初学适合用哪些?谢绝 昨晚上做梦见自己家的布偶猫生了一窝小猫崽梦里还有拉布拉多犬也生了一窝小狗崽,什么寓意呀 移动5g网络推出后2g还可以用吗 5g手机在2g网络区能用吗 5G 手机是否可以使用 2G、3G、4G 网络? 林内燃气的通讯按钮在哪里 各位,我想提高点英语水平,有什么网站可以介绍给我吗,要比较受欢迎的,谢谢了 想快速提升口语,因为要面试,有什么好方法?背单词很重要么,有好的方法么 为什么我的口语表达能力总是无法提高? 初二几何证明题 ps2模拟器 机战ogs 金手指 榨油机出饼不成形或泡沫增多,是怎么回事? 辩论赛求助:安全意识与安全措施谁更有助于避免安全事故? 小型榨油机出饼带油故障怎样解决