文档介绍:课程设计
课程名称操作系统
学院计算机学院
专业
年级班别
学号
学生姓名
指导教师
2013 年 1 月 7 日
操作系统课程设计任务书
学生姓名
陈泳鑫
专业班级
学号
题目
编程演示三种存储管理方式的地址换算过程
指导教师
林穗
题目编号
2012秋-14
主要内容
1、分页方式的地址换算
2、分段方式的地址换算
3、段页式的地址换算
任务要求
要求演示正确、清晰,编程所用工具不限。
参考文献
[1] 计算机操作系统, 汤小丹等,西安电子科技大学出版社
[2] 操作系统实验指导书,傅秀芬,广东工业大学(自编)
[3] 计算机操作系统教程( 第二版), 张尧学、史美林,清华大学出版社
[4] 现代操作系统, 著,陈向群等译机械工业出版社
审查意见
指导教师签字:
系主任签字: 年月日
设计思想说明
设计环境
在实现地址转换的程序实现时,运用了C++,因为对C语言程序的编写稍微熟悉点,可以很好的编写及调试。程序很容易看懂,输入条件在后边备注。
设计思想
编程演示三种存储管理方式的地址换算过程,分别为分页方式的地址换算,分段方式的地址换算,段页式的地址换算。分页方式通过逻辑地址算出页号与叶内地址,然后通过页表来实现向物理地址的转换。分段方式通过段号和段内地址得到物理地址。段叶式通过段号得到页表首地址,通过页号得到块号,进而得到物理地址。
2、系统结构
程序主要有三个功能,分别是分页方式的地址换算,分段方式的地址换算,段页式的地址换算。Switch函数包含3个case语句,分别用page,Segment,SegPagt完成分页方式的地址换算,分段方式的地址换算,段页式的地址换算。
3、数据结构的说明
typedef struct segtable
{
int segf[256];
int segl[256];
}segtable;
struct segtable st;
typedef struct segpagt
{
int segf[256];
int segl[256];
int ptl[256];
int pt[256];
int pf[256];
int pl;
}segpagt;
struct segpagt sp;
4、算法流程图
分页式:
分段式:
段页式:
主要函数列表
函数原型
功能
入口、出口参数说明
void main()
输入、输出
Int 整形变量
6、测试与分析
分页式地址换算结果:
分页式地址越界中断:
分段式地址转换结果:
分段式地址段号越界中断:
分段式地址段内越界中断:
段页式地址转换结果:
段页式地址转换段号越界中断: