- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验指导书-南京中医药大学.doc
操作系统实验指导书
李玲娟 李刚 编写
李玲娟 审核
南京中医药大学 信息技术学院
2005年10月
编 者 说 明
软件技术是《》是计算机科学与技术专业的门专业基础课。《》是针对这门课的实验编写的本书编写中,参考了、相关资料。
本书由信息技术学院副院长李玲娟应用教研室两位教师编写,李玲娟审核。南京中医药大学教务处给予了指导和帮助
限于编者的水平,难免有与错误,敬请读者批评指正。李玲娟2005年月1日
实验一 进程调度 1
实验二 分区式存储管理 4
实验三 虚拟存储管理 8
实验四 文件管理 11
实验一 进程调度
实验性质:设计
建议学时:6学时
实验目的:
通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。
预习内容:
阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。
基本实验内容:
设计程序模拟进程的轮转法调度过程。假设初始状态为:有n个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过t个时间片系统释放资源,唤醒处于阻塞队列队首的进程。
程序要求如下:
1).输出系统中进程的调度次序;
2).计算CPU利用率。
实现提示:
用C语言实现提示:
程序中进程可用PCB表示,其类型描述如下:
struct PCB_type {
char name ; //进程名
int state ; //进程状态
2——表示“执行”状态
1——表示“就绪”状态
0——表示“阻塞”状态
int cpu_time ; //运行需要的CPU时间(需运行的时间片个数)
}
设置两个队列,将处于“就绪”状态的进程PCB挂在队列ready中;将处于“阻塞”状态的进程PCB挂在队列blocked中。 队列类型描述如下:
struct QueueNode{
struct PCB_type PCB;
Struct QueueNode *next;
}
并设全程量:
struct QueueNode *ready_head=NULL, //ready队列队首指针
*ready_tail=NULL , //ready队列队尾指针
*blocked_head=NULL, //blocked队列队首指针
*blocked_tail=NULL; //blocked队列队尾指针
3)设计子程序:
start_state(); //读入假设的数据,设置系统初始状态
dispath(); //模拟调度
calculate(); //计算CPU利用率
实验要求:
上机前认真使用C语言编写好程序,采用Turbo C作为编译环境;
上机时独立调试程序
根据具体实验要求,填写好实验报告(包括思想、源程序、实例运行结果)。
测试用数据:
n=2
m=3
t=5
ready_head
blocked_head
dispath()算法流程图:
/*use_cpu中记录CPU 运行时间
/*unuse_cpu中记录CPU空闲时间
否
是
是 否
是
否
是
是
否
是
实验二 分区式存储管理
实验
文档评论(0)