操作系统课程设计指导书(共19页)_第1页
操作系统课程设计指导书(共19页)_第2页
操作系统课程设计指导书(共19页)_第3页
操作系统课程设计指导书(共19页)_第4页
操作系统课程设计指导书(共19页)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE PAGE 27操作系统(co zu x tn)课程设计指导书一、课程设计的目的(md)和意义本课程设计是学生(xu sheng)学习完操作系统课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。二、总体要求:课程设计总时间为2.5天。一个班分若干个组,每组2人,个别可以3人组(自由组合)课程设计题目由任课老师指定;人员分工:组长1人、组员1到2人。组长可由小组人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。三、设计要求

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

3、缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。四、成绩评定1、同学平时表现占总成绩30,若迟到扣5分,无故旷课每次扣10 分,二次不到者总成绩以0分计。2、课程设计质量占30%,课程设计报告占总成绩40,在规定时间内上交。3、提交的电子文档和软件必须是由学生自己独立完成,发现(fxin)相同题目文档雷同者,教师有权视其情况扣分或记零分。4、结果(ji gu):优:态度(ti du)较好,无缺

4、勤、迟到和早退现象,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;良:态度较好,无缺勤、迟到和早退现象;有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;中:态度较好,无缺勤、迟到和早退现象;有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;及格:态度较好,无缺勤、迟到和早退现象;有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;不及格:态度不好,有缺勤、迟到和早退现象;没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案

5、不正确。说明:可以根据题目的基本要求进行丰富的创意和想象。没有特别指定,可以采用Windows环境也可采用Linux环境,选用Windows环境的必须为图形界面,否则判为不及格,Linux环境的可以采用文本界面。开发语言不限,但软件代码必需有详细中文注释:每个方法要功能说明,关键算法要加注释说明。五、设计内容(除特别注明外,每组2人,先自由组合,并选定1个题目,再由老师作适当调整)课题一、Linux下C编程实现银行家算法银行家算法的思路:1.进程一开始向系统提出最大需求量.2.进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量.3.若正常,则判断该进程所需剩余量(包括本次申请

6、)是否超出系统所掌握的 剩余资源量,若不超出,则分配,否则等待.4.银行家算法的数据结构.1)系统剩余资源量Vn,其中Vn表示第I类资源剩余量.2)已分配资源量Amn,其中Aji表示系统j程已得到的第i资源的数量.3)剩余需求量.Cmn,其中Cji对第i资源(zyun)尚需的数目.5.银行家算法流程:当某时刻,某进程时,提出(t ch)新的资源申请,系统作以下操作:1)判定En是否(sh fu)大于Cjn,若大于,表示出错.2)判定En是否大于系统剩余量Vn,若大于,则该进程等待.3)若以上两步没有问题,尝试分配,即各变量作调整.4)按照安全性推测算法,判断,分配过后,系统是否安全,若安全,则

7、实际分配,否则,撤消分配,让进程等待.6.安全性检测算法对进程逐个扫描,先判断flag,看进程是否完成,如果完成则继续扫描,如果没有再判断当前系统是否满足进程所需要的分配额,如果满足则分配并当进程完成后回收资源,如果没有则扫描下一个进程。扫描所有进程,如果所有的进程都能完成就表明是安全分配序列,如果没有,则分配不成功,不存在着安全序列。课题二、处理机调度算法的实现设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以

8、巩固和加深处理机调度的概念。设计要求:1)先由用户输入进程数量(至少5个进程),再由系统随机生成一个进程序列(包括到达时间和服务时间)。2)然后显示进程调度算法由用户选择,包括:时间片轮转法,短作业优先算法,动态优先级算法。3)显示结果包括每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示界面可参考书本的例子以表格形式但可不要表格线。课题三、生产者消费者问题设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制.说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,实时显

