操作系统课程设计--模拟实现可变分区存储管理
《操作系统课程设计--模拟实现可变分区存储管理》由会员分享,可在线阅读,更多相关《操作系统课程设计--模拟实现可变分区存储管理(13页珍藏版)》请在毕设资料网上搜索。
1、 电气信息系 操作系统操作系统 课程设计报告课程设计报告 模拟实现模拟实现可变分区存储管理可变分区存储管理 一、设计目的一、设计目的 在熟练掌握计算机分区存储管理方式的原理的基础上,利用 C 程序设计语 言在 windows 操作系统下模拟实现操作系统的可变分区存储管理的功能,一方 面加深对原理的理解,另一方面提高根据已有原理通过编程解决实际问题的能 力,为进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。 二、各功能模块分析实现二、各功能模块分析实现 1 设计合理的数据结构来描述存储空间:设计合理的数据结构来描述存储空间: 1) 对于未分配出去的部分,用空闲分区链表来描对于未分配
2、出去的部分,用空闲分区链表来描述。述。 struct freeList int startAddress; /* 分区起始地址 */ int size; /* 分区大小 */ struct freeList *next; /* 分区链表指针 */ 2) 对于已经分配出去的部分,由装入内存的作业占据。对于已经分配出去的部分,由装入内存的作业占据。 struct usedList int startAddress; /* 分区起始地址 */ int jobID; /* 分区中存放作业 ID */ struct usedList *next; /* 分区链表指针 */ 3) 将作业组织成链表。将作业
3、组织成链表。 struct jobList int id; /* 作业 ID */ int size; /* 作业大小(需要的存储空间大小) */ int status; /* 作业状态作业状态 0 : new job ,1 : in the memory , 2 : finished . */ struct jobList *next; /* 作业链表指针 */ 以上将存储空间分为空闲可占用两部分, 在 usedlist 中设 jobID 而不设 size,可以在不增加空间复杂度(与 freelist 相比)的同时更方便的实现可 变分区存储管理(从后面的一些函数的实现上可以得出这个结论) 。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 模拟 实现 可变 分区 存储 管理
