2操作系统课程设计任务书(141410007).doc_第1页
2操作系统课程设计任务书(141410007).doc_第2页
2操作系统课程设计任务书(141410007).doc_第3页
2操作系统课程设计任务书(141410007).doc_第4页
2操作系统课程设计任务书(141410007).doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统课程设计任务书一、课程编号:141410007二、适用专业: 计算机科学与技术专业三、课程设计学时和学分:学时0.5周, 0.5学分四、操作系统课程设计目的操作系统是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法,掌握操作系统的进程管理、存储管理、文件管理和设备管理的基本原理与主要算法。目的是使学生掌握常用操作系统(如DOS、Windows或Linux)的一般管理方法,了解它是如何组织和运作的,对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握,从而充分理解系统调用与程序设计之间的关系。五、课程设计的要求1.要求学生已有先导课程数据结构、操作系统和一门高级程序设计语言的基础。2.在课程设计环节,要求学生选择那些最典型的操作系统概念和机制,通过模拟实现的方式来体现操作系统的管理原理与算法,进而深刻理解操作系统的运行机制和数据结构。3.人员、题目分配:每组4到6人,每组一题。学生需独立完成课程设计,要求自行进行选题的设计、开发、调试与测试, 实现课程设计要求的系统功能。4.具体课程设计要求:1)写出操作系统课程设计各个阶段的报告;2)能够实现课程设计目标,根据选题内容设计出软件的结构和功能,写出系统的主要功能和使用说明;3)设计有效的测试方法与测试数据,提交可运行的软件系统:最终的软件对问题的描述应正确无误,运行稳定、可靠,界面友好;4)对于不同算法的比较应提供直观的性能分析方法及数据,写入课程设计文档内;5)提交一份课程设计总结报告,写出本次课程设计的收获和体会,包括已解决和尚未解决的问题,进一步完善的设想与建议;6)根据以上内容,提交如下材料:a.源程序 b.执行程序 c.设计文档 d.测试纪录 e. 不同算法的分析与比较数据。以上内容以班级为单位集中上交刻录光盘,每名学生一个文件夹,格式为班级姓名学号。6)开发环境与语言可自行选择。六、课程设计报告格式见后面附页。附件1 课程设计报告格式说明:1 红色字说明,最终报告须删除这部分;2 蓝色字的说明,是要用自己所做的具体内容替换的部分。3 标题黑体小三号,正文内容宋体小四,1.5倍行距,段前段后0行。九江学院信息科学与技术学院操作系统课程设计报告 题 目: 专 业: 班 级: 姓 名: 学 号: 同组人员: 设计时间: 一、 课程设计目的(标题黑体小三号)正文(宋体小四号),1.5倍行间距,段前段后均设置为0行。进行操作系统课程设计主要是在学习操作系统课程的基础上,在完成操作系统各部分实验的基础上,对操作系统的整体进行一个模拟,通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。二、 课程设计内容与要求模拟一种多任务(或多用户)(多道)批处理操作系统(包含处理器管理、存储管理、文件管理、进程管理、设备管理、作业管理)。三、 系统分析与设计1.系统分析(此级标题黑体四号)系统分析报告,主要强调本人对系统分析的认识系统分析从系统需求入手,从用户观点出发建立系统用户模型。用户模型从概念上全方位表达系统需求及系统与用户的相互关系。系统分析在用户模型的基础上,建立适应性强的独立于系统实现环境的逻辑结构。 分析阶段独立于系统实现环境,可以保证建立起来的系统结构具有相对的稳定性,便于系统维护、移植或扩充。 在系统分析阶段,系统的逻辑结构应从以下三方面全面反映系统的功能与性能: (1)信息。完整描述系统中所处理的全部信息; (2)行为。完全描述系统状态变化所需处理或功能; (3)表示。详细描述系统的对外接口与界面。2.系统设计系统设计方案系统设计是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,即建立新系统的物理模型。这个阶段的任务是设计软件系统的模块层次结构,设计数据库的结构以及设计模块的控制流程,其目的是明确软件系统如何做。这个阶段又分两个步骤:概要设计和详细设计。概要设计解决软件系统的模块划分和模块的层次机构以及数据库设计;详细设计解决每个模块的控制流程,内部算法和数据结构的设计。这个阶段结束,要交付概要设计说明书和设计说明,也可以合并在一起,称为设计说明书。2.1 模块设计包括:主程序的流程以及各程序模块之间的层次(调用)关系。2.2 数据结构说明设计中所用到的数据结构或抽象数据类型的说明,以及在程序中的作用2.3 算法流程图实现设计中主程序和其他子模块的算法,以流程图的形式表示,需画出函数和过程的调用关系图。本小节内所有的图均要求用Visio或Word进行绘制,不允许用bmp或其他格式的图片。绘图内文字均采用宋体五号(如果图比较大,排版不好看的话,可以根据需要缩小字体),1.5倍行间距,段前段后均设置为0行。四、 系统测试与调试分析1.系统测试l 测试方法:黑盒、白盒等l 测试技术:单元测试、功能测试、场景测试l 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。l 测试报告:必须包含最终测试结果:列出你的测试结果,包括输入和输出。这里的测试数据应该完整和严格。单元测试应用背景:它是从开发者的角度来编写的,用于确保类的每个特定方法成功执行一系列特定的任务。每一个测试都要保证对于给定的一个已知的输入应该得到所期望的输出。功能测试应用背景:它是从使用者的角度来编写的,它关注系统提供的功能特征及其不同的处理条件;测试功能的不同处理流程(包括正常处理的和异常处理);一个功能测试用例仅用于测试一个功能,一个功能可能需要多个功能测试用例来覆盖。场景测试应用背景:它是从用户对系统进行最终确认的角度来编写的,关注于不同场景、事务、业务流程等;跨功能;仅用到各个功能的一部分处理流程;一个场景测试用例仅测试一个场景、事务或业务流程。所以,报告这部分的撰写首先是要确定你所要采取的测试技术,然后对此进行介绍,最后根据所选择的技术设计测试用例,填写好下表,其中测试用例不止一个。测试说明测试名称*程序(输入你设计的软件名)测试目的验证系统对于系统登录的处理流程测试技术单元测试测试方法黑盒测试法测试用例测试内容用户登录功能用户名测试步骤输入正确用户名与密码输入正确用户名与错误密码输入错误用户名与密码测试数据Admin,正确密码Admin,错误密码错误用户名,密码预期结果正常进入系统显示密码错误显示用户不存在测试结果与预期相符与预期相符与预期相符2.调试分析:调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析等。五、 用户手册1. 使用平台是什么?下载网址?2. 是否需要安装?如需要安装,如何安装?3. 说明如何使用你编写的程序,详细列出每一步的具体操作步骤。这里可以有适当的运行结果抓图。用户手册与开发过程无关,只与使用有关,必须是Step by Step的。所有运行结果截图均要求有实际数据的内容,截图尺寸要求按页宽排版两张大小,且要求有每张图下面有规范的标题。如:图1:系统登录界面。六、 程序清单列出主要/关键算法的程序清单,要求加上详细的程序注释(函数体/过程注释,与语句行注释)七、 体会与自我评价要求不少于600字(此处可就自己承担的主要任务部分作出说明和解释)八、 参考文献1 杭诚方,谈宏编.操作系统课程设计教程.上海交通大学出版社,2008.不少于5条,可以是书籍、论文、网络资料(给出网址)附件2选题要求:1. 允许学生自拟题目,但自拟题目需要在课程设计正式开始前两周的时间报至指导老师审核并批准后才能生效;2. 禁止在设计过程中擅自更改选定的题目,否则不能进入答辩环节,课程设计成绩评定为不及格;3. 选题以组为单位,每组选做一题,每组成员为46人,小组成员须有明确的分工;4. 答辩环节由每组组长综述,主要说明小组选题、组员以及分工,系统分析、数据结构等,小组成员需共同面对答辩,由小组组长和指导老师共同打答辩分。附件3:参考选题选题一 动态资源分配算法演示程序1. 设计目的:主要用于解决多种资源被多个独立执行的进程使用的安全算法。该算法可采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。2. 设计要求:(1)资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求;(2)可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化,或由用户自行设置;(3)在资源分配过程中可以随时进行系统安全状态检测;(4)如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资源分配后能够自行释放所有资源,退出资源竞争;(5)要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进行排序,如果Need数相同,则按序号由小至大进行排序;(6)具有一定的数据容错性。选题二 处理机调度演示程序1. 设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。2. 设计要求(多道、单处理机)(1)进程调度算法包括:先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法,至少选择其中两个算法进行;(2)每一个进程有一个PCB,其内容可以根据具体情况设定;(3)进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设置;(4)可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化;或由用户设置;(6)可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态);(7)可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列;(8)具有一定的数据容错性。选题三 采用时间片轮转算法的进程调度程序1. 设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度的概念。2. 设计要求(多道、单处理机):(1)每一个进程有一个PCB,其内容可以根据具体情况设定;(2)可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目;(3)进程数、进入内存时间、要求服务时间可以在界面上进行设定;(4)进程之间存在一定的同步与互斥关系,可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出);进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行;因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W2。(5)可以在运行中显示各进程的状态:就绪、阻塞、执行;(6)可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列;(7)具有一定的数据容错性。选题四 采用高响应比算法的进程调度程序1. 设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度的概念。2. 设计要求(多道、单处理机):(1)每一个进程有一个PCB,其内容可以根据具体情况设定;(2)可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目;(3)进程数、进入内存时间、要求服务时间可以在界面上进行设定;(4)进程之间存在一定的同步与互斥关系,可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出);进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行;因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W2;(5)可以在运行中显示各进程的状态:就绪、阻塞、执行;(6)采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列;(7)具有一定的数据容错性。选题五 采用短者优先算法的进程调度程序1. 设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度的概念。2. 设计要求(多道、单处理机):(1)每一个进程有一个PCB,其内容可以根据具体情况设定;(2)可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目;(3)进程数、进入内存时间、要求服务时间可以在界面上进行设定;(4)进程之间存在一定的同步与互斥关系,可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出);进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行;因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W2;(5)可以在运行中显示各进程的状态:就绪、阻塞、执行;(6)可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列;(7)具有一定的数据容错性.选题六 用多进程同步方法演示“生产者-消费者”问题1. 设计目的:通过研究进程同步机制和信号量,实现生产者消费者问题的并发控制。2. 说明:有界缓冲区内设有26个存储单元,放入取出的产品设定为26个大写英文字母。3. 设计要求:(1)生产者与消费者均有二个以上;(2)生产者和消费者进程的数目在程序界面上可调,在运行时可随时单个增加与减少生产者与消费者;(3)生产者的生产速度与消费者的消费速度均可在程序界面调节,在运行中,该值调整后立即生效;(4)生产者生产的产品由随机函数决定;(5)多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码;(6)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符;(7)采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态。选题七 用多进程同步方法演示“桔子-苹果”问题1. 设计目的:通过研究进程同步机制和信号量,实现特殊的生产者与消费者问题的并发控制。2. 说明:有两类生产者,一类负责生产桔子,一类负责生产苹果;有两类消费者,一类负责消费桔子,一类负责消费苹果;他们共享一个有20个存储单元的有界缓冲区,每个存储单元只能放入一种产品(桔子/苹果)。3. 设计要求:(1)二类生产者与二类消费者数目均为20,即20个生产者负责生产桔子,20个生产者负责生产苹果;20个消费者负责消费桔子,20个消费者负责消费苹果;(2)二类生产者的生产速度与二类消费者的消费速度均可独立在程序界面调节,在运行中,该值调整后立即生效;(3)多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码,同时需要考虑算法的效率性;(4)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符;(5)采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态。选题八 采用近期最久未使用(LRU)算法仿真请求分页系统1. 设计目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。2. 设计要求:(1)实现请求分页存储管理方式的页面置换算法:近期最久未使用算法(LRU);(2)内存物理块数固定为15个,对多个作业采用可变分配全局置换的策略分配物理块;(3)作业数量与作业大小(10-20页)可在界面进行设置;(4)所有作业按RR算法进行调度,时间片长度为1秒;(5)可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50-100,要求必须包括作业所有的页面,可作为样例数据保存;(6)可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、页面串长度的初始化,或用户自行设置;(7)可在运行过程中随时暂停,查看当前内存物理块使用情况;(8)每次全部作业运行结束后,要求打印出访问命中率。选题九 采用近期最少使用(LFU)算法仿真请求分页系统1. 设计目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。2. 设计要求:(1)实现请求分页存储管理方式的页面置换算法:近期最少使用算法(LFU);(2)内存物理块数固定为15个,对多个作业采用可变分配全局置换的策略分配物理块;(3)作业数量与作业大小(10-20页)可在界面进行设置;(4)所有作业按RR算法进行调度,时间片长度为1秒;(5)可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50-100,要求必须包括作业所有的页面,可作为样例数据保存;(6)可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、页面串长度的初始化,或由用户自行设置;(7)可在运行过程中随时暂停,查看当前内存物理块使用情况;(8)每次全部作业运行结束后,要求打印出访问命中率。选题十 采用CLOCK置换算法仿真请求分页系统1. 设计目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。2. 设计要求:(1)实现请求分页存储管理方式的页面置换算法:CLOCK算法;(2)内存物理块数固定为15个,对多个作业采用可变分配全局置换的策略分配物理块;(3)作业数量与作业大小(10-20页)可在界面进行设置;(4)所有作业按RR算法进行调度,时间片长度为1秒;(5)可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50-100,要求必须包括作业所有的页面,可作为样例数据保存;(6)可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、页面串长度的初始化,或由用户自行设置;(7)可在运行过程中随时暂停,查看当前内存物理块使用情况;(8)每次全部作业运行结束后,要求打印出访问命中率.选题十一 动态分区分配存储管理系统1. 设计目的:用高级语言编写和调试一个动态分区内存分配程序,加深对内存连续分配算法的理解。2. 设计要求:(1)演示实现下列三种动态分区分配算法:循环首次适应算法、最佳适应算法、最坏适应算法;(2)内存中有0-100M的空间为用户程序空间,最开始用户空间是空闲的;(3)作业数量、作业大小、进入内存时间、运行时间需要通过界面进行输入;(4)可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、进入内存时间、运行时间的初始化,或由用户设置;(5)根据作业进入内存的时间,采用简单的先进先出原则进行从外存到内存的调度,作业具有等待(从外存进入内存执行)、装入(在内存可执行)、结束(运行结束,退出内存)三种状态。(为了简化,不考虑CPU的调度与切换,运行时间为作业在内存中驻留的时间);(6)能够自动进行内存分配与回收,可根据需要自动进行紧凑与拼接操作。选题十二 批处理系统的作业调度1. 设计目的:加深对作业概念的理解、深入了解批处理系统如何组织作业、管理作业和调度作业。2. 设计要求:编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。项目具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所做工作进行测试。选题十三 页式虚拟存储管理中地址转换和缺页中断1. 设计目的:明确页式存储管理如何实现地址转换;进一步认识页式虚拟存储管理中如何处理缺页中断。2. 设计要求:编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。项目具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。假定主存64KB,每个主存块1024字节,作业最大支持到64KB,系统中每个作业分得主存块4块。选题十四 磁盘调度算法的模拟与比较1. 设计目的:掌握磁盘调度的概念以及磁盘调度的基本方法2. 设计要求:选择两种以上的调度算法进行模拟实现,并比较调度效率。选题十五 临界资源模拟1. 设计目的: 掌握临界资源的概念、掌握临界区的概念、掌握进入临界区的原则2. 设计要求:(1)建立三个进程,模拟进入临界区,然后用一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论