9、示有界缓冲区的全部内容、当前指针位置和生产者/消费者的标识符。(2)生产者和消费者各有两个以上。(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。提示:(1) 有界缓冲区可用数组实现。课题(kt)四:基于(jy)Linux的二级文件系统。要求(yoqi)做到以下几点: 可以实现下列几条命令,但可不用参数。注意,必须真正实现,不能模拟实现,如Dir类似于Linux的ls命令。Login 用户登录Dir 列出文件夹内容Create 创建文件Delete 删除文件Open 打开文件Close 关闭文件Read 读文件Write 写文件2、列目录时要列出文件名、物理地址、保护码和文件

10、长度。3、设计提示实现虚拟文件系统的一般思路是调用系统的文件创建(如c中的fopen函数的w方式即可)一个新文件,将此文件作为虚拟磁盘,在完成本设计要求的内容时,要求所生成的文件目录以及文件等内容都是存储在此磁盘中。4、源文件可以进行读写保护。主要需完成以下子过程,但不一定全部要用到。1、i节点内容获取函数iget( ) 2、i节点内容释放函数iput( ) 3、目录创建函数mkdir( ) 4、目录搜索函数namei( )5、磁盘块分配函数balloc( )6、磁盘块释放函数bfree( )7、分配i节点区函数ialloc( )8、释放i节点区函数ifree( )9、搜索当前目录下文件的函数

11、iname( )10、访问控制函数access( )11、显示目录和文件用函数_dir( )12、改变当前目录用函数chdir( )13、打开文件函数open( )14、创建文件函数create( )15、读文件用函数read( )16、写文件用函数write( )17、用户登录函数login( )18、用户退出函数logout( )19、文件系统格式化函数(hnsh)format( )20、进入(jnr)文件系统函数install( )21、关闭(gunb)文件系统函数close( )22、退出文件系统函数halt( )23、文件删除函数delete( )课题五:存储管理动态分区分配算法的模

12、拟:要求设计主界面以灵活选择某算法,以下算法都要实现:首次适应算法循环首次适应算法最佳适应算法;最坏适应算法;快速适应算法具体要求:首先由系统生成当前的内存状态,按照课本P122图4-5(a)所示,要求未分配的分区数量不少于3个,且空间大小随机,然后随机生成一个数,表示等待分配进程的大小。然后显示上述算法由用户选择,结果显示分配后的状态。课题六:三种存储管理方式的地址换算1、分页方式的地址换算。具体要求:1)随机生成页面大小,但一定为2的幂,系统随机生成一个至少有10行的页表,页号、块号从0开始。2)用户给定一个逻辑地址,首先显示此地址的页号和页内地址,然后显示是第几块,最后显示其物理地址。2

13、、分段方式的地址换算。具体要求:1)由系统随机生成5个左右的段,并随机生成一个段表并显示。2)由用户给定一个逻辑地址,包括段号和段内地址,最后显示其物理地址。3、段页式的地址换算。具体要求:1)先由系统随机生成5个左右的段,然后再由系统随机生成页面大小,但一定为2的幂。然后生成段表和页表,具体内容参照课本P140的图4-22。2)由用户给定一个逻辑地址,包括段号和段内地址,最后显示其物理地址。课题七:进程调度模拟程序设计要求:编写一个(y )进程调度程序,允许多个进程共享进程调度程序。 进程调度(diod)算法,采用(ciyng):(1)最高优先数优先的调度算法(即把处理机分配给优先数最高的进

14、程)(2)时间片轮转法,(3)先来先服务算法。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数、到达时间、时间片以及需要的运行时间由随机数产生。1、设计内容1)设计进程控制块PCB表结构,分别适用于优先权调度算法、时间片轮转调度算法和先来先服务算法。2)PCB结构包括以下信息:进程名、进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态,当前队列指针等。根据调度算法的不同,PCB结构的内容可以作适当的增删。3)建立进程就绪队列。对两种不同算法编制入链子程序。4)编制三种进程调度

15、算法:A、优先数调度;B、循环轮转调度;C、先来先服务。2、具体设计要求及有关说明选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。设计进程控制块结构如下:PCB: NAME PRIO/ROUND CPUTIME COUNT NEEDTIME STATE NEXT其中: NAME进程标识符; PRIO进程优先数;ROUND进程轮转时间片; CPUTIME进程(jnchng)占用CPU时间; COUNT计数器; NEEDTIME进程到完成(wn chng)还要的CPU时间; STATE进程(j

16、nchng)的状态; NEXT链指针。进程控制块链结构如插图。其中:RUN当前运行进程指针;READY就绪队列头指针;TAIL就绪队列尾指针;FINISH完成队列头指针。READYFINISHRUNTAIL为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。3、程序设计算法:(1)在优先数算法中,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU时间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。(2)程序结构说明如下:整个

