操作系统课程设计任务书

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

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

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

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

3、,其成绩按不及 格处理。5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、 按质、按量完成课程设计。6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和 团队协作精神。四、成绩评定1、同学平时表现占总成绩20,若迟到扣5 分,无故旷课每次扣10 分,二次不 到者总成绩最好以及格计。2、课程设计程序功能占总成绩40,课程设计报告占总成绩 40,在规定时间内 上交。3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以不及格处理。五、设计内容(除特别注明外,每组最多3人,先自由组合,并选定 1个题目,再由老师作适当调整)课题一、银行家算法设计目的:死

4、锁会引起计算机工作僵死,因此操作系统中必须防止。本设计的目的在于 使用高级语言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原 因,并采用银行家算法有效地防止死锁的发生,以加深对课堂上所讲授的知识的理解。设计要求:设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进 程的申请动态的分配资源。系统能显示各个进程申请和释放资源,以及系统动态分配资源的 过程,便于用户观察和分析,要求使用图形用户界面。银行家算法的思路:1. 进程一开始向系统提出最大需求量.2. 进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量.3. 若正常,则判断该进程

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

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

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

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

9、件长度。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(

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

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

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

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

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

15、RUN当前运行进程指针;READY就绪队列头指针;TAIL就绪队列尾指针; FINISH完成队列头指针。为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转 时间片数以及进程需运行的时间片数的初值均由用户给定。3、程序设计算法:(1)在优先数算法中,进程每执行一次,优先数减3, CPU时间片数加1,进程还需要 的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU时 间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。( 2)程序结构说明如下:整个程序由 INSERT1, INSERT2, FIRSTIN, PRINT, CREATE, PRISCH和 ROUNDSCH 过程组成。其中:INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到就 绪队列中。INSERT2 是轮转法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

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