os实验指导书+实验提示.docx
- 文档编号:8545874
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:19.78KB
os实验指导书+实验提示.docx
《os实验指导书+实验提示.docx》由会员分享,可在线阅读,更多相关《os实验指导书+实验提示.docx(12页珍藏版)》请在冰豆网上搜索。
os实验指导书+实验提示
操作系统
实验指导书
主编:
杜俊俐
计算机学院
操作系统课程组
2010年2月20日
前言
操作系统是计算机系统中的核心系统软件,负责控制和管理整个系统的资源并组织用户协调使用这些资源,是计算机高效的工作。
操作系统课程是计算机科学与技术专业核心课程。
由于操作系统是最优秀、最复杂和最庞大的软件之一,所以,真正领会操作系统课程所介绍的感念、原理、方法和技巧等,是十分困难的。
经验表明,学习尤其是真正体会和掌握操作系统的最好方式是对它进行充分的实验。
为此,培养计划中为操作系统课程安排了16学时实验。
为了更好地发挥实验深入理解课程知识的学习作用及知识应用的实践方法,将课程中重要知识点设计成七个实验。
通过这些实验有助于学生全面、透彻的理解操作系统原理中的核心知识。
目录
第一章、概述………………………………………………4
第二章、实验要求及注意事项……………………………5
第三章、实验项目…………………………………………6
实验一:
进程创建与撤消………………………………6
实验二:
进程调度………………………………………7
实验三:
进程通信………………………………………8
实验四:
分区式储器管理………………………………9
实验五:
请求页式存储管理……………………………10
实验六:
磁盘调度算法…………………………………11
实验七:
磁盘文件操作…………………………………12
第四章、参考文献…………………………………………13
附录A:
实验报告规范………………………………………14
第一章、
概述
操作系统课程是计算机科学与技术专业核心课程。
《高级语言程序设计》、《数据结构》等课程为其前趋课程。
该课程理论性强,难以理解。
通过课程的实验,能帮助学生深透理解并真正领会操作系统课程所介绍的感念、原理、方法和技巧等。
实验学时为16,共分七个实验分别进行。
实验一:
进程创建与撤消、实验二:
进程调度、实验三:
进程通信、实验四:
分区式储器管理、实验五:
请求页式存储管理、实验六:
磁盘调度算法、实验七:
磁盘文件操作。
其中实验五需4学时,其余均为2学时。
这七个实验对操作系统原理中的进程管理、存储器管理、文件系统等重要知识进行训练。
实现语言为VisualC++6.0,系统平台为Windows。
第二章、实验要求及注意事项
实验环境要求:
硬件:
普通PC386以上微机;
软件:
windows操作系统;
开发语言:
VisualC++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空间
就绪队列指针
空队列指针
②函数设计
给出create()、destroy()、Display()、Main()的流程图描述;
(3)调试与测试:
列出你的测试结果,包括输入和输出。
四、实验总结
陈述在程序设计和调试中遇到的主要问题及解决过程,对所用的知识深入理解的作用,VC++等相应功能的掌握和程序设计能力的提高以及经验和体会,分析并提出改进设想等。
五、附录
带注释的源程序。
实验二:
进程调度
一.实验目的
加深理解并模拟实现进程调度算法。
1)熟悉常用的进程调度算法,如FCFS、SPF、FPF
2)结合所学的数据结构及编程知识,选择一种进程调度算法予以实现。
二.实验属性
该实验为设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求2学时完成。
本实验要求完成如下任务:
1)编程实现单处理机系统中的进程调度,要求从FCFS、SPF、FPF、时间片轮转算法中至少选择一个;
2)最后编写主函数对所做工作进行测试。
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。
实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
五.实验提示
1、本实验在实验一的基础上进行设计。
2、数据结构用实验一中的进程就绪队列,并在此基础上进行调度,如果队列排序与算法要求不一致则编写一个排序函数。
3、进程调度算法:
选择一种进程调度算法实现。
4、主界面设计:
在实验一的界面上增加一个进程调度按钮、被调进程的PCB显示。
5、功能测试:
从显示出的就绪队列状态和被调进程的PCB,查看操作的正确与否。
实验三:
进程通信
一.实验目的
加深对进程通信的理解。
熟悉消息通信机制、共享存储器通信机制,进一步认识其与信号量通信的区别。
二.实验属性
该实验为设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求2学时完成。
本实验要求完成如下任务:
1)编程实现基于消息缓冲队列机制的进程通信数据结构和通信原语(创建消息、发送消息、接收消息);
2)最后编写主函数对所做工作进行测试。
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。
实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
五.实验提示
1、本实验在实验一的基础上进行设计。
2、数据结构:
消息缓冲队列链表,修改PCB结构增加消息缓冲队列指针。
3、进程通信实现:
模拟两个进程A、B之间的通信,从A发往B,信息内容自己定义,编写Send和Receive原语。
4、主界面设计:
在实验二的界面上增加一个消息发送按钮、消息接收按钮、并将就绪队列显示区用做消息缓冲队列的显示。
触发消息发送按钮,弹出消息内容输入框,输入后发给B的消息缓冲队列。
触发消息接收按钮则从消息缓冲队列删除队首节点。
队列显示区可看到消息缓冲区的变化结果。
5、功能测试:
从显示出的消息缓冲队列状态,可查看操作的正确与否。
实验四:
分区式储器管理
一.实验目的
模拟实现一个简单的固定(或可变)分区存储管理系统,进一步加深对分区分配方案设计思想的理解。
二.实验属性
该实验为设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求2学时完成。
本实验要求完成如下任务:
(1)建立相关的数据结构,作业控制块、已分配分区及未分配分区;
(2)实现一个分区分配算法,如最先适应分配算法、最优或最坏适应分配算法;
(3)实现一个分区回收算法;
(4)给定一批作业/进程,选择一个分配或回收算法,实现分区存储的模拟管理;
(5)将整个过程可视化显示出来。
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。
实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
五.实验提示
1、本实验虽然不以前面实验为基础,但建议在其界面中继续增加分区存储管理功能。
2、数据结构:
分区说明表,用数组实现。
3、存储管理:
建议采取固定分区法管理内存。
编写内存分配、内存回收算法。
4、主界面设计:
在界面上增加一个内存分配按钮、内存回收按钮、并将就绪队列显示区用做分区说明表的显示。
触发内存分配按钮,弹出作业大小输入框,输入后调用内存分配函数,在分区说明表中看到分配的分区。
触发内存回收按钮,弹出作业大小输入框,输入后调用内存回收函数,在分区说明表中看到回收分区状态的改变。
5、功能测试:
从显示出的分区说明表,可查看操作的正确与否。
实验五:
请求页式存储管理
一.实验目的
深入理解请求页式存储管理的原理,重点认识其中的地址变换、缺页中断、置换算法等实现思想。
二.实验属性
该实验为综合性、设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求4学时完成。
本实验要求完成如下任务:
(1)建立相关的数据结构:
存储块表、页表等;
(2)实现基本分页存储管理,如分配、回收、地址变换;
(3)在基本分页的基础上实现请求分页存储管理;
(4)给定一批作业/进程,选择一个分配或回收模拟;
(5)将整个过程可视化显示出来。
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。
实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
五、实验提示
1、本实验虽然不以前面实验为基础,但建议在其界面中继续增加请求页式存储管理功能。
2、数据结构:
内存分配表、页表空间(用数组实现),修改PCB结构增加页表指针、页表长度。
3、存储管理:
编写内存分配、内存回收算法、页面置换算法。
4、主界面设计:
在界面上增加一个请求分页内存分配按钮、请求分页内存回收按钮、装入指定进程的指定页按钮。
触发请求分页内存分配按钮,弹出作业大小输入框,输入后调用内存分配函数,在内存分配表和页表中看到分配的存储块。
触发请求分页内存回收按钮,弹出进程ID输入框,输入后调用内存回收函数,在内存分配表中看到回收后的状态改变。
5、功能测试:
从显示出的内存分配表和页表,可查看操作的正确与否。
实验六:
磁盘调度算法
一.实验目的
复习模拟实现一种磁盘调度算法,进一步加深对磁盘调度效率的理解。
二.实验属性
该实验为设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求2学时完成。
本实验要求完成如下任务:
(1)建立相关的数据结构,作业控制块、已分配分区及未分配分区
(2)实现一个分区分配算法,如最先适应分配算法、最优或最坏适应分配算法
(3)实现一个分区回收算法
(4)给定一批作业/进程,选择一个分配或回收算法,实现分区存储的模拟管理
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。
实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
实验七:
磁盘文件操作
一.实验目的
熟悉windows的文件系统,进一步掌握文件操作和优化磁盘系统的基本方法。
二.实验属性
该实验为设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验要求
本实验要求2学时完成。
本实验要求至少完成如下任务之一(可选择部分):
(1)实现文件控制块FCB的内容显示
(2)实现文件与文件夹的加密
(3)进行磁盘配额的分配与管理
(4)进行磁盘清理和磁盘碎片整理
(5)实现磁盘的备份、还原及修复
实验前应复习实验中所涉及的理论知识和算法,针对实验要求完成基本代码编写并完成预习报告、实验中认真调试所编代码并进行必要的测试、记录并分析实验结果。
实验后认真书写符合规范格式的实验报告(参见附录A),并要求用正规的实验报告纸和封面装订整齐,按时上交。
第四章参考文献
1 汤子瀛.计算机操作系统(修订版)(新世纪版).西安电子科技大学出版社,2001.8
2求是科技.VisualC++6.0程序设计与开发技术大全.人民邮电出版社
附录A实验报告规范
使用统一的实验报告的封面并正确给出课程名称、课程号、专业、班级、学好、姓名、指导教师和完成日期。
报告内容包括以下6个内容:
1.实验目的
给出本实验要求达到的目的。
2.实验内容
给出本实验要求完成的实验任务。
3实验步骤
(1)任务分析:
以无歧义的陈述说明所设计程序所用到的关键知识或算法。
(2)程序设计:
a.总体设计:
说明本程序中用到的所有抽象数据类型的定义、程序的流程以及各程序模块之间的层次(调用)关系。
b.具体实现:
对设计思想描述中的主要部分,给出其实现的详细描述,如用VC++什么函数或语句实现什么功能。
(3)程序结果:
打印程序的输出结果(表明对应的数据)或主要界面图。
(4)调试与测试:
a.列出在调试过程中遇到的问题及解决方法;对设计与实现的回顾讨论和分析并提出改进设想;
b.列出你的测试结果,包括输入和输出。
这里的测试数据应该完整和严格。
4.实验总结
陈述在程序设计和调试中遇到的主要问题及解决过程,对所用的知识深入理解的作用,及用VC++等相应功能的掌握和程序设计能力的提高,以及经验和体会等。
5.附录
带注释的源程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- os 实验 指导书 提示