操作系统课程设计-任务书

上传人:20****03 文档编号:170296502 上传时间:2021-03-01 格式:DOC 页数:12 大小:112KB
返回 下载 相关 举报
操作系统课程设计-任务书_第1页
第1页 / 共12页
操作系统课程设计-任务书_第2页
第2页 / 共12页
操作系统课程设计-任务书_第3页
第3页 / 共12页
操作系统课程设计-任务书_第4页
第4页 / 共12页
操作系统课程设计-任务书_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《操作系统课程设计-任务书》由会员分享,可在线阅读,更多相关《操作系统课程设计-任务书(12页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统课程设计任务书一、课程设计的目的和意义本课程设计是学生学习完计算机操作系统课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。二、总体要求1、 一个班分若干个组,自由组合,每组选定一个课程设计题目;2、 人员分工:组长1人、组员若干,简单题目人员组成不宜超过3人。组长可由小组人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务系统总体设计、编码、测试、相关文档等。三、设计要求本课程设计以Windows或Linux操作系统为实验平台,进行操作系统各种算法的模拟或对

2、源代码分析和修改或应用。通过该课程设计,使学生掌握操作系统各部分结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。要求如下:1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。5、在设计过程中,要严格要求

3、自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。四、成绩评定1、同学平时表现占总成绩20,若迟到扣5分,无故旷课每次扣10 分。2、课程设计程序功能占总成绩40,课程设计报告占总成绩40,在规定时间内上交。3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以不及格处理。五、设计内容(除特别注明外,自由组合,老师可做适当调整)课题一、生产者消费者问题设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制.说明:有界缓冲区内设有20个存储单元,放入/取出的数据项

4、设定为1-20这20个整型数。设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,实时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者的标识符。(2)生产者和消费者各有两个以上。(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。提示:有界缓冲区可用数组实现。课题二、页面置换算法的模拟实现一设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率。用C语言实现,要求设计主界面以灵活选择某算法,且以下算法都要实现1、先进先出算法(FIFO);2、最近最久未使用算法(LRU)课题三、页面置换算法的模拟实现二设计一个虚拟存储区和内存工作区,编程序

5、演示下述算法的具体实现过程,并计算访问命中率。用C语言实现,要求设计主界面以灵活选择某算法,且以下算法都要实现1、 最佳淘汰算法(OPT)2、 最少访问页面算法(LFU)课题四:进程调度模拟程序设计要求:编写一个进程调度程序,允许多个进程共享进程调度程序。 进程调度算法:采用(1)最高优先数优先的调度算法(即把处理机分配给优先数最高的进程),(2)时间片轮转法,(3)先来先服务算法。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数、到达时间、时间片以及需要的运行时间由随机数产生。1、设计

6、内容1)设计进程控制块PCB表结构,分别适用于优先权调度算法、时间片轮转调度算法和先来先服务算法。2)PCB结构包括以下信息:进程名、进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态,当前队列指针等。根据调度算法的不同,PCB结构的内容可以作适当的增删。3)建立进程就绪队列。对两种不同算法编制入链子程序。4)编制三种进程调度算法:A、优先数调度;B、循环轮转调度;C、先来先服务。2、具体设计要求及有关说明选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。设计进程控制块结构如下:

7、PCB: NAME进程标识符; PRIO进程优先数;ROUND进程轮转时间片; CPUTIME进程占用CPU时间; COUNT计数器; NEEDTIME进程到完成还要的CPU时间; STATE进程的状态; NEXT链指针。进程控制块链结构如插图。其中:RUN当前运行进程指针;READY就绪队列头指针;TAIL就绪队列尾指针;FINISH完成队列头指针。READYFINISHRUNTAIL为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。3、程序设计算法:(1)在优先数算法中,进程每执行一次,优先数减3,CPU时间片数加

8、1,进程还需要的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU时间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。(2)程序结构说明如下:整个程序由INSERT1, INSERT2, FIRSTIN, PRINT, CREATE, PRISCH和ROUNDSCH过程组成。其中:INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到就绪队列中。INSERT2是轮转法使用的过程,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插入到就绪队列的队尾。FIRSTIN的功能是将就绪队列中的第一个进程投入运行。PRINT打印每执

9、行一次后的所有进程的状态,这里,就绪(等待)用“W”代表。CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。PRISCH按优先数算法调度进程。ROUNDSCH按时间片轮转法调度进程。主程序中定义了PCB的结构和其它变量NUMBER进程数,ALGO为10个字符长的字符串,存放要求输入的算法的名,PRIORITY为优先数算法,ROUNDROBIN为循环轮转法,在程序运行时输入其中的一个。课题五:多道程序缓冲区协调操作如下图所示,有10个PUT操作要不断循环地向Buffer1送数据,有一个Move操作要不断地将Buffer1的数据取到Buffer2,有20个GET

10、操作要不断地从Buff2中取数据。BUFF1是10,BUFF2的容量是20, PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据不丢失,每个Buffer每次只能接受一个PUT或一个Move或一个Get,多个操作不能同时操作同一BUFFER。设计一个多道程序完成上述操作。试用、原语协调PUT、 MOVE、GET的操作,并说明每个信号量的含义、初值和值的范围。 PUT MOVE GET 1、基本功能要求(1) 显示Buffer的操作过程;(2) 可以确定Buffer的容量、PUT、GET、MOVE操作的个数;(3) 自行确定放数据的速度,取数据的速度;(4) 实时显示每个B

11、uffer中数据的个数,已放入Buffer的数据个数,已取的数据个数;(5) 程序运行结束,显示汇总数据:a) 总的运行时间;b) Buffer中数据的个数;c) 已放入BUFFER的数据个数;d) 已放已取的数据个数;e) 平均buffer中的数据个数。f) 。课题六、磁盘调度算法1、设计要求:要求设计一个程序,该程序模拟操作系统的磁盘调度。模拟仿真FCFS、SSTF、SCAN、CSCAN等磁盘调度算法,并对各算法进行性能分析。应提供良好的测试界面及测试方法。提供全面的输出结果。2、实验原理磁盘可供多个进程共享,当有多个进程要求访问磁盘时,应采用一种调度算法,以使进程对磁盘的平均访问时间最小

12、,由于在访问磁盘的时间中,主要是寻道时间,因此磁盘调度的目标就是使磁盘的平均寻道时间最短。选题七:动态资源分配算法演示程序1、设计目的:主要用于解决多种资源被多个独立执行的进程使用的安全算法。该算法采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。2、设计要求:1) 资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求2) 可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化3) 在资源分配过程中可以随时进行系统安全状态检测4) 如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资源分配后能够自行

13、释放所有资源,退出资源竞争5) 要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进行排序,如果Need数相同,则按序号由小至大进行排序;6) 具有一定的数据容错性选题八:通用处理机调度演示程序1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。2、设计要求(多道、单处理机):1) 进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静

14、态优先权优先调度算法、高响应比调度算法2) 每一个进程有一个PCB,其内容可以根据具体情况设定。3) 进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定4) 可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化5) 可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态)6) 采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列7) 有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间8) 具有一定的数据容错性课题九、银行家算法银行家算法的思路:1.进程一开始向系统提出最大需求量.2.进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量.3.若正常,则判断该进程所需剩余量(包括本次申请)是否超出系统所掌握的 剩余资源量,若不超出,则分配,否则等待.4.银行家算法的数据结构.1)系统剩余资源量Vn,其中Vn表示第I类资源剩余量.2)已分配资源量Amn,其中Aji表示系统j程已得到的第i资源的数量.3)剩余需求量.Cmn,其中Cji对第i资源尚需的数目.5.银行家算法流程:当某时刻,某进程时,提出新的资源申请,系统作以下操作:1)判定En是否大于Cjn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号