17、程序由INSERT1, INSERT2, FIRSTIN, PRINT, CREATE, PRISCH和ROUNDSCH过程组成。其中:INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到就绪队列中。INSERT2是轮转法使用的过程,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插入(ch r)到就绪队列的队尾。FIRSTIN的功能是将就绪队列中的第一个进程投入(tur)运行。PRINT打印每执行一次后的所有进程的状态,这里(zhl),就绪(等待)用“W”代表。CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。PRIS

18、CH按优先数算法调度进程。ROUNDSCH按时间片轮转法调度进程。主程序中定义了PCB的结构和其它变量NUMBER进程数,ALGO为10个字符长的字符串,存放要求输入的算法的名,PRIORITY为优先数算法,ROUNDROBIN为循环轮转法,在程序运行时输入其中的一个。课题八:多道程序缓冲区协调操作如下图所示,有10个PUT操作要不断循环地向Buffer1送数据,有一个Move操作要不断地将Buffer1的数据取到Buffer2,有20个GET操作要不断地从Buff2中取数据。BUFF1是10,BUFF2的容量是20, PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据

19、不丢失,每个Buffer每次只能接受一个PUT或一个Move或一个Get,多个操作不能同时操作同一BUFFER。设计一个多道程序完成上述操作。试用、原语协调PUT、 MOVE、GET的操作,并说明(shumng)每个信号量的含义、初值和值的范围。 PUT MOVE GET 1、基本功能要求(yoqi)显示(xinsh)Buffer的操作过程;可以确定Buffer的容量、PUT、GET、MOVE操作的个数;自行确定放数据的速度,取数据的速度;实时显示每个Buffer中数据的个数,已放入Buffer的数据个数,已取的数据个数;程序运行结束,显示汇总数据:总的运行时间;Buffer中数据的个数;已放

20、入BUFFER的数据个数;已放已取的数据个数;平均buffer中的数据个数。课题九、磁盘调度算法1、设计要求:要求设计一个程序,该程序模拟操作系统的磁盘调度。模拟仿真FCFS、SSTF、SCAN、CSCAN等磁盘调度算法,并对各算法进行性能分析。应提供良好的测试界面及测试方法。提供全面的输出结果。2、实验原理磁盘可供多个进程共享,当有多个进程要求访问磁盘时,应采用一种调度算法,以使进程对磁盘的平均访问时间最小,由于在访问磁盘的时间中,主要是寻道时间,因此磁盘调度的目标就是使磁盘的平均寻道时间最短。选题十:动态资源分配算法演示(ynsh)程序1、设计目的:主要用于解决(jiju)多种资源被多个独

21、立执行的进程使用的安全算法。该算法采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。2、设计(shj)要求:资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化在资源分配过程中可以随时进行系统安全状态检测如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资源分配后能够自行释放所有资源,退出资源竞争要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进行排序,如果Need数相同,则按序号由小至大进行排序;具有一定的数据容错性选

22、题十一:通用处理机调度演示程序1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。2、设计要求(多道、单处理机):进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法每一个进程有一个PCB,其内容可以根据具体情况设定。进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定可读取样例数据(要求存放在外部文

23、件中)进行进程数、进入内存时间、时间片长度、作业大小、进程优先级的初始化可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态)采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间具有一定的数据容错性选题十二:采用时间片轮转算法的进程调度程序1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度

24、的概念。2、设计要求(多道、单处理机):每一个进程有一个PCB,其内容可以根据具体情况设定。可以在界面设定的互斥资源(包括(boku)两种:输入设备与输出设备)的数目进程(jnchng)数、进入内存时间、要求服务时间可以在界面上进行设定进程之间存在一定的同步与互斥关系,可以通过(tnggu)界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出)进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W2

25、可以在运行中显示各进程的状态:就绪、阻塞、执行采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列具有一定的数据容错性选题十三:采用高响应比算法的进程调度程序1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度的概念。2、设计要求(多道、单处理机):每一个进程有一个PCB,其内容可以根据具体情况设定。可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目进程数、进入内存时间、要求服务时间可

26、以在界面上进行设定进程之间存在一定的同步与互斥关系,可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个时间片的输出)进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W2可以在运行中显示各进程的状态:就绪、阻塞、执行采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列具有一定的数据容错性选题十四:采用短作业优先算法的进程调度程序1、设计目的:在多道程序和多任务系统中,

