43313091操作系统课程设计指导书133301-133302教程.doc

43313091操作系统课程设计指导书133301-133302教程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
43313091操作系统课程设计指导书133301-133302教程

《操作系统课程设计》 一、课程内容及其学时分配、教学要求 (一)课程设计进度安排(课设时间为一周): 第一天:教师讲解课程设计要求与题目,学生自愿组成小组,小组讨论选择题目、确定组员的分工,并做进度计划,及确定总体设计方案; 第二天:进行算法分析与设计,数据结构设计等,并完成部分模块编码; 第三天:编程实现算法; 第四天:测试系统,完成课程设计报告,教师安排好答辩时间及顺序; 第五天:答辩。 (二)教学要求 1、巩固和加深对处理机调度算法、进程互斥与同步、存储管理基本知识的理解,培养学生根据设计课题的需要,选用参考文献资料、查阅有关工程手册的技术数据图表、上网查阅相关文章、从网上下载相应资料等的能力,提高学生综合运用所学知识和独立解决工程问题的能力。 2、掌握用c语言或者java语言等,编程实现进程调度算法,实现内存管理,用???号量与P、V操作实现进程同步与互斥,提高学生的动手能力;并能在教师的指导下,完成设计任务。 3、通过课程设计实践,帮助学生逐步建立正确的科研观点、经济观点、全局观点。 4、初步掌握有关软件工程设计的方法、步骤,逐步熟悉开展技术设计的基本程序,为以后参与设计及研制新产品打下初步基础。 二、课程设计题目 课题一:进程调度算法。包括先到先服务算法、时间片轮转法、优先数调度算法、多级队列调度算法。模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。 课题二:读者/写者问题与进程同步。理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法。要求学生用信号量和PV操作实现读者/写者问题的读者优先算法、写者优先算法和无优先算法。 课题三:哲学家就餐问题与死锁。理解死锁的概念,掌握死锁预防方法。死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。 要求:在三个题目中任选一个题目完成。 三、课程设计分组 三名同学一组。 课程设计考核 综合考虑出勤、课设报告、程序、答辩情况。 设计题目1 进程调度算法 1.1 设计目的 进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。 下面回顾一下进程管理的相关内容。 1.1.1 进程控制块 为了管理和控制进程,系统在创建每一个进程时,都为其开辟一个专用的存储区,用以随时记录它在系统中的动态特性。而当一个进程被撤消时,系统就收回分配给它的存储区。通常,把这一存储区称为该进程的“进程控制块”(Process Control Block)。 由于PCB是随着进程的创建而建立,随着进程的撤消而取消的,因此系统是通过PCB来“感知”一个个进程的,PCB是进程存在的唯一标志。 随操作系统的不同,PCB的格式、大小以及内容也不尽相同。一般地,在PCB中大致应包括如下4方面的信息。 ·标识信息:进程名等。 ·说明信息:进程状态、程序存放位置、数据存放位置等。 ·现场信息:通用寄存器内容、控制寄存器内容、断点地址等。 ·管理信息:进程优先数、队列指针等。 1.1.2 进程控制块队列 在多道程序设计环境里,同时会创建多个进程。当计算机系统只有一个CPU时,每次只能让一个进程运行,其他的进程或处于就绪状态,或处于阻塞状态。为了对这些进程进行管理,操作系统要做三件事。 (1)把处于相同状态的进程的PCB,通过各自的队列指针链接在一起,形成一个个队列。通常有运行队列、就绪队列、阻塞队列。 (2)为每一个队列设立一个队列头指针,它总是指向排在队列之首的进程的PCB。 (3)排在队尾的进程的PCB,它的“队列指针”项内容应该为“NULL”,或一个特殊的符号,以表示这是该队的队尾PCB。 在单CPU系统中,任何时刻都只有一个进程处于运行状态,因此运行队列中只能有一个PCB;系统中所有处于就绪状态的进程的PCB排成一队,称其为“就绪队列”。一般地,就绪队列中会有多个进程的PCB排在里面,它们形成处理机分配的候选对象。如果就绪队列里没有PCB存在,则称该队列为空;所有处于阻塞状态进程的PCB,应该根据阻塞的原因进行排队,每一个都称为一个“阻塞队列”。比如等待磁盘输入/输出进程的PCB排成一个队列,等待打印机输出进程的PCB排成一个队列等。所以,系统中可以有多个阻塞队列,每个阻塞队列中可以有多个进程的PCB,也可以为空。 1.1.3 进程调度算法 进程调度算法用于确定就绪队列中的哪一个进程即将获得C

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档