1801-1806班操作系统课程设计任务书及分组
操作系统课程设计任务书

操作系统课程设计任务书操作系统课程设计任务书一、设计目的:本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、设计要求:从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:1、鼓励并优先个人独立选题设计,可从下面设计题目中选择,也可以自拟相关题目;如要合作,每组最多两名同学,且设计文档不能相同;2、题目选定后报给班长,班长要注意班级内题目的平衡,根据所选题目进行协调,不要都选一样的题。
3、设计完成后由老师进行统一答辩,答辩时不能对自己提供的设计进行讲解的同学,视为抄袭;4、要求每位同学写出一份详细的课程设计报告(A4纸),同组者程序相同,但报告要自己独立完成。
5、最后每位同学要将自己的设计报告和电子文档(包括报告和源程序)交给学习委员,并由学习委员统一刻盘后上交。
三、设计内容:课题一、编制银行家算法通用程序,在实现资源分配时,能够有效地避免死锁的产生。
课题二、处理机调度算法设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。
也就是说能运行的进程数大于处理机个数。
为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。
要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:1.进程调度算法包括:先来先服务算法、时间片轮转法,短作业优先算法,动态优先级算法2.可选择进程数量,每个进程由一个进程控制块PCB来标识。
3.根据个人能力可实现其中的两种以上调度算法。
课题三、用多进程同步方法解决生产者-消费者问题设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码.提示:(1) 有界缓冲区可用数组实现.课题四、设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:要求设计主界面以灵活选择某算法,且以下算法都要实现1、先进先出算法(FIFO)2、最近最久未使用算法(LRU)3、最佳置换算法(OPT)课题五、编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:要求设计主界面以灵活选择某算法,且以下算法都要实现1、先来先服务算法(FCFS)2、最短寻道时间优先算法(SSTF)3、扫描算法(SCAN)4、循环扫描算法(CSCAN)课题六、编程模拟多进程共享临界资源:要求产生3个进程:1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;申请返回,表示进入了临界区。
操作系统-课程设计指导书

操作系统课程设计指导书1.操作系统课程设计1.1 课程的性质和目的“操作系统基础”是计算机专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要的实践环节。
操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。
本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握多道程序设计基本技能。
实验的目的:(1) 掌握进程和线程的概念;(2) 掌握进程控制原语或进程控制系统调用的使用;(3) 掌握多道程序设计的基本理论、方法和技术;(4) 掌握相关语言进程控制的函数及win98或windows2000的进程控制的API函数和MFC的使用;(5) 培养学生多道程序设计的能力。
1.2 课程的内容计算机操作系统是计算机系统中最不可缺少的、最常用的软件,也是核心的、最接近于计算机硬件的软件。
计算机操作系统是计算机专业及其相关专业的主要的基础课程之一,其内容综合了各种操作系统的结构、设计思想、方法、技术和理论,其特点是内容繁多、概念抽象,因此造成理解困难、掌握不易。
现代操作系统最为核心的概念是多道程序、进程和线程,它们对于操作系统的初学者掌握尤其不易。
本课程设计的内容为“多道程序间的协同操作”,其指导思想是通过这个课程设计掌握多道程序的基本要点,解决进程和线程概念的理解难点,以利用基本概念和原理的进行多道程序设计为重点,在有限的一周时间内,利用诸如VC++或Java掌握多道程序及其进程同步和互斥的设计的基本方法, 达到能用、会用、巧用的效果。
1.3 学时分配和辅导(1)基本任务简介、原理讲解2学时(2)软件设计4学时(3)上机编程、调试24学时(4)检查考核2学时每小班大约30人,每小班至少配备一名指导教师跟综辅导答疑,解决技术难题。
要求指导教师熟悉多道程序间的协同操作、进程同步和互斥的原理,具有VC++或Java程序设计的经验。
《操作系统》课程设计指导书

