- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本分页存储管理的模拟实现
学 院:
专 业:
学 生 姓 名:
学 号:
指 导 教 师:
2014年3月 18 日
目录
一、设计内容 2
相关操作系统的知识介绍 ………………………………2
三、课程设计的目的及要求 2
四、程序功能说明……………………………………………3
五、算法整体思想 3
六、主要功能模块进程图 3
七、实验结果 4
八、实验总结 7
九、程序代码 ………………………………………………7
一、设计内容
根据设计要求实现对基本分页存储管理的模拟
二、 相关操作系统的知识介绍
连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大的开销。如果允许将一个进程直接分散的装入到许多不相邻接的分区中,则无需在进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的 基本单位是页,则称为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。
在分页存储管理方式中,如果不具备页面对换功能,则称为基本的分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储的功能,它要求把每个作业全部装入内存后方能运行。
课程设计的目的及要求
1、课程设计的目的
操作系统课程设计是计算机专业重要的教学环节,它为我们提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合起来,独立分析和解决实际问题的机会。
进一步巩固和复习操作系统的基础知识。
培养我们结构化程序、模块化程序设计的方法和能力。
提高我们调试程序的技巧和软件设计的能力。
提高我们分析问题、解决问题以及综合利用 C 语言进行程序设计的 能力。
2、设计要求
选择恰当的数据结构表示页表
进程名,进程所需页数,进程进行的操作(装入/退出)等操作可有键盘输入,也可从文件读出。
每进行一次进程的装入或者退出操作,就显示出操作执行后内存中各页的分配情况。
四、程序功能说明
函数各模块部分功能
void CreatA()//创建内存新函数
void NewNode(LinkList L)//建立新进程
void FreeNode(LinkList L)//回收进程,释放内存
void Printf(LinkList L)//显示所有进程所占物理块信息
void look(LinkList L)//查看进程信息
void showit()//显示内存块使用信息
函数的整体功能
这个程序是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率,由系统把逻辑地址划分为页号和页内地址两部分。通过这个程序实现了将进程分页处理,划分物理块。
五、算法整体思想
先定义A[100]来记录内存物理块; max = 99来记录内存物理块数;count = 100来记录未使用的物理块数。首先通过CreatA()函数初始化内存而后通过NewNode(LinkList L)建立新的进程,输入进程号,进程名,进程大小,计算出所需要的进程页数以及分配物理块。通过FreeNode(LinkList L)来删除所选择的进程信息,释放内存。通过Printf(LinkList L)显示以上两个函数所产生的进程信息。而后通过look(LinkList L)查看进程信息。通过showit()显示内存物理块的分布情况。
当输入进程号new_node-f,然后通过j=0至j3时终止,如若p-f=new node-f当是时进程存在,重新输入,当不是时p=p-next;如若非此情况则输入进程名称和进程大小,然后通过进程页数n=size/1024,若页内地址k!=0,n=n+1显示所需页数,比较页数与物理块的大小,如果页数大于物理块数则内存物理块不足,新建进程失败;如果小于则分配内存物理块。
六、主要功能模块进程图
Y
N
Y
N
七、实验结果
添加进程
删
文档评论(0)