操作系统学习课程设计方案任务书
课程设计任务书--基于PLC的舞台灯控制系统的设计

第6天:列出I/O分配表
第7-8天:写出梯形图程序,并对程序进行注释
第9-10天:学习西门子S7-200的编程软件STEP 7 MicroWin SP6,并在该软件中编写梯形图程序
第11天:学习西门子S7-200仿真软件,并进行程序仿真和调试。
第12天:将课程设计中用到的程序在PLC试验箱上进行运行和调试。
第13-14天:撰写课程设计报告。
主要参考资料
[1]廖常初.S7-200 PLC编程及应用[M].北京:机械工业出版社,2013.8
[2]梅丽凤.电气控制与PLC应用技术[M].机械工业出版社,2012.3
[3]殷洪义.可编程序控制器选择设计与维护[M].机械工业出版社,2006.1
指导教师签字
教研室主任签字
(1)、1~7组灯依次点亮,再全亮。
(2)、重复(1),循环往复。
2、画出实现程序流程图。
3、列出输入、输出端口。
4、写出梯形图程序。
5、调试程序,直至符合设计要求。
工作量
2周时间,每天3学时,共计42学时
进度安排
第1天:明确课程设计的目的和意义,根据课程设计要求查找相关资料
第2-3天:学习课程设计中用到的PLC相关知识
课程设计任务书
专业:自动化班级:10级2班
学生名
XX
学号
XX
课程名称
PLC原理与应用
设计题目
基于PLC的舞台灯控制系统的设计
设计目的、主要内容(参数、方法)及要求
设计目的:
1、掌握移位寄存器指令的应用
2、掌握PLC控制系统的设计流程
设计主要内容及要求:
1、舞台灯模块共有7组指示灯,用PLC控制7组舞台灯光的闪烁、移位及时序的变化。具体要实现的功能有:
操作系统课程设计--银行家算法

目录第一章功能需求描述 (2)1.1功能列表与说明 (2)1.2操作界面和操作方法 (2)第二章设计描述 (3)2.1任务分解说明 (3)2.2主要数据结构设计说明 (3)2.3主要函数接口设计说明 (3)第三章算法描述 (5)第四章开发过程描述 (14)4.1程序代码 (14)4.2设计中的问题和解决方法 (23)4.3测试用例和测试方法 (24)第五章设计心得体会 (32)计算机科学与技术学院课程设计任务书第一章功能需求描述1.1功能列表与说明(1)添加进程:规定现在操作系统中运行的进程数。
(2)添加资源:规定当前需要资源的种类数和各种类资源的数目。
(3)分配资源:给各进程分配资源。
(4)安全性检查:检查资源分配后是否会发生死锁,若发生则不这样进行分配。
(5)资源释放:当一个进程结束后释放其所占有的各类资源。
(6)得到安全序列:当资源分配能够保证各进程顺利结束,则得到进程的安全序列。
(7)删除资源:即取消某资源1.2操作界面和操作方法*************银行家算法演示****************请首先输入系统可供资源种类的数量:资源*的名称:资源的数量:请输入作业的数量:请输入各进程的最大需求量:请输入各进程已经申请的资源量:系统目前可用资源:系统是否安全?分配的序列:********银行家算法演示***********1:增加资源2:删除资源3:修改资源4:分配资源5:增加作业0:离开在如上的操作界面中分别按照提示进行输入,按回车键表示当前输入完毕,然后进行下个步骤的输入或者得到最终结果。
第二章设计描述2.1任务分解说明银行家算法的实现过程主要分为以下几个部分:为实现银行家算法,系统中必须设置若干数据结构。
其中有allocation,记录已经分配的系统资源;max,记录每个进程的资源最大需求;available,记录剩余资源;need用来记录现在每个进程需要多少资源,need=max-allocation;request 请求资源;temp,记录路径,即输出的顺序;finish,用来实现循环,以判断是否安全,这也就是安全性检查。
plc课程设计任务书

plc课程设计任务书一、课程目标知识目标:1. 让学生理解PLC(可编程逻辑控制器)的基本原理,掌握其工作流程和编程方法。
2. 使学生掌握PLC的常用指令,并能运用这些指令完成简单的控制程序编写。
3. 帮助学生了解PLC在工业自动化中的应用,提高对实际工程问题的解决能力。
技能目标:1. 培养学生运用PLC软件进行程序设计和调试的能力。
2. 培养学生通过团队协作,分析问题、解决问题的能力。
3. 提高学生动手实践能力,学会使用PLC控制硬件设备。
情感态度价值观目标:1. 培养学生对PLC技术的兴趣,激发学习热情,树立正确的学习态度。
2. 培养学生具备创新意识和实践精神,敢于面对挑战,勇于克服困难。
3. 通过课程学习,使学生认识到PLC技术在工业发展中的重要性,增强国家使命感和社会责任感。
课程性质:本课程为实践性较强的学科,注重理论联系实际,强调学生的动手能力和创新能力。
学生特点:学生具备一定的电子基础和编程能力,对新鲜事物充满好奇,但可能缺乏实践经验。
教学要求:结合学生特点,以实际应用为导向,注重启发式教学,鼓励学生参与实践,培养其独立思考和解决问题的能力。
将课程目标分解为具体的学习成果,以便在教学过程中进行有效评估。
二、教学内容1. PLC基本原理及结构:包括PLC的定义、发展历程、主要组成部分及其功能。
教材章节:第一章 可编程逻辑控制器概述2. PLC工作原理及编程方法:讲解PLC的工作流程、编程语言和编程规则。
教材章节:第二章 PLC工作原理与编程基础3. PLC常用指令及其应用:介绍PLC的常用指令,如逻辑运算、定时器、计数器等,并结合实例进行分析。
教材章节:第三章 PLC指令系统及编程实例4. PLC控制系统设计:讲解PLC控制系统的设计步骤、硬件选型和软件编程。
教材章节:第四章 PLC控制系统设计5. PLC在工业自动化中的应用:介绍PLC在各个领域的应用案例,分析其优缺点。
教材章节:第五章 PLC在工业自动化中的应用6. PLC实践操作:组织学生进行PLC编程软件的使用、程序设计、调试及硬件控制等实践活动。
读者-写者问题说明书

《操作系统原理》课程设计任务书题目:读者-写者问题的实现学生姓名:李志旭学号:13740113 班级:_13级软件工程_题目类型:软件工程(R)指导教师:陈文娟、马生菊一、设计目的学生通过该题目的设计过程,掌握读者、写者问题的原理、软件开发方法并提高解决实际问题的能力。
二、设计任务编写程序实现读者优先和写者优先问题:读者-写者问题的读写操作限制(包括读者优先和写者优先)写-写互斥:不能有两个写者同时进行写操作读-写互斥:不能同时有一个线程在读,而另一个线程在写。
读-读允许:可以有一个或多个读者在读。
三、设计要求1.分析设计要求,给出解决方案(要说明设计实现所用的原理、采用的数据结构)。
2.设计合适的测试用例,对得到的运行结果要有分析。
3.设计中遇到的问题,设计的心得体会。
4.文档:课程设计打印文档每个学生一份,并装在统一的资料袋中,资料袋前面要贴有学校统一的资料袋封面。
四、提交的成果1. 课程设计说明书内容包括(1) 封面(学院统一印制);(2) 课程设计任务书;(3) 中文摘要150字;关键词3-5个;(4) 目录;(5) 正文;(设计思想;各模块的伪码算法;函数的调用关系图;测试结果等)(6) 设计总结;(7) 参考文献;(8) 致谢等。
注:每一部分是单独的一章,要另起一页写。
2. 排版要求(1) 所有一级标题为宋体三号加粗(即上面写的2~8部分,单独一行,居中)(2) 所有二级标题为宋体四号加粗(左对齐)(3) 所有三级标题为宋体小四加粗(左对齐)(4) 除标题外所有正文为宋体小四,行间距为固定值22磅,每个段落首行缩进2字符(5) 目录只显示3级标题,目录的最后一项是无序号的“参考文献资料”。
3. 其他要求(班长负责,务必按照以下方式建文件夹)(1) 以班级为单位刻录光盘一张,光盘以班级命名,例如:“10级计算机科学与技术1班”;(2) 光盘内每人一个文件夹,以学号姓名命名——如“10730101 陈映霞”,内容包括任务书、设计文档。
操作系统课程设计任务书

操作系统集中上机实验1:银行家算法一、目的和要求银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。
加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。
二、实验内容1.设计进程对各类资源最大申请表示及初值确定。
2.设定系统提供资源初始状况。
3.设定每次某个进程对各类资源的申请表示。
4.编制程序,依据银行家算法,决定其申请是否得到满足。
三、算法描述银行家可以把一定数量的资金供多个用户周转使用,为保证资金的安全银行家规定:1.当一个用户对资金的最大需求量不超过银行家现有的资金就要接纳该用户;2.用户可以分期贷款,但贷的总数不能超过最大需求量;3.当银行家现有的资金不能满足用户的沿需贷数时,对用户的贷款可推迟支付,但总能使用户在有限的时间里得到贷款;4.当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金。
实验2:时间片轮转法基本思想:将CPU的处理时间划分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片,当时间片结束时,就强迫运行进程让出CPU,该进程进入就绪队列,等待下一次调度,同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行。
在轮转法中,时间片长度的选择非常重要,将宜接影响系统开销和响应时间。
如果时间片长度很小,则调度程序剥夺处理机的次数频繁,加重系统开销;反之,如果时间片长度选择过长,比方说一个时间片就能保证就绪队列中所有进程都执行完毕,则轮转法就退化成先进先出算法。
实验3-4:抢占式(或非抢占式)优先级调度算法基本思想:该算法的基本思想是进程优先级高者优先调度,是一种常用的进程调度算法。
该算法的关键是如何确定优先数。
通常确定优先数的方法有两种,即静态法和动态法。
(1)静态优先权是在创建进程时确定的,其运行特征是优先数确定之后在整个进行运行期间不再改变。
确定静态优先权的依据有进程的类型、进程所使用的资源、进程的估计运行时间等因素。
计算机课程设计任务书

计算机课程设计任务书全文共四篇示例,供读者参考第一篇示例:计算机课程设计任务书一、课程名称:计算机应用课程设计二、课程编号:COMP101三、授课教师:XXX四、课程简介:计算机应用课程设计是一门针对计算机专业学生的实践性课程,旨在培养学生独立分析问题、设计解决方案的能力。
通过本课程的学习,学生将深入了解计算机应用的基本原理和实践技巧,掌握各类应用软件的开发与设计方法,培养实践动手能力和团队合作精神。
五、课程目标:1. 理解计算机应用的基本原理和技术;2. 掌握各类应用软件的开发和设计方法;3. 能够独立分析问题,设计解决方案;4. 培养实践动手能力和团队合作精神。
六、课程内容:1. 计算机应用基础知识介绍2. 软件开发工具及技术3. 基本软件应用开发4. 软件测试与调试技术5. 软件项目管理与团队合作七、实践任务:1. 设计一个简单的桌面应用软件,实现基本的功能:如文本编辑、图形绘制等;2. 运用所学的软件开发技巧,设计一个网页应用程序,实现数据交互和动态效果;3. 结合实际案例,进行软件测试与调试,找出问题并解决;4. 分组进行软件项目管理的实践,体验团队协作的重要性。
八、实践作业要求:1. 按时提交每个阶段的实践作业,包括设计文档、代码和测试报告;2. 在团队合作实践中,积极参与讨论和合作,分工明确,任务完成及时;3. 完成个人项目设计和实现,具有一定的创新性和实用性。
九、考核方式:1. 课堂表现(15%)2. 实践作业(40%)3. 期末考核(45%)十、课程教材:1. 《计算机应用基础》2. 《软件开发技术》3. 《软件测试与调试指南》十一、参考资料:1. https:///2. https:///3. https:///以上为本课程的设计任务书,希望同学们认真学习和实践,掌握计算机应用的基本原理与技术,提升实践能力和团队合作意识。
祝大家学习愉快!第二篇示例:任务书二、任务目标1. 通过本次课程设计,学生要掌握Java、Python或C++等编程语言的基础知识和程序设计技巧。
Windows程序设计课程设计任务书

