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