2014年操作系统课程设计题目与要求
操作系统课程设计题目与要求
课程设计要求:
1、 可以依据教材中的算法自行选题,也可以从下面给出的题目中选题。要求每
两名同学之间课程设计内容应该不同。如果有选择相同题目的小组,则设计方案不同,否则视为抄袭。(可以两人一组,也可以一人一题) 。选题确定后,不得更改。
2、 分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包
括界面)、详细设计必要的算法,并最终显示出结果。 基于Windows 或 Linux操作系统都可以,用何种编程语言都可以。 3、 提交设计报告,包括设计要求、设计思想及流程、设计所涉及的主要数据结构、
程序清单、运行结果、设计心得、参考资料等。
4、 最终成绩决定因素=设计质量(40)+设计报告(30)+答辩(30) 5、 课程设计参考评分内容:
设计思想说明;数据结构的说明;各模块的算法流程图;程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;体会,总结及体会建议。 6、 设计报告内容与他人相同者无成绩。
7、 要求同学们在上机前,尽量多做准备,编写好程序代码,上机时进行修改调
试,以提高上机效率。
8、 第15,16周周末提交设计报告,并进行答辩。地点在机房。不允许超过时间。
二、设计题目
1. Windows多线程控制台程序(1人)
目的:学习和掌握如何编写Windows多线程控制台程序。通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。
设计要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内建立N个线程来执行指定的任务。N由命令行传递给系统。
Win32控制台程序中,主函数的格式如:
Void main(int argc,char *argv[]),可以获取命令行参数。
通过VC++“工程/设置”的C/C++属性页设置应用程序为“MTD”多线程。 利用win32 API CreateThread()来生成线程。 2. 睡眠理发师问题(2人)
目的:了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。
设计要求:
(1)编写程序实现理发师与顾客进程的同步。
操作系统课程设计指导
问题描述:这是一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。如果没有顾客,则理发师在理发椅上睡觉,顾客理来时,如理发师闲则理发,否则如有空椅则坐等,没有空椅则离开,编写程序实现理发师和顾客程序,实现进程控制,要求不能出现竞争。
(2)将(1)题中问题修改为有两位理发师,设计程序实现同步控制。
问题提示:可以用一个变量waitting来记录等候理发的顾客数,另使用三个信号量:用来记录等候理发的顾客数customers;用来记录理发师是否空闲的信号量barbers,一个用于互斥访问waitting变量的mutex.。
3. 进程调度模拟程序(1人)
目的:深入掌握进程调度的概念原理和实现方法。
设计要求:编写一个进程调度程序,允许多个进程并行执行。
进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)、先来先服务算法、按时间片轮转调度算法,最终总结该算法的优缺点,写出设计体会。
每个进程有一个进程控制块(PCB)表示,进程控制块可以包含如下信息: 进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。
进程的优先数及需要的运行时间可以事先人为指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪W(wait)、运行R(run)或完成F(finish)三种状态之一。
4. 进程调度模拟程序2(1人)
目的:深入掌握进程调度的概念原理和实现方法。
设计要求:编写一个进程调度程序,允许多个进程并行执行。
进程调度算法:采用最高优先数优先与按时间片轮转调度结合算法,最终总结该算法的优缺点,写出设计体会。
如果运行下个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进行已占用CPU时间还未达到所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所有进程都完成为止。
5. 读者与写者问题(进程同步问题)(1人)
目的:了解进程同步的概念,理解信号量机制的原理,掌握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥。
设计要求:编程模拟读者与写者问题,要求显示结果。
2
操作系统课程设计指导
问题描述:
(1)多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。读者可以同时读,但是写者只能独立写。
(2)对(1)修改,使得它对写者优先,即一旦有写者到,后续的读者都必须等待,而无论是否有读者在读文件。
6. 模拟文件管理系统(1人)
目的:深入了解文件管理系统,初步掌握文件管理系统的实现方法。
设计要求:编写一程序,模拟一个简单的文件管理系统。树型结构,目录下可以是目录,也可以是文件。
在此文件管理系统,可实现的操作有: 改变目录:格式:cd <目录名> 显示目录:格式:dir[<目录名>] 创建目录:格式:md <目录名> 删除目录:格式:rd<目录名> 新建文件:格式:edit<文件名> 删除文件:格式:del<文件名> 退出文件系统:exit 实现参考:
(1) 文件系统采用二叉树型存储结构,结点结构如下: Struct FileNode {
Char filename[FILENAME_LEN];//文件名/目录名 Int isdir ;//目录、文件的识别标志 Int i_nlink;//文件链接数 Int adr;//文件的地址
Struct FileNode *parent,*child;//指向父亲的指针和左孩子的指针
Struct FileNode *sibling_prev,*sibling_next;//指向前一个兄弟的指针和后一个兄弟的指针。 }
(2) 目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开 (3) 功能具体描述:
改变目录:改变当前工作目录,目录不存在是给出出错信息
显示目录:显示指定目录下或当前目录下所有文件和一级目录(选做:带/s参数的dir命令,
3
操作系统课程设计指导
显示所有子目录)
创建目录:在指定路径或当前路径下创建指定目录。重名时给出出错信息。
删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。 创建文件:创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不考虑。 删除文件:删除指定文件,不存在时给出出错信息。 退出文件系统:exit (4) 总体流程: 初始化文件目录
输出提示符,等待接受命令,分析键入的命令;
对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令。直到键入exit退出为止。
7. 内存的申请与释放(2人) 目的:了解操作系统内存分配的算法。 设计要求:
(1) 定义一个自由存储块链表,按块地址排序,表中记录块的大小。 …… 此处隐藏:3037字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




