操作系统课程设计任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统课程设计任务书
操作系统课程设计任务书
一、设计目的:
本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、设计要求:
从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:
1、鼓励并优先个人独立选题设计,可从下面设计题目中选择,也可以自拟相关题目;如要合作,每组最多两名同学,且设计文档不能相同;
2、题目选定后报给班长,班长要注意班级内题目的平衡,根据所选题目进行协调,不要都选一样的题。
3、设计完成后由老师进行统一答辩,答辩时不能对自己提供的设计进行讲解的同学,视为抄袭;
4、要求每位同学写出一份详细的课程设计报告(A4纸),同组者程序相同,但报告要自己独立完成。
5、最后每位同学要将自己的设计报告和电子文档(包括报告和源程序)交给学习委员,并由学习委员统一刻盘后上交。
三、设计内容:
课题一、编制银行家算法通用程序,在实现资源分配时,能够有效地避免死锁的产生。
课题二、处理机调度算法
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。
也就是说能运行的进程数大于处理机个数。
为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选
择一进程占用处理机。
要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:
1.进程调度算法包括:先来先服务算法、时间片轮转法,短作业优先算法,动态优先级算
法
2.可选择进程数量,每个进程由一个进程控制块PCB来标识。
3.根据个人能力可实现其中的两种以上调度算法。
课题三、用多进程同步方法解决生产者-消费者问题
设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码.
提示:(1) 有界缓冲区可用数组实现.
课题四、设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:
要求设计主界面以灵活选择某算法,且以下算法都要实现
1、先进先出算法(FIFO)
2、最近最久未使用算法(LRU)
3、最佳置换算法(OPT)
课题五、编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:
要求设计主界面以灵活选择某算法,且以下算法都要实现
1、先来先服务算法(FCFS)
2、最短寻道时间优先算法(SSTF)
3、扫描算法(SCAN)
4、循环扫描算法(CSCAN)
课题六、编程模拟多进程共享临界资源:
要求产生3个进程:
1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;申请返回,表示进入了临界区。
在临界区中等待一段随机时间,并显示:“进程x正在临界区…”;当时间结束,显示:“进程x退出临界区…”,同时向管理进程提出退出申请;当申请返回,显示:“进程x已退出临界区。
”
2、一个进程作为原语的管理进程,接受其他进程的临界区进入请求:如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;
3、对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。
4、进程间通信可以采用信号、消息传递、管道或网络通信方式。
课题七:二级文件系统模拟。
要求:
假定文件采用的物理结构为连续结构,编程模拟一个简单的文件系统,采用二级目录结构,实现文件系统的管理和控制功能。
提示:
1、采用二级目录结构时,第一级为主文件目录(MFD),第二级为用户文件目录(UFD)。
MFD
UFD
2、为了加速文件的存取,系统为每个用户建立一张用户打开文件表(UOF),用以记录用户
当前正在使用的文件。
用户建立或打开文件时,将指定文件的说明信息登记在用户打开文件表中。
3、为了为创建的文件分配磁盘空间,可引入一个计数器,来模拟磁盘的使用情况,可假定
一个磁盘块的大小为64字节。
4、要为该文件系统提供至少6条命令:创建、打开、读、写、关闭、删除。
5、在模拟程序中,应先模拟主文件目录、用户文件目录和用户打开的文件表,然后给出一
个菜单,请求用户要执行的操作。
6、当用户在磁盘上建立一个文件时,首先使用如下所示的创建命令向系统提出建立文件的
请求:create(文件名,文件最大长度,文件保护方式)
由文件最大长度计算出文件应占有的物理块数,之后为文件分配空间,并登记在用户文件目录表中。
课题八:存储管理---动态分区分配算法的模拟:
要求设计主界面以灵活选择某算法,且以下算法都要实现:首次适应算法、循环首次适应算法、最佳适应算法;
课题九:编程演示三种存储管理方式的地址换算过程:
1、分页方式的地址换算
2、分段方式的地址换算
3、段页式的地址换算
要求演示正确、清晰,编程所用工具不限。
课题十、编写一个简单的命令解释器—模拟shell功能,基本要求:
1、可打开提示符,并获取用户输入的指令
2、可解析指令
3、可执行基本的命令
4、可显示命令执行的结果
课题十一、模拟分页存储管理实现(不限要求)
课题十二、模拟分段存储管理实现(不限要求)
课题十三、多级反馈队列调度算法实现(不限要求)
课题十四、SPOOLING假脱机输入输出技术模拟
课题十五、系统信息显示与检测
Linux操作系统中存在一个特殊的文件系统proc,它不占用磁盘空间而只存在于内存中。
/proc系统中的文件给我们提供了许多关于系统的信息。
例如对Linux内存信息的监测主要是从meminfo文件中提取mem、buffers、cached、swap信息,然后通过命令行或图形界面的方式显示信息。
对进程信息的监测是从proc文件中提取相关信息并进行显示。
/proc下的一些条目还可以写入信息,这提供了在运行期
间改变内核参数的一种手段。
了解和使用/proc 中的文件,有利于我们及时了解系统的运行状况,掌握Linux操作系统的工作原理。
要求:
1、显示系统硬件信息
2、显示系统软件信息
3、监测系统内存信息
4、监测进程内存信息
课题十六、Windows的文件管理,基本要求:
1、建立一函数,要求采用无缓冲的方式完成文件的读写,使用该函数将源文件中的内容读
出,再写到目标文件中去。
2、建立一函数,要求采用高速缓存方式完成文件的读写,使用该函数将源文件中的内容读
出,再写到目标文件中去。
3、建立一函数,要求采用异步方式完成文件的读写,使用该函数将源文件中的内容读出,
再写到目标文件中去。
4、用上面建立的3个函数分别实现无缓冲、有缓冲和异步方式实现文件读/写操作。
对于同
一源文件,分别调用使用3个函数各10次,最后给出三种方式的平均花费时间的对比。
课题十七:使用位示图实现主存的分配与回收
要求采用分页管理,假定系统的主存被分成大小相等的64块,则可用8个字节构成位示图,再用一个变量记录当前可用的空闲块总数,根据分配给作业的块号,为作业建立一张页表,当作业装入和结束释放主存时,要能够显示或打印系统动态变化情况(包括作业的页表、当前空闲块数、位示图等)。
课题十八、其他和操作系统相关的自拟题目
四、课程设计考核方式
课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的20%。
优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体
设计思想的论述;程序完全实现设计方案,设计方案有独特性和创新性;
良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现
设计方案的软件,设计方案较好;
中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;
及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正
确;
不及格:没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不
正确。
提交的电子文档和软件必须是由学生自己独立完成,同组报告80%以上雷同者成绩向下降一级。