《操作系统》课程设计指导书(第二版)华南农业大学信息学院及软件学院孙微微主编,张丽霞参编目录第一部分《操作系统》实验要求 (1)一、《操作系统》实验教学概述 (1)1、实验教学的基本情况 (1)2、实验教学的指导思想和教学目的 (1)3、实验项目表 (1)二、《操作系统》实验教学规范 (2)1、实验课的意义 (2)2、实验步骤 (2)3、实验报告(文档)规范 (3)4、实验考核 (5)第二部分《操作系统》课程设计 (6)题目一UNIX成组链接策略的模拟实现 (6)题目二DOS的文件分配表策略的模拟实现 (7)题目三页面置换算法的模拟实现及命中率对比 (8)题目四磁盘调度算法的模拟实现及对比 (9)题目五模拟磁盘文件系统实现 (10)题目六模拟操作系统实现 (16)第一部分《操作系统》实验要求一、《操作系统》实验教学概述1、实验教学的基本情况课程总学时数:64学时;课程总学分:3.5学分实验总学时:8适用专业:信息学院计算机科学与技术、软件工程、网络工程专业,软件学院软件工程专业考核方式及方法:实际操作+程序运行+实验报告。
实验成绩、考勤及书面作业成绩组成平时成绩。
平时成绩占课程总成绩30%,考试成绩占课程总成绩70%。
成绩评定:在参考“难度系数”的基础上>=90——选做内容/必做内容功能完善,编程风格好,人机接口界面好;80~90——必做内容功能完善,完成部分选做内容,编程风格好,人机接口界面良好;70~80——完成必做内容,编程风格良好;60~70——能完成必做内容;<60——未按时完成必做内容,或者抄袭(含雷同者)。
2、实验教学的指导思想和教学目的1)指导思想:通过由浅入深、循序渐进、精讲多练,培养学生对计算机操作系统的熟练使用,使学生全面了解操作系统的特点,熟练掌握操作系统的基本设计方法和系统工作原理。
2)教学目的:使学生通过实验来验证课堂教学的理论,并学会设计一些简单的综合应用程序或小型的模拟操作系统。
操作系统课程设计任务书

《操作系统原理课程设计B》课程设计任务书一、目的与要求1. 理解和掌握操作系统的基本概念、基本组成与工作原理;2. 理解和掌握操作系统中主要功能模块的工作原理及其实现算法;3. 掌握软件模块设计技能;熟悉并能较好地利用软件开发环境独立编程、调试和分析程序运行情况,逐渐形成创新思维和从事系统软件的研究和开发能力。
二、主要内容采用某种程序设计语言,设计与开发一个仿真操作系统,要求具备进程调度、存储器管理、文件及设备管理等基本功能,具体内容包括:1.模拟单处理器系统的进程调度,加深对进程的概念及进程调度算法的理解;2.编写一个多线程程序,加深对现代操作系统中线程的理解;3.编写和调试一个银行家算法程序,加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法;4.用可变分区算法模拟主存的分配和回收,加深对存储器管理的理解,熟悉各种主存分配方法;5.模拟虚拟存储管理中缺页中断及页面置换算法,加深对虚拟存储器管理的理解,熟悉各种页面淘汰算法;模拟设备的分配与回收,加深对设备管理的理解;模拟文件管理的工作过程,从而对各种文件操作命令的实质内容和执行过程有比较深入的了解;模拟磁盘调度的过程,加深对磁盘存储器管理的理解,熟悉各种磁盘调度算法。
6.综合以上实验的结果,并进行集成与设计,开发出一个小型虚拟操作系统。
对以上课程设计内容,将根据学生的专业与实际情况进行调整,某些题目为选作题目。
三、进度计划四、设计(实验)成果要求至少完成主要内容中的3项,统一使用课程设计报告书,文字清楚、工整。
五、考核方式实验结果(60%)+实验报告(30%)+实验过程表现(10%)学生姓名:指导教师:年月日。
操作系统课程设计指导书