Windows程序设计课程设计任务书12020年4月19日Windows程序设计课程设计任务书课程设计题目1: 设计一个简单的通讯录管理系统程序(对话框方式)一、设计目标与内容:1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2. 基本掌握面向对象程序设计的基本思路和方法;3. 掌握用VC++开发应用程序的的一般步骤和方法;4. 学习对话框的编程基本知识二、功能描述1. 编写一个基本对话程序,程序中显示学生通信录信息(列表控件显示)信息包括:姓名,学号,qq号码或MSN,邮箱,固定电话,手机号码,专业、班级、性别等(前面为必须也能够根据需要增加自行设计)。
2. 能够增加删除、学生信息。
删除学生信息。
3. 增加学生信息,能够再建立一个对话框,对话框中输入增加的学生信息,要求专业只能从计算机学院三个专业中选择,性别只能单选,其它输入限制,如学22020年4月19日号、电话号码只能输入数字,姓名只能有4个汉字(8个字符长度)。
三、设计要求:1. 用VC++进行编码,实现应用程序的功能。
注重编码质量,代码要有适当的注释;2. 必做题2、提交设计报告一份(课程设计任务书、目录、主要的数据结构、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。
32020年4月19日Windows程序设计课程设计任务书,课程设计题目2: 设计一个简单的通讯录应用程序(视图方式)一、设计目标与内容:1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2. 基本掌握面向对象程序设计的基本思路和方法;3. 掌握用VC++开发应用程序的的一般步骤和方法;4. 学习掌握文档视图架构5. 学习掌握文档序列化机制6. 能够利用所学的基本知识,设计一个简单的通讯录应用程序,具有以下功能:①用文件来保存通讯录信息(必须实现的功能)②编程实现通讯录记录的添加、删除、修改、浏览和查询(必须实现的功能)。
课程设计任务书

课程设计任务书一、课程目标知识目标:1. 学生能掌握课程核心概念,如XXX(根据具体学科),并能够准确运用相关术语进行表达。
2. 学生能理解课程内容的基本原理,如YYY(根据具体学科),形成知识网络,提高对学科知识的理解和运用能力。
3. 学生能通过本章节学习,掌握ZZZ(根据具体学科)的基本方法,提高解决问题的能力。
技能目标:1. 学生通过课堂讨论、实践操作等环节,培养观察、分析、解决问题的能力。
2. 学生能够运用所学知识,独立完成相关习题,提高自主学习能力。
3. 学生能够在团队合作中发挥自己的优势,学会与他人沟通、协作,提高团队协作能力。
情感态度价值观目标:1. 学生在学习过程中,培养对学科的兴趣和热爱,形成积极的学习态度。
2. 学生通过课程学习,增强自信心,养成勇于探究、不断进取的良好品质。
3. 学生能够认识到所学知识在实际生活中的应用价值,培养社会责任感和创新精神。
课程性质:本课程为学科基础课程,旨在帮助学生掌握学科知识,提高综合素养。
学生特点:学生处于XX年级(根据具体年级),具备一定的自主学习能力和合作精神,对新鲜事物充满好奇心。
教学要求:结合学生特点和课程性质,注重启发式教学,提高学生的实践操作能力和创新意识,关注学生的个体差异,因材施教。
通过本课程的学习,使学生在知识、技能、情感态度价值观等方面取得具体的学习成果,为后续学习奠定坚实基础。
二、教学内容本章节依据课程目标,选择以下教学内容:1. 知识点讲解:- 引导学生掌握教材中关于XXX(具体学科概念)的基础知识,涉及教材第X 章第X节。
- 分析YYY(具体学科原理)的内涵及在实际中的应用,参考教材第X章第X 节。
- 介绍ZZZ(具体学科方法)的操作步骤,结合教材第X章第X节。
2. 技能训练:- 设计观察、分析类习题,培养学生解决问题能力,对应教材第X章练习题。
- 组织课堂讨论,促进知识内化,涉及教材第X章相关话题。
- 开展实践操作活动,提高学生动手能力,参照教材第X章实践活动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机操作系统》课程设计任务书一、课程设计的目的和意义本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、总体要求:1、一个班分若干个组,每组最多3人,个别可以4人组(自由组合),每组选定一个课程设计题目;2、人员分工:组长1人、组员1到2人。
组长可由小组人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。
三、设计要求:本课程设计以Windows或Linux操作系统为实验平台,进行操作系统各种算法的模拟或对源代码分析和修改或应用。
通过该课程设计,使学生掌握操作系统各部分结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。
要求如下:1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。
5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。
四、成绩评定1、同学平时表现占总成绩20%,若迟到扣5分,无故旷课每次扣10 分,二次不到者总成绩最好以及格计。
2、课程设计程序功能占总成绩40%,课程设计报告占总成绩40%,在规定时间内上交。
3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以不及格处理。
五、设计内容(除特别注明外,每组最多3人,先自由组合,并选定1个题目,再由老师作适当调整)课题一、银行家算法设计目的:死锁会引起计算机工作僵死,因此操作系统中必须防止。
本设计的目的在于使用高级语言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原因,并采用银行家算法有效地防止死锁的发生,以加深对课堂上所讲授的知识的理解。
设计要求:设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。
系统能显示各个进程申请和释放资源,以及系统动态分配资源的过程,便于用户观察和分析,要求使用图形用户界面。
银行家算法的思路:1.进程一开始向系统提出最大需求量.2.进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量.3.若正常,则判断该进程所需剩余量(包括本次申请)是否超出系统所掌握的剩余资源量,若不超出,则分配,否则等待.4.银行家算法的数据结构.1)系统剩余资源量V[n],其中V[n]表示第I类资源剩余量.2)已分配资源量A[m][n],其中A[j][i]表示系统j程已得到的第i资源的数量.3)剩余需求量.C[m][n],其中C[j][i]对第i资源尚需的数目.5.银行家算法流程:当某时刻,某进程时,提出新的资源申请,系统作以下操作:1)判定E[n]是否大于C[j][n],若大于,表示出错.2)判定E[n]是否大于系统剩余量V[n],若大于,则该进程等待.3)若以上两步没有问题,尝试分配,即各变量作调整.4)按照安全性推测算法,判断,分配过后,系统是否安全,若安全,则实际分配,否则,撤消分配,让进程等待.6."安全性检测"算法对进程逐个扫描,先判断flag,看进程是否完成,如果完成则继续扫描,如果没有再判断当前系统是否满足进程所需要的分配额,如果满足则分配并当进程完成后回收资源,如果没有则扫描下一个进程。
扫描所有进程,如果所有的进程都能完成就表明是安全分配序列,如果没有,则分配不成功,不存在着安全序列。
课题二、处理机调度算法的实现设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。
也就是说能运行的进程数大于处理机个数。
为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。
要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:1)先由用户输入进程数量(至少5个进程),再由系统随机生成一个进程序列(包括到达时间和服务时间)。
2)然后显示进程调度算法由用户选择,包括:时间片轮转法,短作业优先算法,动态优先级算法。
3)显示结果包括每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示界面可参考书本的例子以表格形式但可不要表格线。
课题三、生产者——消费者问题设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制.说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。
设计要求:(1)每个生产者和消费者对有界缓冲区进行操作后,实时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者的标识符。
(2)生产者和消费者各有两个以上。
(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。
提示:(1) 有界缓冲区可用数组实现。
课题四:基于Linux的二级文件系统。
要求做到以下几点:1、可以实现下列几条命令,但可不用参数。
注意,必须真正实现,不能模拟实现,如Dir类似于Linux的ls命令。
Login 用户登录Dir 列出文件夹内容Create 创建文件Delete 删除文件Open 打开文件Close 关闭文件Read 读文件Write 写文件2、列目录时要列出文件名、物理地址、保护码和文件长度。
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、搜索当前目录下文件的函数iname( )10、访问控制函数access( )11、显示目录和文件用函数_dir( )12、改变当前目录用函数chdir( )13、打开文件函数open( )14、创建文件函数create( )15、读文件用函数read( )16、写文件用函数write( )17、用户登录函数login( )18、用户退出函数logout( )19、文件系统格式化函数format( )20、进入文件系统函数install( )21、关闭文件系统函数close( )22、退出文件系统函数halt( )23、文件删除函数delete( )课题五:存储管理——动态分区分配算法的模拟:要求设计主界面以灵活选择某算法,以下算法都要实现:1、首次适应算法2、循环首次适应算法3、最佳适应算法;4、最坏适应算法;5、快速适应算法具体要求:1)首先由系统生成当前的内存状态,按照课本P122图4-5(a)所示,要求未分配的分区数量不少于3个,且空间大小随机,然后随机生成一个数,表示等待分配进程的大小。
2)然后显示上述算法由用户选择,结果显示分配后的状态。
课题六:三种存储管理方式的地址换算1、分页方式的地址换算。
具体要求:1)随机生成页面大小,但一定为2的幂,系统随机生成一个至少有10行的页表,页号、块号从0开始。
2)用户给定一个逻辑地址,首先显示此地址的页号和页内地址,然后显示是第几块,最后显示其物理地址。
2、分段方式的地址换算。
具体要求:1)由系统随机生成5个左右的段,并随机生成一个段表并显示。
2)由用户给定一个逻辑地址,包括段号和段内地址,最后显示其物理地址。
3、段页式的地址换算。
具体要求:1)先由系统随机生成5个左右的段,然后再由系统随机生成页面大小,但一定为2的幂。
然后生成段表和页表,具体内容参照课本P140的图4-22。
2)由用户给定一个逻辑地址,包括段号和段内地址,最后显示其物理地址。
课题七:进程调度模拟程序设计要求:编写一个进程调度程序,允许多个进程共享进程调度程序。
进程调度算法:采用(1)最高优先数优先的调度算法(即把处理机分配给优先数最高的进程),(2)时间片轮转法,(3)先来先服务算法。
每个进程有一个进程控制块( PCB)表示。
进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。
进程的优先数、到达时间、时间片以及需要的运行时间由随机数产生。
1、设计内容1)设计进程控制块PCB表结构,分别适用于优先权调度算法、时间片轮转调度算法和先来先服务算法。
2)PCB结构包括以下信息:进程名、进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态,当前队列指针等。
根据调度算法的不同,PCB结构的内容可以作适当的增删。
3)建立进程就绪队列。
对两种不同算法编制入链子程序。
4)编制三种进程调度算法:A、优先数调度;B、循环轮转调度;C、先来先服务。
2、具体设计要求及有关说明选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。
并假定初始状态为就绪状态。
设计进程控制块结构如下:PCB:NAMEPRIO/ROUNDCPUTIMECOUNTNEEDTIMESTATENEXT其中:NAME——进程标识符;PRIO——进程优先数;ROUND——进程轮转时间片;CPUTIME——进程占用CPU时间;COUNT——计数器;NEEDTIME——进程到完成还要的CPU时间;STATE——进程的状态;NEXT——链指针。
进程控制块链结构如插图。
其中:RUN——当前运行进程指针;READY——就绪队列头指针;TAIL——就绪队列尾指针;FINISH——完成队列头指针。
为了便于处理,程序中进程的运行时间以时间片为单位计算。
各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。
3、程序设计算法:(1)在优先数算法中,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。
在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU 时间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。