首页 页式段式存储管理及实例

页式段式存储管理及实例

举报
开通vip

页式段式存储管理及实例页式段式存储管理及实例 页式段式存储管理及实例2010年04月21日星期三13:02 一页式管理1页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。它分为1静态页式管理。静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页...

页式段式存储管理及实例
页式段式存储管理及实例 页式段式存储管理及实例2010年04月21日星期三13:02 一页式管理1页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。它分为1静态页式管理。静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。静态页式管理解决了分区管理时的碎片问题。但是,由于静态页式管理要求进程或作业在执行前全部装入内存,如果可用页面数小于用户要求时,该作业或进程只好等待。而且作业和进程的大小仍受内存可用页面数的限制。2动态页式管理。动态页式管理是在静态页式管理的基础上发展起来的。它分为请求页式管理和预调入页式管理。优点:没有外碎片,每个内碎片不超过页大小。一个程序不必连续存放。便于改变程序占用空间的大小(主要指随着程序运行而动态生成的数据增多,要求地址空间相应增长,通常由系统调用完成而不是操作系统自动完成)。缺点:程序全部装入内存。要求有相应的硬件支持。例如地址变换机构,缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。这增加了机器成本。增加了系统开销,例如缺页中断处理机,请求调页的算法如选择不当,有可能产生抖动现象。虽然消除了碎片,但每个作业或进程的最后一页内总有一部分空间得不到利用果页面较大,则这一部分的损失仍然较大。二段式管理的基本思想把程序按内容或过程(函数)关系分成段,每段有自己的名字。一个用户作业或进程所包含的段对应一个二维线形虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址影射机构把段式虚拟地址转换为实际内存物理地址。程序通过分段(segmentation)划分为多个模块,如代码段、数据段、共享段。其优点是:可以分别编写和编译。可以针对不同类型的段采取不同的保护。可以按段为单位来进行共享,包括通过动态链接进行代码共享。三段页式管理的实现原理1虚地址的构成一个进程中所包含的具有独立逻辑功能的程序或数据仍被划分为段,并有各自的段号s。这反映相继承了段式管理的特征。其次, 对于段s中的程序或数据,则按照一定的大小将其划分为不同的页。和页式系统一样,最后不足一页的部分仍占一页。这反映了段页式管理中的页式特征。从而,段页式管理时的进程的虚拟地址空间中的虚拟地址由三部分组成:即段 ,页号p和页内相对地址d。虚拟空间的最小单位是页而不是段,从而内存号s 可用区也就被划分成为着干个大小相等的页面,且每段所拥有的程序和数据在内存中可以分开存放。分段的大小也不再受内存可用区的限制。2段表和页表为了实现段页式管理,系统必须为每个作业或进程建立一张段表以管理内存分配与释放、缺段处理、存储保护相地址变换等。另外,由于一个段又被划分成了若干页,每个段又必须建立一张页表以把段中的虚页变换成内存中的实际页面。显然,与页式管理时相同,页表中也要有相应的实现缺页中断处理和页面保护等功能的表项。另外,由于在段页式管理中,页表不再是属于进程而是属于某个段,因此,段表中应有专项指出该段所对应页表的页表始址和页表长度。3动态地址变换过程在一般使用段页式存储管理方式的计算机系统中,都在内存中辟出一块固定的区域存放进程的段表和页表。因此,在段页式管理系统中,要对内存中指令或数据进行一次存取的话,至少需要访问三次以上的内存:第一次是由段表地址寄存器得段表始址后访问段表,由此取出对应段的页表在内存中的地址。第二次则是访问页表得到所要访问的物理地址。第三次才能访问真正需要访问的物理单元。显然,这将使cpu的执行指令速度大大降低。为了提高地址转换速度,设置快速联想寄存器就显得比段式管理或页式管理时更加需要。在快速联想寄存器中,存放当前最常用的段号s、页号p和对应的内存页面与其它控制用栏目。当要访问内存空间某一单元时,可在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号。如果所要访问的段或页在快速联想寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址。总之,因为段页式管理是段式管理的页式管理 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 结合而成的,所以具有它们二者的优点。但反过来说,由于管理软件的增加,复杂性和开销也就随之增加了。另外,需要的硬件以及占用的内存也有所增加。更重要的是,如果不采用联想寄存器的方式提高cpu的访内速度,将会使得执行速度大大下降。 #include stdio.h#include stdlib.h#define BUSY 0#define NOTBUSY 1struct Page{int PNumber;//页号int BNumber;//物理块号int Count;//计数器bool State;//状态位}Page[6]={{0,2,3,true},{1,1,2,true},{2,- 1,0,false},{3,0,1,true},{4,-1,0,false},{5,-1,0,false}};//对页表进行初始化//利用结构体数组存储页表struct Physical{int BNumber;//物理块号int State;//状态位}Physical[3]={{0,1},{1,1},{2,1}};//利用结构体数组初始化页框int main(){int P,BNumber;int i,j,k;int MaxSzie,MaxCount=0;printf("\nPlease input the size of the course:");scanf("%d",&MaxSzie);//输入进程大小int Address;printf("\nPlease input the address:");scanf("%d",&Address);//输入要访问的地址 while(Address 0||Address MaxSzie){printf("ERROR");printf("\nPlease input the address again:");scanf("%d",&Address);}P=Address/1024;for(i=0;i=5;i++){if(Page[i].PNumber==P&&Page[i].State==true)//在页表中并在主存中{printf("\n页在主存,打印页表:");printf("\n页号:%d物理块号:%d状 }}for(i=0;态:%d",Page[i].PNumber,Page[i].BNumber,Page[i].State); i=5;i++){if(Page[i].PNumber==P&&Page[i].State==false){printf("\n在辅存");//判断页面是否已满 if(Physical[0].State==BUSY&&Physical[1].State==BUSY&&Physical[2].Stat e==BUSY){for(j=0;j=5; j++){if(Page[j].Count=MaxCount&&Page[j].State==true){MaxCount=Page[j] .Count;k=j;}}BNumber=Page[k].BNumber;Page[k].Count=0; Page[k].State=false;Page[i].BNumber=BNumber;Page[i].State=true;//修改count for(j=0;j=5; j++)if(Page[j].State==true)Page[j].Count=Page[j].Count+1;//淘汰页面,重新调入printf("/n页在辅存并已调入主存,打印页表:");printf("\n页号:%d物理块号:%d状 态:%d",Page[i].PNumber,Page[i].BNumber,Page[i].State);}else{for(j=0;j=2; j++){if(Physical[j].State==NOTBUSY){Page[i].BNumber=Physical[j].BNumb er;Page[i].State=true;for(j=0;j=5; j++)if(Page[j].State==true)Page[j].Count=Page[j].Count+1;printf("/n页在辅存,打印页表:");printf("\n页号:%d物理块号:%d状 态:%d",Page[i].PNumber,Page[i].BNumber,Page[i].State);}}}}}system("PAUSE");/*pause to see the result*/return 0;}
本文档为【页式段式存储管理及实例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_995397
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:4
分类:生活休闲
上传时间:2017-11-14
浏览量:42