您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2015年操作系统课程设计题目及要求
《操作系统课程设计》教学大纲一、课程设计基本信息课程设计环节代码:230027课程设计环节名称:操作系统课程设计英文名称:CourseDesignofOperatingSystem课程设计周数:2周学分:2.0适用对象:计算机科学与技术专业、网络工程专业先修课程与环节:高级语言程序设计、数据结构和操作系统二、课程设计目的和任务本课程是计算机专业的学生在学习了《操作系统》课程之后,为了加深和巩固学生对所学操作系统各个理论和算法知识的理解,同时提高学生利用操作系统知识综合运用的能力和分析问题、解决的问题的能力而开设的一门实践课程。通过本环节学生能够充分把学到的知识应用到实际的编程实践中,有可以进一步巩固操作系统中学习的理论。通过算法实现各种控制应用进一步体会操作系统中基本功能模块的结构和实现方法的实质,建立深入了解现有操作系统的评价和比较的方法,加深体会利用操作系统的原理能够解决实际问题的在计算机系统编程和普通编程中解决实际问题的思路;通过对程序编写规范,可以培养学生良好的编程风格,包括程序结构形式,行文格式和程序正文格式等;并培养学生的上机调试能力。三、课程设计方式1、课程设计题目的选定采用指导教师提供参考题目与学生自主命题相结合的办法选定课程设计题目。一人一题,不得重复。其中学生自主命题需要指导教师严格的审核,看是否满足课程要求,检查是否为重复课题。2、课程设计任务的完成在指导教师的指导下,各个学生独立完成课题分析、设计、代码编写和调试,独立撰写课程设计报告。所有工作任务主要在微机实验室完成。四、课程设计教学方法与要求课程设计教学方法:主要以学生上机操作为主,教师指导为辅课程设计要求:1、对系统进行功能分解、模块分析、控制模块分析正确2、选择合适的操作系统原理所需要数据结构以及相应的算法3、程序规模适中,着重于内核修订功能,也可以编写外围的程序驱动、文件系统的辅助工具和网络工具等。尽可能的使系统的功能更加完善和全面4、掌握程序调试的方法5、说明书、流程图要清楚,阐明设计思路。6、撰写课程设计报告。按格式要求写出完整、规范的报告并打印。其中模块图、流程图要清楚、规范。特别要求学生自己独立完成。五、课程设计内容和时间安排(一)动员、准备及规划(0.5天)实习具体内容:动员、选题、系统功能和需求的分析时间分配:上午动员、选题及规划实习地点:机房(二)课程设计实施、检查(0.5天)实习具体内容:需求分析说明书和任务规划,设计出每个功能时间分配:下午上机、初期检查实习地点:机房(三)课程设计实施(8天)实习具体内容:具体功能的实现及系统的完善工作、中期检查时间分配:4天上机,1小时中期检查实习地点:机房(四)整理报告(1天)实习具体内容:文档整理、设计报告的完成时间分配:全部时间写报告实习地点:机房或图书馆六、课程设计基本要求(一)动员、准备及规划1、要求:通过学习,使学生了解所选择开发环境的程序运行环境中的调试功能,掌握跟踪、修改错误的技巧。2、重点:题目的选定和结合操作系统原理的各个部分确定实现的功能以及和原理的结合,难点:对于程序运行环境学会断点设置以及中间结果的检查。3、说明:题目自选也可以参考教师提供的题目,选题要紧密结合课堂教学内容;并建立一个可行的工作计划;熟悉程序运行环境。(二)课程设计实施、检查1、要求:领会按照实际的结构,使学生能根据实际问题选择数据结构,清晰的描述算法2、重点和难点:算法分析和设计3、说明:学生自检和指导教师检查相结合,严格按照拟订计划完成任务(三)课程设计实施1、要求:培养良好的编程风格,掌握所选编程语言2、重点和难点:算法分析和设计3、说明:学生自检和指导教师检查相结合,严格按照拟订计划完成任务(四)整理报告1、要求:通过学习,使学生掌握报告书写规范2、重点:格式的规范3、说明:指导教师检查七、课程设计的考核方式和成绩评定标准(一)课程设计考核方式点名、各个环节的考核及程序检查、设计报告的综合评定。(二)课程设计成绩评定标准课程设计成绩=点名*10%+程序检查*30%+设计报告*60%由指导教师根据学生完成任务的情况、课程设计报告的质量和课程设计过程中的工作态度等综合打分。成绩评定实行优、良、中、及格和不及格五个等级。不及格者不能得到相应的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;不及格:没有完整符合标准的文档,软件没有基本实现设计方案,设计方案不正确。提交的电子文档和软件必须是由学生自己独立完成,雷同者教师有权视其情况扣分或记零分。八、课程设计指导书孙钟秀编《操作系统教程》(高等教育出版社)九、重要事项(一)课程设计报告要求:总结报告按如下内容顺序用A4纸进行撰写并打印装订成册(要求最少20页):1、统一的封面;2、目录:正文从第一页开始编码,从而目录的第一项为第一页。3、课程设计正文包含以下内容:(1)需求分析(2)系统设计:每个部分的算法设计说明可以是描述算法的流程图,说明每个程序中使用的存储结构设计(如果指定存储结构请写出该存储结构的定义)。(3)详细设计:各个算法实现的源程序,源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。(4)系统实现:采用哪些类,每个类的功能,类的定义及其说明,如何现实对应的模块。如果采用过程编程,则需要每个过程的流程图和详细的功能说明,对于重点的函数的重点变量,重点功能部分要加上清晰的程序注释。(杜绝把全部代码复制到报告)(4)调试分析:测试数据,测试输出的结果,算法时间复杂度分析E结论和展望:每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),和算法的改进设想。课程设计过程的收获、遇到问题解决问题过程的思考、程序调试能力的思考、对操作系统这门课程的思考、在课程设计过程中对《操作系统》课程的认识等内容。(5)总结:对本课程设计的有哪些收获、哪些不足,今后如何做得更好(6)按统一格式列出主要参考文献。课程设计报告格式要统一,字都采用宋体小四,行距为1.5倍,页面边距都为2厘米。(二)学生上交材料:1、程序源代码(打包上传,发送到各个指导老师的邮箱中,文件名格式为“姓名-班级-学号”);2、如果需要说明文件,则上交:(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;3、课程设计报告(纸打印的和电子版)附件1:指导教师推荐题目(供参考)选题:题目大小适中课题一、编制银行家算法通用程序,并检测所给状态的系统安全性。设计目的:主要是解决多种资源的被多个独立执行的程序使用的安全算法。银行家算法就是采用矩阵存储资源的数据进行处理的方法。设计的要求:1)资源的种类和数目可以变化的2)进程可以的任意的顺序创建和变化3)采用保守的方法来分配资源。课题二、处理机调度程序:选择一个调度算法,实现处理机调度。设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。设计要求:1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法。2)可选择进程数量3)本程序包括三种算法,用C语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。课题三、用多进程同步方法解决生产者-消费者问题设计目的:通过研究Linux的进程机制和信号量实现生产者消费者问题的并发控制.说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数.设计要求:1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者县城的标识符.2)生产者和消费者各有两个以上.3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码.课题四、设计虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:要求设计主界面以灵活选择某算法,且以下算法都要实现1)先进先出算法(FIFO)2)最近最久未使用算法(LRU)3)最佳置换算法(OPT)课题五、编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:要求设计主界面以灵活选择某算法,且以下算法都要实现1)先来先服务算法(FCFS)2)最短寻道时间优先算法(SSTF)3)扫描算法(SCAN)4)循环扫描算法(CSCAN)课题六、编程模拟多进程共享临界资源:要求产生3个进程:1)两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;申请返回,表示进入了临界区。在临界区中等待一段随机时间,并显示:“进程x正在临界区…”;当时间结束,显示:“进程x退出临界区…”,同时向管理进程提出退出申请;当申请返回,显示:“进程x已退出临界区。”2)一个进程作为原语的管理进程,接受其他进程的临界区进入请求:如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;3)对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。4)进程间通信可以采用信号、消息传递、管道或网络通信方式。课题七:为LINUX设计一个简单的二级文件系统。要求做到以下几点:1)可以实现下列几条命令(至少4条)。Login用户登录Dir列文件目录Create创建文件Delete删除文件Open打开文件Close关闭文件Read读文件Write写文件2)列目录时要列出文件名、物理地址、保护码和文件长度。3)源文件可以进行读写保护。课题八:存储管理---动态分区分配算法的模拟:要求设计主界面以灵活选择某算法,且以下算法都要实现:首次适应算法、循环首次适应算法、最佳适应算法;课题九:编程演示三种存储管理方式的地址换算过程:1)分页方式的地址换算分段方式的地址换算3)段页式的地址换算要求演示正确、清晰,编程所用工具不限。课题十、编写一个简单的端口扫描程序目的:熟悉linux下socket、网络编程的基本方法;任务:编写一个简单的程序,该程序可扫描局域网的某计算机开放了哪些端口;课题十一、编写一个基于TCP协议的客户/服务器程序目的:熟悉linux下socket、网络编程的基本方法,掌握实现客户/服务器程序的编写方法;任务:编写一个简单的程序,该程序可实现基于TCP协议的简单的客户/服务器方式。课题十二、编写一个使用数据报套接字的客户/服务器程序目的:熟悉linux下socket、网络编程的基本方法,掌握客户/服务器程序的编写方法;任务:编写一个简单的程序,该程序使用数据报套接字实现简单的客户/服务器方式。课题十三、在linux平台编写一个简单的网络监听程序目的:熟悉网络数据包格式,熟悉捕获网络数据包的基本方法任务:在linux平台编写一个简单的网络监听程序,该程序能捕获网络数据包,并根据需要分析相应的数据包。课题十四、编写一个简单的内核模块。目的:动态可加载内核模块是我们动态扩展内核功能的一种方便灵活的方式,可用来实现一种文件系统、一个驱动程序、或其它内核上层的功能。基本要求:1)该模块至少需要有两个函数:一个是init_module()函数,在把模块装载到内核时被调用,向内核注册模块所提供的新功能;另一个是cleanupmodule()函数,在卸载模块时被调用,其任务是清除init_module()函数所注册的功能。编写完成后进行该
本文标题:2015年操作系统课程设计题目及要求
链接地址:https://www.777doc.com/doc-2988332 .html