操作系统课程设计任务指导书-Read
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《操作系统课程设计任务指导书》
山东建筑大学
计算机科学与技术学院
二○○七年十二月
基本情况
课程名称:操作系统课程设计
相关课程:操作系统、数据结构
适合专业:信息与计算技术
设计周数:1周
学分: 2学分
开课学期:第 7 学期
开课单位:计算机科学与技术学院
一、课程设计的教学目的和任务
1、使学生进一步理解和掌握操作系统课程中所学到的各种基本算法。
2、使学生深入理解经典操作系统各组成部分的基本原理。
3、使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。
4、使学生能用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备
的科学的工作方法和作风。
二、课程设计的主要内容
1.分析。根据设计题目的要求,充分地分析和理解问题。
2.设计。根据题目所涉及的操作系统内容,认真设计解题算法。参照平时课内所学知识,按照软件工程方法,确定设计方案。
3.编码。把设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚。
4.调试与测试。根据题目内容,设计测试用例,使之能够充分证明课程设计完成的正确性。
5.总结分析。总结设计中所遇到的问题以及所得到的经验,分析程序中是否存在可以完善、提高的部分,做出总结。
6.编写课程设计报告。
三、课程设计的基本教学要求
1、巩固和加深对操作系统课程基本知识的理解,提高对所涉及的算法的掌握。
2、通过实际课程设计,掌握简单软件的分析方法和设计方法。
四、课程设计报告的规范
课程设计报告要求规范书写。应当包括如下部分:
1、操作系统课程设计任务书
2、问题定义与分析
3、概要设计及流程图
4、问题实现及代码
5、测试
6、结论
7、参考文献
五、注意事项
1、学生必须仔细阅读课程设计任务书,认真主动完成课程设计的要求。有问题及时主动
通过各种方式与教师联系沟通。
2、学生要发挥自主学习的能力,充分利用时间,安排好课程设计的进度,并在课程设计
过程中不断检查自己的计划完成情况,及时向教师汇报。
3、课程设计按照教学要求需要一周时间完成,一周中每天(按每周5天)至少要上机2
小时来调试程序,总共至少要上机调试程序10小时。
六、课程设计需要提交的报告
1. 课程设计报告(1份,A4纸打印,同时包括一份电子版)
报告要求版面清晰,格式规范,否则重新编写。
2. 完整的程序系统(电子方式提交)
能够对输入产生相应的输出,同时尽量的完成可视化演示。该部分包括源代码和可执行文件两个部分。
所有以电子方式提交的文件全部存在一个目录中,并对其进行压缩(用Winrar或Winzip均可),压缩后的文件按规定格式进行命名,命名格式为:学号+姓名.rar。
六、成绩评定标准
学生成绩按百分制评定。
设计情况(80%),考勤情况(20%)
七、参考资料
汤子瀛等. 《计算机操作系统》西安电子科技大学出版社
附录一课程设计题目
一.银行家算法模拟(3个子题目)
设计目的:
熟悉银行家算法,理解系统产生死锁的原因及避免死锁的方法。
设计要求:
用高级语言编写和调试一个模拟银行家算法的程序。
设计内容:
设计合理的数据结构,用于描述每个进程对资源的要求及分配情况。编写多个模块,分别用以完成:申请资源、显示资源、释放资源以及安全性算法。
进程数最多为5个,资源种类最多为3类。
设计分工:
该题目分为3个子题目:
1、银行家算法模拟——系统初始化;
数据结构的定义、程序结构的分析设计
2、银行家算法模拟——资源管理;
3、银行家算法模拟——安全性算法。
二.空闲表和空闲链文件存储空间管理模拟(4个子题目)
设计目的:
设计要求:
熟悉利用空闲表和空闲链对空闲盘块进行组织、分配和回收的方法。
用高级语言编写和调试一个使用空闲表/链法的程序,能够实现模拟空闲盘块的组织、分配和回收过程。
设计内容:
设计相应数据结构,用于描述所有空闲盘块的组织情况;提供一个界面,供用户输入空闲块分配及回收的命令;编写多个模块,分别用以完成:空闲盘块的回收与分配。
如:init 100 //表示将100块空闲盘块组织起来,以备使用。
get 5 //表示分配5块
put 3 //表示回收3块
要求命令执行完后,显示分配与回收盘块号码以及其他信息。
设计分工:
该题目分为4个子题目:
1、空闲表法的分配算法:
2、空闲表法的回收算法。
为所有空闲区建立一张空闲表,每个空闲区一个表项,包括表项序号、第一个盘块号、盘块数,空闲区按起始盘块号递增排序。
3、空闲链法的分配算法
4、空闲链法的回收算法。
空闲盘块链、空闲盘区链
三.成组链接法的模拟(4个子题目)
设计目的:
熟悉利用成组链接法对空闲盘块的组织、分配和回收的方法和混合索引分配的文件结构。
设计要求:
用高级语言编写和调试一个模拟混合索引分配和成组链接法的程序,能够实现模拟混合索引分配、空闲盘块的组织、分配和回收过程。
设计内容:
1、定义INODE结构,对给定的磁盘块大小、磁盘块号长度、磁盘空间大小、文件大小,给出该文件的磁盘块占用情况。
2、设计相应数据结构,用于描述所有空闲盘块的组织情况;
3、提供一个界面,供用户输入分配及回收的命令;编写多个模块,分别用以完成:空闲盘块的回收与分配。
根据前面文件的要求分配需要的磁盘块,要求命令执行完后,显示分配与回收盘块号码以及其他信息。
设计分工:
该题目分为4个子题目:
1、混合索引分配
2、成组连接法初始化
3、成组连接法分配算法
4、成组连接法回收算法。
四.位示图法的模拟(2个子题目)
设计目的:
熟悉利用位示图法对空闲盘块的组织、分配和回收的方法。
设计要求:
用高级语言编写和调试一个位示图法的程序,能够实现模拟空闲盘块的组织、分配和回收过程。
设计内容:
设计相应数据结构,用于描述所有空闲盘块的组织情况;提供一个界面,供用户输入分配及回收的命令;编写多个模块,分别用以完成:空闲盘块的回收与分配。
要求命令执行完后,显示分配与回收盘块号码以及其他信息。
设计分工:
该题目分为2个子题目:
1、位示图法系统初始化;
2、位示图法分配与回收算法。
五.磁盘调度算法的模拟(5个子题目)
设计目的:
熟悉各种磁盘调度算法的原理。
设计要求:
用高级语言编写和调试多个实现不同磁盘调度的程序。
设计内容:
实现对先来先服务算法;最短寻道时间优先算法;扫描算法;循环扫描算法;