指导书《操作系统课程设计》09软件工程(15班)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“操作系统课程设计完整”。
附件5:
课程设计指导书
一、课程设计目的《操作系统》是计算机专业的一门专业基础课,主要内容是介绍操作系统的原理和策略;《操作系统课程设计》是在学生学习完该课程以后(或学习过程中)进行的设计性实验课程,目的是使学生加深理解操作系统中的策略与思想,并能编程实现。
课程设计的项目中,包含了若干子项目,分别设计实现这些子项目和算法策略,并用程序模拟运行。这种训练把知识获取和项目实践二者有机结合,增强对课程内容的理解和掌握,并获得有关项目管理和团队合作等方面的训练和经验。
二、课程设计主要内容及要求 任务一:信号量控制线程同步
该任务含两个程序的设计与编写,程序1同步两个线程,其一输出奇数,另一线程输出偶数,且二者交叉数据输出;程序2实现男女共用浴室的情况下的同步与互斥,男女到达浴室的时间数据放在文本文件。对于给定的输入文件,观察测试输出结果的正确性。
课时4个学时。
任务二:程序模拟存储管理之“伙伴系统”算法
设计与编写程序实现动态内存管理之“伙伴系统”算法。初始内存的大小(必须是2的幂)、申请内存的进程大小及次序等数据放在文本文件中。对于给定的输入文件,输出进程申请与退出每步的内存分配状态。
课时4个学时。
任务三:老化算法模拟分页系统
设计与编写程序使用老化算法模拟一个分页系统。页面访问序列从文件(文本文件)中读取。对于一个给定的输入文件,列出每1000个内存访问中发生缺页中断的数
目。
课时4个学时。
任务四:使用工具分析Windows之NTFS文件系统
使用WinHex工具分析当前操作系统(通常是Windows XP)的NTFS或FAT32文件系统组织方式。(具体要求随后提供。)
课时2-4个课时。
三、课程设计基本步骤及进度安排
1.学生分组(建议2-4人一组)、了解课程要求及熟悉任务一。(附录
题目一:信号量控制线程同步 设计内容: 程序1:
1.两个线程,一者输出1-30的偶数,一者输出1-30的奇数。
2.使用一个信号量,控制二线程分别输出(即一个线程完成数据输出后,另一个线程方可开始数据输出。)
3.使用二个信号量,控制二线程其中之一输出一个数后,随后另一个线程也输出一个数,交替输出直至结束。
程序2:(教材P98页51题)
假设一个大学为了卖弄其政治上的正确性,准备把美国最高法院的信条“平等但隔离其本身就是不平等”既运用在种族上也运用在性别上,从而结束校园内长期使用的浴室按性别隔离的做法。但是,为了迁就传统习惯,学校颁布法令:当有一个女生在浴室里,那么其他女生可以进入,但是男生不行,反之亦然。在每个浴室的门上有一个滑动指示符号,表示当前处于以下三种可能状态之一:
空 有女生 有男生
用你偏好的程序设计语言编写下面过程(可以随意采用所希望的计数器和同步技术):
woman_wants_to_enter
man_wants_to_enter woman_leaves man_leaves 设计要点与关键技术: 1.线程的同步与互斥 2.信号量上的P、V操作算法 3.使用Visual Studio2008开发平台
题目二:程序模拟存储管理之“伙伴系统” 设计内容:
1.依据下图所示的算法或严蔚敏《数据结构(C语言版)》P203的内容编写程序。
2.测试数据依据下图并将其放在一个文本文件中。
设计要点与关键技术:
1.动态内存管理之伙伴系统算法 2.递归算法
3.使用Visual Studio2008开发平台
题目三:老化算法模拟分页系统 设计内容:
1.编写一个程序,它使用老化算法模拟一个分页系统。页帧的数量是参数。页面的访问序列从文件中读取。对于一个给定的输入文件。列出每1000个内存访问中发生缺页中断的数目,它是可用页帧数的函数。(教材P141,41题)
2.一个简单的典型测试数据: 分配的内存帧数:3 进程页访问序列:0、1、2、3、4、1、2、0、1、3.按要求设计测试比较更大数据量的页面访问 设计要点与关键技术: 1.老化算法的理解
2.使用Visual Studio2008开发平台、3、4、0、1、2、3 2题目四:使用工具分析Windows之NTFS文件系统 设计内容:
1.学习WinHex工具软件的使用;
2.利用WinHex工具对根目录下的文件进行删除、隐蔽、恢复、属性修改及寻找其数据的存储位置;
3.对非根目录下的文件进行上述(2)项的操作; 4.利用工具移动某个文件的数据块。 也可在FAT32文件系统中进行上述操作 设计要点与关键技术:
1.对NTFS或FAT32的组织结构的认识 2.工具的使用熟练度