欢迎来到天天文库
浏览记录
ID:34224177
大小:86.80 KB
页数:8页
时间:2019-03-04
《2010年操作系统课程设计题目》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《操作系统课程设计》指导书课程设计要求:1、根据每道题目的人数要求指定题目,要求每两名同学之间课程设计内容应该不同。如果有选择相同题目的小组,则设计方案不同,否则视为操袭。2、分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包括界面)、详细设计必要的算法,并最终显示出结果。基于Windows或Linux操作系统都可以,用何种编程语言都可以。3、提交设计报告,包括设计要求、设计思想及流程、设计所涉及的主要数据结构、程序清单、运行结果、设计心得、参考资料等。4、最终成绩决定因素=设计质量(40)+设计报告(30)+答辩(30)5、时间安排:16周——确定题目
2、,查找资料,上机编程;20周——上机编程调试,验收答辩,提交课程序设计报告书。6、设计报告内容与他人相同者无成绩。课程设计题目:1.Windows多线程控制台程序(1人)目的:学习和掌握如何编写Windows多线程控制台程序。通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。内容要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内建立N个线程来执行指定的任务。N由命令行传递给系统。Win32控制台应程序中,主函数的格式如:voidmain(intargc,char*artv[]),可以获取命令行参数。通过VC++“工程/设置”的C
3、/C++属性页设置应用程序为“MTD”多线程。利用Win32APICreateThread()来生成线程。参考书:《操作系统原理与实践教程》周湘贞曾宪权编清华出版社2.睡眠理发师问题(2人)实验目的:了解信号量机制,了解并掌握进行同步和机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。设计要求:1.编写程序实现理发师与顾客进程的同步。问题描述:这是另一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。如果没有顾客,则更好师便在理发椅上睡觉,顾客到来时,如理发师闲则理发,否则如有空等候椅则坐等,没有空椅则离开,编写程序实现理发师和顾客程序
4、,实现进程控制,要求不能出现竞争。2.将1题中问题修改为有两位理发师,设计程序实现同步控制。问题提示:可以用一个变量waiting来记录等候理发的顾客数,另使用三个信号量:用来记录等候理发的顾客数customers;用来记录理发师是否空闲的信息号量barbers,一个用于互斥访问waiting变量的mutex。1.进程调度模拟程序(2人)实验目的:深入掌握进行调度的概念原理和实同方法。设计要求:编写一个进程调度程序,允许多个进程并行执行。进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)、先来先服务算法、按时间片轮转调度算法,最终总结该算法的优
5、缺点,写出设计体会。每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。2.进程调度模拟程序2(1人)实验目的:深入掌握进程调度的概念原理和实现方法。设计要求:编写一个进程调度程序,允许多个进程并行执行。进程调度算法:采用最高优先数与按时间片轮转调度结合算
6、法,最终总结该算法的优缺点,写出设计体会。就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。1.读者与写者问题(进程同步问题)(1人)实验目的:了解进程同步的概念,理解信号量机制的原理,掌
7、握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥。设计要求:编程模拟教材中讨论的读者与写者问题,要求能显示结果。2.模拟文件管理系统(3人)实验目的:深入了解文件管理系统,初步掌握文件管理系统的实现方法。设计要求:编写一程序,模拟一个简单的文件管理系统。树型结构,目录下可以是目录,也可以是文件。在此文件管理系统,可实现的操作有:改变目录:格式:cd<目录名>显示目录:格式:dir[<目录名>]创建目录:格式:md<目录名>删除目录:格式:rd<目录名>新建文件:格式:edit<文件名>删除文件:格式:del<文
此文档下载收益归作者所有