版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机科学与技术学院20072008 学年第一学期 操作系统课程设计题目: 模拟段页式存储管理地址变换 教师: 班级: 050341D班 学号: 050341404 姓名: 成绩: 1. 题目分析1.1 设计目的l 了解内存管理机制,掌握段页式虚拟存储技术;l 理解内存分配原理,特别是以页面为单位的虚拟内存分配方法;l 用可视化界面来掌握操作系统的知识。1.2 设计内容l 根据逻辑地址中的段号进行查找,先查找快表。如果找到,则形成物理地址,否则进行后续步骤;l 通过段表始址寄存器,查找段表在内存中的始址;l 通过段表并根据段号,查找页表所在位置;l 访问页表,根据逻辑页号查找该页所在的物理块号
2、;l 将物理块号和逻辑地址中的页内地址拼接,形成访问内存单元的物理地址。1.3 相关知识概述l 段页式存储管理的主要内容是:l (1)用页式方法来分配和管理内存空间,即:把内存分为若干大小相等的页面;l (2)用段式方法对用户程序按照其内在的逻辑关系划分成若干段;l (3)再按照划分的内存页面的大小,把每一段内划分成若干大小相等的页面;l (4)用户程序的逻辑地址由三部分组成:段号(s),页号(p),页内地址(d);l (5)内存是以页为基本单位分配给每个用户程序的,在逻辑上相邻的页面在内存不一定相邻。1.4 基本设计思路l (1)建立段表l 系统为每个用户程序建立一张段表,用于记录各段的页表
3、始址和页表长度。l (2)建立页表l 系统为用户程序的每一段各建立一张页表,用于记录该段中各逻辑页号与物理块号之间的对应关系。l 段表、页表和内存的关系如图所示。 段表地址寄存器段表起始地址段号页表长度页表始址页号块号0段页表页号块号1段页表内存空间如图 段表、页表和内存的关系段表l (3)建立内存空闲页面表l 整个系统建立一张内存空闲页面表,用于记录并管理内存空闲页面。l (4)硬件支持l 为加快地址映射速度,硬件需要提供如下2个寄存器: 段表始址寄存器; 段表长度寄存器;l (5)地址映射过程l 在段页式存储管理中,要访问内存的单元,则要经过如下地址转换步骤,才能得到最终的物理地址。l 根
4、据逻辑地址中的段号查找快表。如果找到,则形成物理地址,否则进行后续步骤;l 通过段表始址寄存器,查找段表在内存中的始址;l 通过段表并根据段号,查找页表所在位置;l 访问页表,根据逻辑页号查找该页所在的物理块号;l 将物理块号和逻辑地址中的页内地址拼接,形成访问内存单元的物理地址;2. 概要设计2.1 功能模块逻辑地址(段号、页号、页内地址)段越界段号(段表始址寄存器)段号S Y页越界页号(页表始址寄存器)页号P页内地址物理块号物理地址返回2.2 主要数据结构描述逻辑地址l 对段表与页表中的数据的存储如下: 段号:0 段号:1002121页号:43436565878799 段表和页表的存储以由
5、低到高的优先级顺序进行编排,在进行程序分段分析的时候用到了堆栈和队列,以便对程序的语句进行逐个分析。3. 详细设计3.1 主要算法描述主要代码:void CScannerDlg:ShowOut() m33=0; m10=1A; /初始化常数m7=1; m11=14;m8=2; m12=B3;m9=3; m13=4C;m18=0; m14=0;m19=1; m15=10;m20=2; m16=20;m21=3; m17=30;m22=10; m23=10; m26=0;m24=10; m25=10; m28=6;UpdateData(false);m_result+=-(段0)关键字段-;m_r
6、esult+=rn;CVocabulary bu;int n1=0;for(int i=1;i39;i+) if(PrimaryKeyi=1)m_result+=bu.Vocabularyi; n1+=1; m_result+=rn;m1=n1;UpdateData(false);m_result+=-(段1)符号段-;m_result+=rn;int n2=0;for(i=51;i86;i+)if(Symboli-50=1)m_result+=bu.Vocabularyi;n2+=1;m_result+=rn; m2=n2;UpdateData(false);m_result+=-(段2)标
7、识段-;m_result+=rn;int n3=0;for(i=0;i50;i+)if(Identifieri!=) m_result+=Identifieri;n3+=1;m_result+=rn;m3=n3;UpdateData(false);m_result+=-(段3)常数段-;m_result+=rn;int l=0;int n4=0;for(i=0;i50;i+)m_result+=Consti; n4=+1; m_result+=rn;m4=n4;UpdateData(false);void CScannerDlg:OnButton1() / TODO: Add your con
8、trol notification handler code hereif(m33m28) UpdateData(true);m32=m33+m26;m36=m10;UpdateData(false);if(m32=m18) /查段表if(m1m22) m27=m1+m14; /查页表 UpdateData(false); else MessageBox(页越界!,越界中断,MB_ICONEXCLAMATION); return; if(m32=m19)if(m1m23) m27=m1+m15; UpdateData(false); else MessageBox(页越界!,越界中断,MB_I
9、CONEXCLAMATION); return;if(m32=m20)if(m1m24) m27=m1+m16; UpdateData(false); else MessageBox(页越界!,越界中断,MB_ICONEXCLAMATION); return;if(m32=m21)if(m1m25) m27=m1+m17; UpdateData(false); else MessageBox(页越界!,越界中断,MB_ICONEXCLAMATION); return;else MessageBox(未找到!,越界中断,MB_ICONEXCLAMATION); return; else Mess
10、ageBox(段越界!,越界中断,MB_ICONEXCLAMATION); return;3.2 程序界面设计4. 编码实现4.1 开发工具简介Visual C+4.2 实现过程总结对于分析器的设计只设计了四个段,整个程序都是在围绕四个程序段进行存取。这是一个段页式地址转换的过程,其实,数据的存取对于此程序是个虚拟的过程。内存中的段表与页表也是虚拟出来的,程序需要查询段表和页表两个表,并通过使用段表始址寄存器与页表始址寄存器来确定要查找的段号与页号。通过此程序中地址的转化过程,使自己在存储管理面方面了解了很多,了解了内存管理机制,掌握了段页式虚拟存储技术;理解了内存分配原理,特别是以页面为单位
11、的虚拟内存分配方法;并加深了以可视化界面来掌握系统知识的能力。4.3 程序使用手册 先通过“打开文件”按钮添加源程序,或者编写一段代码,然后点“分析”按钮,分析结果一栏显示划分成段后的结果,并且逻辑地址表中显示每段的段号以及每段的最后的一个单元的页号和页内地址,系统的段表与页表内的数值开始是默认,也可以修改,包括要转化的逻辑地址也可以修改,一旦修改即要据此来进行转化,点“”按钮进行转换查询。5. 结果分析与总结5.1 结果分析 将段号、页号、页内地址分别为2、3、B3的逻辑地址,在段表始址为0,段表长度为6,页表始址为0,页表长度都为10的情况下,转化为物理地址为23B3。结果正确。5.2 总结与建议 由理论知识到具体模型的建立是一个困难的过程,需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年工程装修电工分包服务协议2篇
- 2024年度五金建材产品质量保证与检测合同3篇
- 2024年度保安行业人员招聘合同汇编2篇
- 2024年度企业碳中和目标达成协议2篇
- 2024年度水电安装分包协议书
- 2024年度镍矿石进口关税减免与销售合同3篇
- 2024年度广告赞助合同之赞助金额与广告露出范围3篇
- 2024年度5吨冷藏车车队运营管理合同3篇
- 2024年度景区旅游团组织合同:某景区与某旅游团组织之间的旅游团组织合作3篇
- 2024年度明星代言产品代言合同范本3篇
- 艾滋病、乙肝、梅毒健康宣教
- 二零二四年度商务考察及交流合同
- 【初中地理】天气与天气预报教学课件-2024-2025学年七年级地理上册(湘教版2024)
- 浙教版(2023)小学信息技术五年级上册第7课《分支结构》说课稿及反思
- 考研计算机学科专业基础(408)研究生考试试卷及答案指导(2024年)
- 【初中生物】脊椎动物-鱼课件2024-2025学年人教版生物七年级上册
- 机械设备售后服务提升方案
- 南京航空航天大学《材料工程基础》2022-2023学年第一学期期末试卷
- PCB设计检查表(评审检查表模板)
- 2024年太阳能发电项目BOT协议
- 工程质量培训
评论
0/150
提交评论