27、系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固和加深处理机调度的概念。2、设计要求(多道、单处理机):每一个进程有一个PCB,其内容可以根据具体情况设定。可以(ky)在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目进程数、进入内存(ni cn)时间、要求服务时间可以在界面上进行设定进程之间存在一定的同步与互斥关系(gun x),可以通过界面进行设定,其表示方法如下:进程的服务时间由三段组成:I2C10O5(表示进程的服务时间由2个时间片的输入,10个时间片的计算,5个

28、时间片的输出)进程间的同步关系用一个段表示:W2,表示该进程先要等待P2进程执行结束后才可以运行因此,进程间的同步与互斥关系、服务时间可以统一用四段表示为:I2C10O5W2可以在运行中显示各进程的状态:就绪、阻塞、执行采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相应的阻塞队列具有一定的数据容错性选题十五:采用最低松弛度优先调度的实时系统调度程序1、设计目的:在实时系统中,要保证在指定的时间完成指定的任务,通常会采用抢占式的调度方式。要求采用指定的调度算法,使系统中的任务能够按时完成,通过观察中系统中的抢占点,以巩固和加深对实时系统调度算法的理解。2、设计要求:每一个

29、周期性实时任务必须指定周期长度与执行时间可以在界面安排周期性实时任务的个数与相关的指标值,又及要求仿真的时间长度系统可又对设定的任务条件进行检查,如果无法满足公式 的要求,则弹出相应的错误提示,并重新进入任务安排界面可读取样例数据(要求存放在外部文件中)进行周期性实时任务数、周期长度、执行时间的初始化采用可视化界面,数据载入后按最低松弛度算法进行调度,可以在运行中动态显示各进程的状态:就绪、执行、完成系统上下文切换时,会暂停调度,显示就绪队列中各任务的松弛度,按任意键后自动运行具有一定的数据容错性选题十六:用多进程同步方法演示“生产者-消费者”问题1、设计目的:通过研究Linux的进程同步机制

30、和信号量,实现生产者消费者问题的并发控制。2、说明:有界缓冲区内设有26个存储单元,放入取出的产品设定为26个大写英文字母。3、设计要求:生产者与消费者均有二个以上生产者和消费者进程的数目在程序界面上可调,在运行时可随时单个增加与减少生产者与消费者生产者的生产速度与消费者的消费速度均可在程序界面调节,在运行中,该值调整(tiozhng)后立即生效生产者生产的产品由随机函数(hnsh)决定多个(du )生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符采用可视

31、化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态选题十七:用多进程同步方法演示“桔子-苹果”问题1、设计目的:通过研究Linux的进程同步机制和信号量,实现特殊的生产者与消费者问题的并发控制。2、说明:有两类生产者,一类负责生产桔子,一类负责生产苹果;有两类消费者,一类负责消费桔子,一类负责消费苹果;他们共享一个有20个存储单元的有界缓冲区,每个存储单元只能放入一种产品(桔子/苹果)。3、设计要求:二类生产者与二类消费者数目均为20,即20个生产者负责生产桔子,20个生产者负责生产苹果;20个消费者负责消费桔子,20个消费者负责消费苹果二类生产者的生产速度与二类消费者

32、的消费速度均可独立在程序界面调节,在运行中,该值调整后立即生效多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码,同时需要考虑算法的效率性每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态选题十八:通用请求分页调度算法演示(ynsh)程序1、设计(shj)目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法(sun f)的理解。2、设计要求(多道):演示实现下列五种请求分页存储管理方式的页面置换算法:先进先出的算

33、法(FIFO)最佳置换算法(OPT)近期最久未使用算法(LRU)近期最少使用算法(LFU)CLOCK置换算法内存物理块数固定为15个,对多个作业采用固定分配局部置换的策略分配物理块作业数量与作业大小(10-20页)可在界面进行设置所有作业按RR算法进行调度,时间片长度为1秒可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50100,要求必须包括作业所有的页面,可作为样例数据保存可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、页面串长度的初始化要求对每种算法采用可视化界面,模拟内存分配和使用情况图,可在运行过程中随时暂停,查看当前内存物理块使用情况。有性能比

