模拟设计段式存储管理中地址转换

2019-06-11 19:15

学 号:

课 程 设 计

课程名称 设计题目

计算机操作系统教程

模拟设计段式存储管理中

地址转换

学 院 专 业 班 级 姓 名 指导教师

计算机科学与技术学院 计算机科学与技术专业

2011 年 1

1

月 20 日

课程设计任务书

学生姓名: 专业班级: 计算机

指导教师: 工作单位: 计算机科学与技术学院

题 目: 模拟设计段式存储管理中地址转换 初始条件:

1.预备内容:阅读操作系统的内存管理章节内容,理解段式存储管理的思想及相应的分配主存的过程。

2.实践准备:掌握一种计算机高级语言的使用。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写

等具体要求)

1.实现段式存储管理中逻辑地址到物理地址的转换。能够处理以下的情形:指定内存的大小,进程的个数,每个进程的段数及段大小; 能检查地址的合法性,如果

合法进行转换,否则显示地址非法的原因。

2.设计报告内容应说明:

⑴ ⑵ ⑶ ⑷

课程设计目的与功能;

需求分析,数据结构或模块说明(功能与框图); 源程序的主要部分;

测试用例,运行结果与运行情况分析;

⑸ 自我评价与总结:

i)你认为你完成的设计哪些地方做得比较好或比较出色;

ii)什么地方做得不太好,以后如何改正;

iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他的其他方法(如果有,简要说明该方法); v)对实验题的评价和改进意见,请你推荐设计题目。

时间安排:

设计安排一周:周1、周2:完成程序分析及设计。

周2、周3:完成程序调试及测试。

周4、周5:验收、撰写课程设计报告。

(注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记)

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

2

模拟段式虚拟存储管理中

地址转换

1段式管理的功能

1.1段式管理的基本思想

把程序按内容或过程(函数)关系分成段,每段有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。和页式管理一样,段式管理也采用只把那些经常访问的段驻留内存,而把那些将来一段时间内不被访问的段放入外存,待需要时自动调入的方法实现二维虚拟存储器。

1.2段式存储的实现原理

1.2.1段式虚存空间

段式管理管理把一个进程的虚拟地址空间设计成二维结构,即短号s与段内相对地址w。与页式管理时不一样的是,页式管理中,被划分的页号按顺序编号递增排列,属一维空间,而段式管理中的段号与段号之间无顺序关系。另外,段的划分也不像页的划分那样具有相同的页长,段的长度的不固定的。每个段定义一组逻辑上完整的程序或数据。

每个段是一个首地址为零、连续的一维线性空间。根据需要,段长课动态增长。对

段式虚地址空间的访问包括两个部分:段名和段内地址。其中的段名经编译程序和链接程序编译链接后转换成机器内部可以识别的段号和段内单元号。

3

1.2.2段式管理的内存分配与释放

段式管理中以段为单位分配内存,每段分配一个连续的内存区。由于各段长度不等,所以这些存储区的大小不一。而且,同一进程所包含的各段之间不要求连续。

段式管理的内存分配与释放在作业或进程的执行过程中动态进行。

动态分配过程:

首先,段式管理为进程或作业分配部分内存,以作为该进程的工作区和放置即将执行的程序段。

随着进程的执行,进程根据需要随时申请调入新段和释放老段。 进程对内存区的申请和释放可分为两种情况:

一种是当进程要求调入某一段时,内存中有足够的空闲区满足该段的内存要求

另一种是内存中没有足够的空闲区满足该段的内存要求。

除了初始分配之外,段的动态分配是在CPU所要访问的指令和数据不在内存时产生缺段中断的情况下发生的。

因此,段的淘汰或置换算法实际上是缺段中断处理过程的一部分。

1.2.3 段式管理的地址变换

(1)段表(segment mapping table)

和页式管理方案类似,段式管理程序在进行初始内存分配之前,首先根据用户要求的内存大小为一个作业或进程建立一个段表。

与页式管理时一样,段式管理也是通过段表来进行内存管理。 段号 始址 长度 存取方式 内外 访问位

4

(2)动态地址变换

一般在内存中给出一块固定的区域放置段表。

当某进程开始执行时,管理程序首先把该进程的段表始址放入段表地址寄存器。

通过访问段表寄存器,管理程序得到该进程的段表始址从而可开始访问段表。 然后,由虚地址中的段号s为索引,查段表。 若该段在内存,则判断其存取控制方式是否有错。

如果存取控制方式正确,则从段表相应表目中查出该段在内存的起始地址,并将其和段内相对地址w相加,从而得到实际内存地址。

如果该段不在内存,则产生缺段中断将CPU控制权交给内存分配程序。 内存分配程序首先检查空闲区链,以找到足够长度的空闲区来装入所需要的段。

如果内存中的可用空闲区总数小于所要求的段长时,则检查段表中访问位,以淘汰那些访问概率低的段并将需要段调入。

与页式管理时相同,段式管理时的地址变换过程也必须经过二次以上的内存访问。

首先访问段表以计算得到待访问指令或数据的物理地址。 然后才是对物理地址进行取数据或存数据操作。

为了提高访问速度,页式地址变换时使用的高速联想寄存器的方法也可以用

5


模拟设计段式存储管理中地址转换.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教师资格证中学教育知识与能力辨析题精选

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: