os实验指导书(+实验提示)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统实验指导书
主编:杜俊俐
计算机学院
操作系统课程组2010年2月 20日
前言
操作系统是计算机系统中的核心系统软件,负责控制和管理整个系统的资源并组织用户协调使用这些资源,是计算机高效的工作。操作系统课程是计算机科学与技术专业核心课程。
由于操作系统是最优秀、最复杂和最庞大的软件之一,所以,真正领会操作系统课程所介绍的感念、原理、方法和技巧等,是十分困难的。经验表明,学习尤其是真正体会和掌握操作系统的最好方式是对它进行充分的实验。为此,培养计划中为操作系统课程安排了16学时实验。
为了更好地发挥实验深入理解课程知识的学习作用及知识应用的实践方法,将课程中重要知识点设计成七个实验。通过这些实验有助于学生全面、透彻的理解操作系统原理中的核心知识。
目录
第一章、概述 (4)
第二章、实验要求及注意事项 (5)
第三章、实验项目 (6)
实验一:进程创建与撤消 (6)
实验二:进程调度 (7)
实验三:进程通信 (8)
实验四:分区式储器管理 (9)
实验五:请求页式存储管理 (10)
实验六:磁盘调度算法 (11)
实验七:磁盘文件操作 (12)
第四章、参考文献 (13)
附录A:实验报告规范 (14)
第一章、概述
操作系统课程是计算机科学与技术专业核心课程。《高级语言程序设计》、《数据结构》等课程为其前趋课程。该课程理论性强,难以理解。通过课程的实验,能帮助学生深透理解并真正领会操作系统课程所介绍的感念、原理、方法和技巧等。
实验学时为16,共分七个实验分别进行。实验一:进程创建与撤消、实验二:进程调度、实验三:进程通信、实验四:分区式储器管理、实验五:请求页式存储管理、实验六:磁盘调度算法、实验七:磁盘文件操作。其中实验五需4学时,其余均为2学时。这七个实验对操作系统原理中的进程管理、存储器管理、文件系统等重要知识进行训练。
实现语言为Visual C++ 6.0,系统平台为Windows。
第二章、实验要求及注意事项
实验环境要求:
硬件:普通PC386以上微机;
软件:windows操作系统;
开发语言:Visual C++ 6.0;
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果,实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
第三章、实验项目
实验一:进程创建与撤消
一.实验目的
(1)加深对进程概念的理解和进程创建与撤消算法;
(2)进一步认识并发执行的实质。
二.实验属性
该实验为验证性+设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求2学时完成。
本实验要求完成如下三个层次的任务:
(1)系统级—以普通用户身份认识windows的进程管理。通过windows的“任务管理器”观察进程的状态,进行进程的创建、切换和撤销。
(2)语言级—以普通程序员身份认识高级语言VC++/Java/C#的进程创建与撤销工具。
(3)模拟级—以OS设计师身份编程模拟实现进程创建与撤销功能,并在屏幕上观察进程活动的结果。
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告;实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
五.实验提示--模拟级编程
1、数据结构定义:
结构体PCB:进程名、ID、运行时间、优先级、队列指针等,队列的排序按创建时间。
PCB空间—结构体PCB数组
就绪队列指针
运行队列指针
空队列指针
2、函数
CREATE()—进程创建:从PCB空间申请一个空PCB,填入进程参数,插入就绪队列;
KILL()—进程终止:将指定的就绪进程的PCB移出就绪队列,插入空队列;
就绪队列输出函数—输出就绪队列中的进程信息,以便观察创建或撤消活动的结果;
主函数—功能选择、输入新进程参数、调用创建函数、输出就绪队列;输入进程名称、调用终止函数、输出就绪队列;
3、主界面设计:进程创建、进程撤销、就绪队列显示菜单;数据输入和就绪队列显示区。
4、功能测试:从显示出的就绪队列状态,查看操作的正确与否。
六.本次实验报告的格式
实验一:进程创建与撤消
一、实验目的
1、加深对进程概念的理解和进程创建与撤消算法;
2、进一步认识并发执行的实质。
二、实验内容
本实验完成如下三个层次的任务:
(1)系统级—以普通用户身份认识windows的进程管理。通过windows的“任务管理器”观察进程的状态,进行进程的创建、切换和撤销。
(2)语言级—以普通程序员身份认识高级语言VC++/Java/C#的进程创建与撤销工具。
(3)模拟级—以OS设计师身份编程模拟实现进程创建与撤销功能,并在屏幕上观察进程活动的结果。
三、实验步骤
1、windows的进程管理
。。。。。。。。
2、VC++/Java/C#的进程创建与撤销工具
。。。。。。。。
3、进程创建与撤销的模拟实现
(1)总体设计:
①数据结构定义:
结构体PCB:进程名、ID、运行时间、优先级等,队列的排序按创建时间或优先级排序。
PCB空间—结构体PCB数组
就绪队列指针
空队列指针
②函数
CREATE()—进程创建:从PCB空间申请一个空PCB,填入进程参数,插入就绪队列;
KILL()—进程终止:将指定的就绪进程移出就绪队列,插入空队列;
就绪队列输出函数Display()—输出就绪队列中的进程信息,以便观察创建或撤消活动的结果;
主函数Main()—功能选择、输入新进程参数、调用创建函数、输出就绪队列;输入进程名称、调用终止函数、输出就绪队列;
③主界面设计:进程创建、进程撤销、就绪队列显示菜单;数据输入和就绪队列显示区。
④功能测试:从显示出的就绪队列状态,查看操作的正确与否。
(2)详细设计:
①数据结构定义:
结构体PCB:
PCB空间