34、较功能,可比较同一组数据在不同页面置换算法下的命中率选题十九:采用近期最久未使用(LRU)算法仿真请求分页系统1、设计目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。2、设计要求:实现请求分页存储管理方式的页面置换算法:近期最久未使用算法(LRU)内存物理块数固定为15个,对多个作业采用可变分配全局置换的策略分配物理块作业数量与作业大小(10-20页)可在界面进行设置所有作业按RR算法进行调度,时间片长度为1秒可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50100,要求必须包括作业所有的页面,可作为样例数据保存可读取样例数据(要求存放在外部文件

35、中)进行作业数量、作业大小、页面串长度的初始化要求采用可视化界面,模拟内存分配和使用情况图,可在运行过程中随时暂停,查看当前内存物理块使用情况。每次全部作业运行结束后,要求打印出访问命中率选题二十:采用近期最少使用(LFU)算法仿真请求分页系统1、设计(shj)目的:用高级语言编写和调试(dio sh)一个内存分配程序,加深对内存分配算法的理解。2、设计(shj)要求:实现请求分页存储管理方式的页面置换算法:近期最少使用算法(LFU)内存物理块数固定为15个,对多个作业采用可变分配全局置换的策略分配物理块作业数量与作业大小(10-20页)可在界面进行设置所有作业按RR算法进行调度,时间片长度为

36、1秒可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50100,要求必须包括作业所有的页面,可作为样例数据保存可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、页面串长度的初始化要求采用可视化界面,模拟内存分配和使用情况图,可在运行过程中随时暂停,查看当前内存物理块使用情况。每次全部作业运行结束后,要求打印出访问命中率选题二十一:采用CLOCK置换算法仿真请求分页系统1、设计目的:用高级语言编写和调试一个内存分配程序,加深对内存分配算法的理解。2、设计要求:实现请求分页存储管理方式的页面置换算法:CLOCK算法内存物理块数固定为15个,对多个作业采用可变分配

37、全局置换的策略分配物理块作业数量与作业大小(10-20页)可在界面进行设置所有作业按RR算法进行调度,时间片长度为1秒可为每个作业随机产生引用的页面串,也可以人工输入引用的页面串,页面串长度50100,要求必须包括作业所有的页面,可作为样例数据保存可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、页面串长度的初始化要求采用可视化界面,模拟内存分配和使用情况图,可在运行过程中随时暂停,查看当前内存物理块使用情况。每次全部作业运行结束后,要求打印出访问命中率选题二十二:通用动态分区分配存储管理系统演示1、设计目的:用高级语言编写和调试一个动态分区内存分配程序,加深对内存连续分配算法的理

38、解。2、设计要求:演示实现下列三种动态分区分配算法循环首次适应算法最佳适应算法最坏适应算法内存(ni cn)中有0-100M的空间为用户程序空间,最开始用户空间是空闲的作业数量、作业大小(dxio)、进入内存时间、运行时间需要通过界面进行输入可读取样例数据(要求存放在外部文件中)进行作业数量、作业大小、进入(jnr)内存时间、运行时间的初始化根据作业进入内存的时间,采用简单的先进先出原则进行从外存到内存的调度,作业具有等待(从外存进入内存执行)、装入(在内存可执行)、结束(运行结束,退出内存)三种状态。(为了简化,不考虑CPU的调度与切换,运行时间为作业在内存中驻留的时间)能够自动进行内存分配

39、与回收,可根据需要自动进行紧凑与拼接操作,所有过程均有动态图形变化的显示采用可视化界面,可随时暂停显示当前内存分配和使用情况图。选题二十三:设计内核同步原语1、设计目的:掌握操作系统中信号量signal()与wait()的工作原理,和在Linux内核中增加系统调用函数的方法,了解对Linux内核重新进行编译、连接的过程。设计要求:要求设计三个原语实现操作系统中信号量signal()与wait()功能:Request()、Release()和Broadcast()Request()类似wait()操作,该原语允许多个进程因一个事件而阻塞,每次产生阻塞时均会发出一个消息,“有多少个进程处于阻塞状态

