中南大学操作系统课程设计题目-2015.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计题目与要求 一、课程设计要求: 1.根据每道题的人数选定题目。(如果自己有好的想法可以与我联系,可以做其他的题目) 2.分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包括界面)、详细设计必要的算法,并最终显示结果。基于WINDOWS或LINUX操作系统都可以,用何种编程语言都有可以。 3.提交设计报告,包括设计要求、设计思想流程、设计所涉及的主要数据结构、程序清单、运行结果、设计心得、参考资料等。 4.严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。 5.所提交源程序应是能够运行通过的完整程序。 6.课程设计参考评分标准: 设计思想说明数据结构的说明各模块的算法流程图程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;体会,建议Void main(int argc,char *argv[]),可以获取命令行参数。 通过VC++“工程/设置”的C/C++属性页设置应用程序为“MTD”多线程。 利用win32 API CreateThread()来生成线程。 睡眠理发师问题 目的:了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。 设计要求: (1)编写程序实现理发师与顾客进程的同步。 问题描述:这是一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。如果没有顾客,则理发师在理发椅上睡觉,顾客理来时,如理发师闲则理发,否则如有空椅则坐等,没有空椅则离开,编写程序实现理发师和顾客程序,实现进程控制,要求不能出现竞争。 (2)将(1)题中问题修改为有两位理发师,设计程序实现同步控制。 问题提示:可以用一个变量waitting来记录等候理发的顾客数,另使用三个信号量:用来记录等候理发的顾客数customers;用来记录理发师是否空闲的信号量barbers,一个用于互斥访问waitting变量的mutex.。 进程调度模拟程序 目的:深入掌握进程调度的概念原理和实现方法。 设计要求:编写一个进程调度程序,允许多个进程并行执行。 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)、先来先服务算法、按时间片轮转调度算法,最终总结该算法的优缺点,写出设计体会。 每个进程有一个进程控制块(PCB)表示,进程控制块可以包含如下信息: 进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(wait)、运行R(run)或完成F(finish)三种状态之一。 进程调度模拟程序 目的:深入掌握进程调度的概念原理和实现方法。 设计要求:编写一个进程调度程序,允许多个进程并行执行。 进程调度算法:采用最高优先数优先与按时间片轮转调度结合算法,最终总结该算法的优缺点,写出设计体会。 如果运行下个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进行已占用CPU时间还未达到所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所有进程都完成为止。 读者与写者问题(同步问题) 目的:了解进程同步的概念,理解信号量机制的原理,掌握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥。 设计要求:编程模拟读者与写者问题,要求显示结果。 问题描述: (1)多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。读者可以同时读,但是写者只能独立写。 (2)对(1)修改,使得它对写者优先,即一旦有写者到,后续的读者都必须等待,而无论是否有读者在读文件。 模拟文件管理系统 目的:深入了解文件管理系统,初步掌握文件管理系统的实现方法。 设计要求:编写一程序,模拟一个简单的文件管理系统。树型结构,目录下可以是目录,也可以是文件。 在此文件管理系统,可实现的操作有: 改变目录:格式:cd 目录名 显示目录:格式:dir[目录名] 创建目录:格式:md 目录名 删除目录:格式:rd目录名 新建文件:格式:edit文件名 删除文件:格式:del文件名 退出文件系统:exit 实现参考: 文件系统采用二叉树型存储结构,结点结构如下: Struct FileNode { Char filename[FILENAME_LEN];//文件名/目录名 Int isdir ;//目录、文件的识别标志 Int i_n

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档