操作系统课程设计指导书操作系统课程设计指导书李晓东编电子与信息工程学院计算机系-9一、课程设计的目的和意义本课程设计是学生在学完了《操作系统》课程后,培养学生程序设计能力的一个重要教学环节。
课程设计为学生提供了一个动手、动脑并独立实践的机会,有助于学生将教材的理论知识和实践相结合,从而锻炼学生分析问题、解决问题的能力,提高学生实际编写程序的能力,为学生学习计算机专业的后续课程打下良好基础。
本课程设计要求对操作系统的分析以加深对计算机硬件结构和系统软件的认识,初步掌握操作系统组成模块和应用接口的使用方法,提高进行工程设计和系统分析的能力,为毕业设计和以后的工程实践打下良好的基础。
本课程设计的主要目的:1.熟悉并巩固《操作系统》的基本概念和基本理论,加强对操作系统有关原理的理解;2.培养学生自主学习、独立思考的能力,学会查找资料并善于分析资料的能力;3.培养学生严谨的工作作风,提倡互相学习培养团队精神;4.提高学生独立设计、独立调试程序的能力;5.初步养成良好的系统软件分析和设计能力,形成良好的编程风格。
二、本课程设计有关要求基本要求:1、巩固和加深对操作系统原理的理解,提高综合运用本课程所学知识的能力。
2、培养学生选用参考书,查阅手册及文献资料的能力。
培养独立思考、深入研究、分析问题、解决问题以及团队协作能力。
3、经过实际操作系统的分析设计、编程调试,掌握系统软件的分析方法和工程设计方法。
4、能够按要求编写课程设计报告书,能正确阐述设计和实验结果、正确绘制系统和程序框图。
5、经过课程设计,培养学生严谨的科学态度,严肃认真的工作作风,和团队协作精神。
具体要求:1.认真阅读本课程设计指导书,明确课程设计的目的、意义和要求;2.根据要求完成课程设计的系统开发和调试任务,提供可运行的课程设计系统,参加上机面试答辩。
3.根据学校有关格式要求,完成本课程设计的课程设计说明书。
(必须绘制系统工作原理图及算法流程图)重点:本设计的重点是要求根据任务要求,确定操作系统有关算法并加以实现,注重实际应用能力的培养。
操作系统课程设计任务书

