操作系统本科实验任务_操作系统形考任务实验
操作系统本科实验任务由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“操作系统形考任务实验”。
实验一
一、实验名称
进程调度的设计与实现
二、实验目的1、综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔
数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。
2、加深理解操作系统进程调度的过程。
3、加深理解多级反馈队列进程调度算法。
三、实验内容与主要设计思想
1、采用一种熟悉的语言,如C、PASCAL或C++等,编制程序。
2、采用多级反馈队列调度算法进行进程调度。
3、每个进程对应一个PCB。在PCB中包括进程标识符pid、进程的状态
标识status、进程优先级priority、进程的队列指针next和表示进程生命周期的数据项life(在实际系统中不包括该项)。
4、创建进程时即创建一个PCB,各个进程的pid都是唯一的,pid是在1
到100范围内的一个整数。可以创建一个下标为1到100的布尔数组,“真”表示下标对应的进程标识号是空闲的,“假”表示下标对应的进程标识号已分配给某个进程。
5、进程状态status的取值为“就绪ready”或“运行run”,刚创建时,状态为“ready”。被进程调度程序选中后变为“run”。
6、进程优先级priority是0到49范围内的一个随机整数。
7、进程生命周期life是1到5范围内的一个随机整数。
8、初始化时,创建一个邻接表,包含50个就绪队列,各就绪队列的进
程优先级priority分别是0到49。
9、为了模拟用户动态提交任务的过程,要求动态创建进程。进入进程调
度循环后,每次按ctrl+f即动态创建一个进程,然后将该PCB插入就绪队列中。按ctrl+q退出进程调度循环。
10、在进程调度循环中,每次选择优先级最大的就绪进程来执行。将
其状态从就绪变为运行,通过延时一段时间来模拟该进程执行一个时
间片的过程,然后优先级减半,生命周期减一。设计图形用户界面GUI,在窗口中显示该进程和其他所有进程的PCB内容。如果将该运行进程的生命周期不为0,则重新把它变为就绪状态,插入就绪队列中;否则该进程执行完成,撤消其PCB。以上为一次进程调度循环。
11、在上机实现该程序之后,要求写出实验报告,其中包括实验名称、实验目的、实验内容、程序的主要流程图、实验心得和主要源程序清单等。
四、操作系统综合性、设计性实验课程介绍
(1)课程简介与要求
《操作系统》是计算机专业学生的必修课程,该课程要求以计算机
组成原理、数据结构、PASCAL语言程序设计(或C语言程序设计)作为先行课程。课程的教学目标是:使学生学习和掌握操作系统的主要功能、基本原理、主要算法和实施技术,懂得操作系统在现
代计算机系统中的重要作用,具有分析实际操作系统的基本能力。
(2)实验目的及要求
巩固和加深对操作系统相关知识的理解;掌握模拟的实验方法;提
高编程能力。
(3)实验方式与要求
根据在操作系统课程所学的理论,采用模拟的方法编程实现操作系
统的某些功能,上机调试通过,并提交实验报告。
(4)考试方法及评分
上机检查与批改实验报告相结合,占总评成绩的20%到30%。
(5)主要仪器设备
台式电脑。
(6)教材及参考书
教材:
《计算机操作系统教程》张尧学等,清华大学出版社,2006年10月第3版
主要参考书:
《UNIX操作系统教程》尤晋元,西北电讯工程学院出版社,198
5年
《操作系统》冯耀霖等,西安电子科技大学出版社,1994年
《操作系统原理》尤晋元,上海交大出版社,1984年
《计算机操作系统》汤子瀛等,西安电子科技大学出版社,1996年12月第一版
[附录一]实验报告的格式
实验课程:操作系统
实验名称:进程调度的设计与实现(综合实验)第一部分 实验内容
1.实验目标
1、综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔
数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。
2、加深理解操作系统进程调度的过程。
3、加深理解多级反馈队列进程调度算法。
2.实验任务
1、用一种熟悉的语言,如C、PASCAL或C++等,编制程序。
2、采用多级反馈队列调度算法进行进程调度。
3.实验设备及环境
PC;C/C++等编程语言。
4.实验主要步骤
(1)根据实验目标,明确实验的具体任务;
(2)编写程序实现进程调度算法;
(3)设计实验数据并运行程序、记录运行的结果;
(4)分析实验结果;
(5)实验后的心得体会。
第二部分 问题及算法
1.问题描述(学生填)
2.多级反馈队列进程调度算法的一般思路(学生填)
3.算法实现的关键点(学生填)
第三部分 实验结果与分析
1.实验数据及结果(学生填)
2.实验分析及结论(学生填)
第四部分 心得与展望
1.自我评价及心得体会(学生填)
2.展望(学生填)
第五部分 附录
1.主要界面(学生填)
2.源程序(学生填)
参考文献(学生填)
实验二
一、实验名称
模拟操作系统的页面置换
二、实验目的1、掌握操作系统的页面置换过程,加深理解页式虚拟存储器的实现原理。
2、掌握用随机数生成满足一定条件的指令地址流的方法。
3、掌握页面置换的模拟方法。
三、实验要求与提示
1、采用一种熟悉的语言,如C、PASCAL、C++或Java等,编制程序。
2、模拟操作系统采用OPT、FIFO和LRU算法进行页面置换的过程。
3、设程序中地址范围为0到32767,采用随机数生成256个指令地址,满足50%的地址是顺序执行,25%向前跳,25%向后跳。为满足上述条件,可采取下列方法:设d0=10000,第n个指令地址为dn,第n+1个指令地址为dn+1,n的取值范围为0到255。每次生成一个1到1024范围内的随机数a,如果a落在1到512范围内,则dn+1=dn+1。如果a落在513到768范围内,则设置dn+1为1到dn范围内一个随机数。如果a落在769到1024范围内,则设置dn+1为dn到32767范围内一个随机数。
4、页面大小的取值范围为1K,2K,4K,8K,16K。按照页面大小将指令地址转化为页号。对于相邻相同的页号,合并为一个。
5、分配给程序的内存块数取值范围为1块,2块,直到程序的页面数。
6、分别采用OPT、FIFO和LRU算法对页号序列进行调度,计算出对应的缺页中断率。
7、打印出页面大小、分配给程序的内存块数、算法名、对应的缺页中断率。
8、分析页面大小和分配给程序的内存块数对缺页中断率的影响。分析不同的页面置换算法的调度性能。
9、在上机实现该程序之后,要求写出实验报告,其中包括实验名称、实验目的、实验内容、程序的主要流程图、实验心得和主要源程序清单等。