操作系统段页式存储实验报告_第1页
操作系统段页式存储实验报告_第2页
操作系统段页式存储实验报告_第3页
操作系统段页式存储实验报告_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、昆明理工大学(操作系统)实验报告实验名称: 段页式存储管理 专业班级: 电科112 姓名: 学号: 1、 实验目的通过编程加深对基本分页、分段储存管理方式和段页式存储管理的理解,并对每种方式的过程与优缺点进行比较。二、段页式系统的基本原理基本分段存储管理方式和基本分页存储管理方式原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。下图示出了一个作业的地址空间和地址结构。该作业有三个段,页面大小为4 KB。在段页式系统中,其地址结构由段号、段内页号及页内地址三部分所组成,如下图所示。地址变换过程 :在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,

2、其中存放段表始址和段表长TL。进行地址变换时,首先利用段号S,将它与段表长TL进行比较。若STL,表示未越界,于是利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。右图示出了段页式系统中的地址变换机构。在段页式系统中,为了获得一条指令或数据,须三次访问内存。第一次访问是访问内存中的段表,从中取得页表始址;第二次访问是访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所

3、得的地址中,取出指令或数据。显然,这使访问内存的次数增加了近两倍。为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。实验内容:编写一个段页式存储管理程序:内存的大小为2048,分为四段:512、1024、128、384,每个页面大小为8,内存中四个段对应首地址分别为:1000、2000、3500、4000,要求输入一个逻辑地址,输出段表项、页表项、基址寄存器及物理地址。实验程序及结果:实验程序:#include vo

4、id main()int shu,y,y1,d,d1,wu,ji,da,da1;printf(输入逻辑地址:n);scanf(%d,&shu);y1=shu%8;if(y1=0)y=(shu/8)-1;else y=shu/8;if(0=shu&shu=512)d=1;d1=shu;wu=1000+shu;ji=1000;y=y;da=512;da1=5000;else if(512shu&shu=1536) d=2;d1=shu-512; wu=2000+d1;ji=2000;y=y-64;da=1024;da1=5512; else if(1536shu&shu=1664) d=3;d1=shu-1536;wu=3500+d1;ji=3500;y=y-192;da=128;da1=6536;else if(1664shu&shu=2048) d=4;d1=shu-1664;wu=4000+d1;ji=4000;y=y-208;da=384;da1=6664;printf(页表项为:n);printf(%dn%dn,y,y1);printf(段表项为:n);printf(%dn%dn,d,d1);printf(段表大小和段表始址:n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论