《操作系统》课程实验指导书一、设计题目题目一:模拟实现页式虚拟存储管理页面置换算法题目二:模拟实现虚拟存储管理(请求分页存储管理)题目三:模拟实现可变分区存储管理题目四:模拟实现算法多级反馈队列进程调度算法题目五:模拟银行家算法二、设计目的《操作系统》课程实验是计算机类专业的集中实践性环节之一,是学习完《操作系统》课程后进行的一次全面的综合练习。
其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系统软件和应用软件提供必要的软件理论基础。
、设计内容设计内容一页式虚拟存储管理页面置换算法1.目的和要求在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。
2.设计内容阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。
模拟实现页式虚拟存储管理的三种页面置换算法(OPT、FIFO和LRU),并通过比较性能得出结论。
前提:(1)页面分配采用固定分配局部置换。
(2)作业的页面走向和分得的物理块数预先指定。
可以从键盘输入也可以从文件读入。
(3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。
3.设计环境Windows操作系统、VC++6.0C语言4.设计提示(1)基础知识存储管理是操作系统进行资源管理的一个重要功能。
现代操作系统广泛采用虚拟存储的技术对内存进行扩充。
实现虚拟存储的一个主要技术手段就是将辅存和主存统一管理,在二者之间进行对换,从而形成物理上两级而逻辑上一级的存储管理系统。
一个置换算法的好坏对这个逻辑上的单级虚存的性能起着极其重要的作用,而且会影响处理机的调度性能。
操作系统学习课程设计方案任务书

《计算机操作系统》课程设计任务书一、课程设计的目的和意义本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、总体要求:1、一个班分若干个组,每组最多3人,个别可以4人组(自由组合),每组选定一个课程设计题目;2、人员分工:组长1人、组员1到2人。
组长可由小组人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。
三、设计要求:本课程设计以Windows或Linux操作系统为实验平台,进行操作系统各种算法的模拟或对源代码分析和修改或应用。
通过该课程设计,使学生掌握操作系统各部分结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。
要求如下:1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。
5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。
四、成绩评定1、同学平时表现占总成绩20%,若迟到扣5分,无故旷课每次扣10 分,二次不到者总成绩最好以及格计。
2、课程设计程序功能占总成绩40%,课程设计报告占总成绩40%,在规定时间内上交。
3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以不及格处理。
操作系统课程设计任务书

操作系统课程设计一设计目的操作系统课程设计是本课程重要的实践教学环节,选择那些最典型的操作系统概念和机制,通过模拟实现的方式来体现操作系统的管理原理与算法,进而深刻理解操作系统的运行机制和数据结构。
课程设计的目的,一方面使学生更透彻地理解操作系统的基本概念和原理,使之由抽象到具体;另一方面,通过课程设计加强学生的实验手段与实践技能,培养学生独立分析问题、解决问题、应用知识的能力和创新精神。
与本课程的实验教学相比,课程设计独立设课,具有更多的学时,给学生更多自行设计、自主实验的机会,充分放手让学生真正培养学生的实践动手能力,全面提高学生的综合素质。
二设计内容参考上机实验材料,在下列课题任选其一进行模拟:1.进程调度算法(先来先服务、短作业优先、时间片轮转、动态高优先权优先);2.内存可变分区分配算法的分配和回收(首次适应、最佳适应、最坏适应、紧凑);3.请求分页页面置换算法(先进先出、最佳置换、最近最久未使用);4.文件系统(两级目录结构文件的新建、打开、关闭、删除等相关操作)。
三设计要求1.在深入理解操作系统基本原理的基础上,对于选定的题目,以小组(2~3人)为单位,先确定设计方案;2.设计系统的数据结构和合理的算法,设计每个模块的处理流程;3.编程实现,要求设计主界面以便灵活选择某算法;4.实现可视化的运行界面,界面应清楚地反映出系统的运行过程和结果;5.确定测试方案,选择测试用例,对系统进行测试;6.运行系统并要通过验收,讲解运行结果,说明系统的特色和创新之处,并回答指导教师的提问;7.提交课程设计报告。
四课程设计报告组成1.概述(包括设计题目、设计任务、设计要求、分工情况)2.算法及数据结构(每个模块的功能、算法流程、采用的数据结构)3.程序设计与实现(实现代码及相关注释)4.程序测试及实验结果分析5.小组各成员的收获、体会五报告提交1.将实验报告电子档发至邮箱:luojiaomin@2.文件名为:学号_姓名.doc3.发送时设置请求回执项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统课程设计任务书
一、课程设计任务
本次课程设计的任务是虚拟实现部分操作系统的典型算法,加深对操作系统运行机制的掌握和理解。
本部分任务每组同学完成一份(分组见“课程设计分组”部分)。
任务具体要求:
在Winidows/Linux/iOS/Android平台下(平台任选一个),以结构化或面向对象编程思想实现下面功能:
1、磁盘管理
建立一个4MB大小的文件模拟磁盘,按逻辑将其划分为1024块,每块大小4KB。
其中900块用于存放普通数据,124块用于存储兑换数据。
存储管理需要支持:
(1)数据组织:对需要存放的文件数据加以组织管理,可以采用连续组织方式、显式连接(FAT)方式、单级索引组织方式、二级索引组织方式、混合索引方式(每组要求不同,具体见“课程设计分组”部分,下同)。
(2)空闲块管理:能够查询并返回当前剩余的空闲块,对空闲块管理可以采用位示图法、空闲盘块表法、空闲盘块连法、成组连接法。
(3)兑换区管理:能够写入、读出兑换区数据。
2、目录管理
为写入模拟磁盘的数据文件建立目录,目录可以是单级文件目录、双级文件目录、树形结构目录。
在目录中选择某个文件可以将其数据读入模拟内存。
目录中包含文件名、文件所有者、创建时间、文件结构、在磁盘中存放的地址等信息。
目录管理需要支持:
(1)新建目录:在目录中新建空目录
(2)删除目录:删除空目录
(3)为文件建立目录项:一个文件被创建后,为该文件创建目录项,并将文件相关信息写入目录中。
(4)删除文件:删除目录中某个文件,删除其在磁盘中的数据,并删除目录项。
如果被删除文件已经读入内存应该阻止删除,完成基本的文件保护。
3、内存管理
申请一块1KB的内存空间模拟内存,按逻辑划分为256块,每块4B。
将目录中选中的文件读入内存,显示文件中信息。
内存可以同时显示多个文件信息,每个文件固定分配8个内存块,如果8个内存块不能显示文件全部信息,采用页面置换策略,将已显示完的页换出内存,可以选择的置换策略有,全局置换、局部置换、FIFO、LRU。
内存管理需要支持:
(1)分配内存块:为线程分配内存块,每个线程默认分配8块。
(2)回收内存:线程结束后回收其内存。
(3)空闲内存块管理:为进入内存的数据寻找空闲内存块。
没有空闲内存时,应给出提示。
(4)页表管理:记录页面在内存块的对应关系,提供数据块进入模拟内存的访问、修改情况,为页面置换算法提供支持。
4、线程管理
本虚拟系统以线程为基本运行单位,线程本身采用编程语言提供的线程机制,不模拟。
系统主要包括的线程有:
(1)数据生成线程:该线程负责生成外存数据,给定数据大小(按字节计算)、数据信息(英文字母)、存储目录、文件名后,该线程调用磁盘管理中空闲磁盘管理功能,申请所需大小的外存块,如果盘块不够给出提示。
按照要求的数据组织方式,将数据存入磁盘块(按块分配磁盘),并调用目录管理功能为其在目录中建立目录项,更改空闲盘块信息。
(2)删除数据线程:该线程调用删除目录管理中文件删除功能删除数据(内存中文件不能删除)。
并回收外存空间,更新空闲盘块信息。
(3)执行线程:选择目录中的文件,执行线程将文件数据从外存调入内存,为此,首先需要调用内存管理的空闲空间管理功能,为该进程申请4块空闲内存,如果没有足够内存则给出提示,然后根据目录中文件存储信息将文件数据从外存读入内存,此间如果4块内存不够存放文件信息,需要进行换页(选择的换页策略见分组要求),欢出的页面存放到磁盘兑换区。
允许同时运行多个执行线程。
文件数据在内存块的分布通过线程的页表(模拟)进行记录。
(4)线程互斥:对于1KB的内存,线程需要互斥访问,避免产生死锁。
不能访问内存的线程阻塞,等待被唤醒。
5、用户接口
对内存块、外存块、目录信息进行可视化显示,并能够动态刷新。
文件调入内存过程、以及换页过程在块与块之间加入延时,以便观察。
对于实现以上功能,可以采用任何熟悉的编程语言,不做具体要求。
二、课程设计分组
每班在班内自由结组,不能跨班结组。
每班8-9组,每组4-5人。
每组的置换策略、目录结构、外存组织方式、空闲磁盘管理方式不同。
具体分组由各班学委负责协调,最后学委将“180X班操作系统课程设计分组表”发给各班指导教师。
16周验收(具体时间和各班指导老师协商),并提交课程设计程序及报告。
报告按组内分工,主要写自己部分,严谨拷贝报告,如有雷同最终成绩不合格。
(共36人)
(共36人)
(共36人)
(共36人)
(共35人)
(共35人)
三、选作题目
第一部分课程设计任务书中的内容也可在KVM、QEMU、NACHOS等硬件虚拟平台上完成,在虚拟平台完成只需要完成5个规定功能中的1个即可。
选作本部分任务可以不做分组中规定内容。