40、。”Release()类似signal()操作,当一个进程产生这个事件的信号时,该原语会唤醒处于阻塞队列中的第一个进程,并发出一个消息“进程XX解除了阻塞状态,尚有XX个进程处于阻塞状态。”;如果在信号产生时,没有进程因为这个事件阻塞,那么这个信号无效,不产生任何消息。Broadcast()是类似一个广播操作,当一个进程产生这个事件的信号时,该原语会唤醒处于阻塞队列中的所有进程,并发出一个消息“广播,所有进程解除了阻塞状态。”;如果在信号产生时,没有进程因为这个事件阻塞,那么这个信号无效,不产生任何消息。编写一个测试程序,验证原语的正确性。要求在实验报告中列出Linux内核的版本与编译过程选题

41、二十四:字符与块设备驱动程序1、设计目的:掌握设备驱动程序的编写、编译和装载、卸载方法,了解设备文件的创建,并知道如何编写测试程序测试自己的驱动程序是否能够正常工作2、设计要求:编写一个字符设备驱动程序与一个块设备驱动程序,字符设备包括打开、读、写、IO控制与释放五个基本操作,块设备包括打开、IO控制与释放三个基本操作。编写相关测试程序,测试设备驱动程序的正确性。要求在实验报告中列出Linux内核的版本与内核模块加载过程选题二十五:采用“写优先”的策略演示“读者-写者”问题1、设计目的:通过研究经典的进程进步问题(wnt),实现对读者-写者问题的并发控制。2、说明(shumng):阅览室一次最

42、多可以容纳20个人。3、设计(shj)要求:读者与写者至少包括ID、进入内存时间、读写时间三项内容,可在界面上进行输入读者与写者均有二个以上,可在程序运行期间动态增加读者与写者可读取样例数据(要求存放在外部文件中),进行读者/写者、进入内存时间、读写时间的初始化要求将运行过程用可视化界面动态显示,可随时暂停,查看阅览室中读者/写者数目、读者等待队列、写者等待队列、读写时间、等待时间读写策略为:读写互斥、写写互斥、写优先(只要写者到达,就阻塞后续的所有读者,一旦阅览室无人,写者能最快进入阅览室;在写者未出阅读室之前,又有新的读者与写者到达,仍然是写者排在前面)选题二十六:采用“读写平等”的策略演

43、示“读者-写者”问题1、设计目的:通过研究经典的进程进步问题,实现对读者-写者问题的并发控制。2、说明:阅览室一次最多可以容纳20个人。3、设计要求:读者与写者至少包括ID、进入内存时间、读写时间三项内容,可在界面上进行输入读者与写者均有二个以上,可在程序运行期间动态增加读者与写者可读取样例数据(要求存放在外部文件中),进行读者/写者、进入内存时间、读写时间的初始化要求将运行过程用可视化界面动态显示,可随时暂停,查看阅览室中读者/写者数目、读者等待队列、写者等待队列、读写时间、等待时间读写策略为:读写互斥、写写互斥、读写平等(严格按照读者与写者到达的顺序进入阅览室,有写者到达,则阻塞后续到达的

44、读者;有读者到达,则阻塞后续到达的写者)选题二十七:独占设备的分配与回收1、设计目的:掌握独占设备的分配流程,会使用安全性算法检查设备分配是否安全2、设计要求:合理设计SDT、DCT、COCT、CHCT的数据结构独占设备、控制器与通道的数目可在界面进行设置进程申请使用独占设备时至少要求包括申请时间与使用时间可读取样例数据(要求存放在外部文件中)进行独占设备、控制器与通道数目的初始化,进行进程申请设备的初始化点击开始运行后,系统自动根据初始设定的数据进行设备分配与回收(hushu),所有状态信息需动态地显示出来:设备、控制器、通道数目,阻塞队列情况等运行中可动态增加申请设备的进程,可随时(sush)暂停,查看当前状态使用可视化界面(jimin)进行演示选题二十八:模拟共享打印机的Spooling守护进程1、设计目的:掌握采用Spooling技术解决独占设备的共享问题2、设计要求:daemon进程(守护进程)为一独立的进程模块,负责从输出井中取文件进行打印请求打印进程的PCB至少包括:进程标识符、进程状态、信息块首地址、信息块长度。进程状态有三种,包括:等待(输出井满,等待)、进入(打印数据已存入输出井)、结束(打印结束)输出井为一有界存储空间,用一个一维char型数组表示,数组size为100

温馨提示

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

评论

0/150

提交评论