操作系统进程调度课程设计报告书_第1页
操作系统进程调度课程设计报告书_第2页
操作系统进程调度课程设计报告书_第3页
操作系统进程调度课程设计报告书_第4页
操作系统进程调度课程设计报告书_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

word的完整格式枣庄学院信息科学与工程学院课程设计责任书主题: Linux下的仿真调度算法学位: 9姓名:冯文雫专业:网络工程课程:操作系统指导教师:燕孝飞角色:完成时间: 2012年5月-2012年6月枣庄学院信息科学与工程学院制2012年06月20日课程设计担当书和成绩评价课程设计的任务和具体要求通过观察和体会操作系统的过程调度方法并实现简单的过程调度程序,加深对过程调度算法、过程切换的理解。用动态优先度的方法,编制过程调度程序。 模拟器只执行适当的调度模拟操作指导教师签字:日期:指导教师的评论成绩:指导教师签字:日期:课程设计所需的软件、硬件等系统:在Windows 2000上的虚拟机上运行的Red Hat Linux语言: C/C开发工具: GCC课程设计进度计划开始日期工作内容备注6月14日-搜集资料程序设计写论文参考文献,资料索引序列号文献、资料名称编辑出版部门LINUX权威指南(第3版) -中国电力出版社Linux编程技术详解 -人民邮电出版社Linux程序设计(第3版) -人民邮政出版社计算机网络操作系统-仔细整理学习帮助目录摘要就是。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 的双曲馀弦值。 31引言1一般基本指令的介绍1.1关于Linux的产品目录指令31.2关于Linux的文件命令3双流程调度器的设计2.1进程调度52.2介绍优先日程安排52.3程序的设计构想42.4程序代码72.5程序的执行情况103 .实验总结11摘要在计算机网络快速发展的今天,计算机技术不断更新和完善,硬件和软件的变更反映在计算机操作系统的设计技术和使用风格上。操作系统是计算机系统配置所有软件中应用最广泛的基础软件,在整个计算机系统软件中处于中心地位,也是计算机专业课程中重要的一环。 从操作系统本身的角度来看,不仅充分体现了计算机日益发展的软件研究成果,还充分体现了计算机硬件技术的发展和计算机系统结构的用户界面环境。 本实验主要根据动态优先数设计了5个过程的调度算法。 也就是说,在这些调度过程中,其优先次数不断变化。2一般基本生命的基本介绍:2.1 Linux目录命令1.pwd -显示当前工作目录的绝对路径格式: pwd2. cd -更改当前工作目录命令格式: cd 目录名3.Ls-列出文件目录的信息命令格式: ls 选项 子目录名称 文件名4.mkdir -创建目录命令格式: mkdir 选项 目录名称5.rmdir -删除目录此命令用于删除指定的目录。 必须确保要删除的目录中没有文件。命令格式: rmdir 选项 目录名称2.2 linux文件命令1.lsl文件名2. chmod -修改对文件或目录的访问权限命令格式: chmod “选项”“权限”“目录或文件名”3.chgrp命令-修改文件或目录所属的组。命令格式: chgrp 选项 group filename可选:-R :递归地更改指定目录及其下的所有子目录和文件所属的组4. chown -修改文件或目录的所有者和组命令格式: chown 选项文件或目录的新所有者 .文件或目录所在的新组 文件名|目录5. cat -显示、新建和连接文件6. cp -功能:复制文件或目录,或复制dos命令格式: cp 选项源文件或目录目标文件或目录7. mv -功能:重命名文件或目录,或将文件从一个目录移动到另一个目录命令格式: mv 选项源文件或目录目标文件或目录8. rm -功能:删除目录中的一个或多个文件或目录。 您也可以删除目录及其下的所有档案和子目录命令格式: rm 选项文件双流程调度器的设计2.1进程安排无论是批处理系统还是时分系统,用户进程数一般都比处理器数多,这会争夺处理器。 此外,系统进程也必须同样使用处理器。 这需要进程调度器根据某些策略动态地将处理器分配给处于就绪队列中的进程来执行。2.2介绍优先级调度算法优先权法的基本观点是,对于就绪队列内的每个过程,首先根据某些原则来定义优先权数并将其表示,在处理器调度时,每当从就绪队列中选择优先权数最大的队列(优先权数越小则可以规定为优先权越高)时使处理器占有并执行决定优先级时,通常要考虑以下事项:(1)频繁使用外部舒适输出设备的过程优先次数大。 这样可以提高CPU的使用效率。(2)重要程序的进程优先次数多,如何有助于用户的灵活操作。(3)进入计算机系统的时间较长的程序优先数较大,有助于缩短作业的完成时间。(4)对话型用户的工作过程优先度大有助于提高与中断相应的时间。有两种设置优先级的方法:静态和动态。 静态设置方案是系统在建立进程时,按照原则设置进程优先级,这种优先级在进程存在的同时会一直很不方便。 动态配置方案始终取决于具体操作系统的设计目标来改变过程优先级并在系统存在过程时动态改变过程优先级2.3计划的设计构想(1)假设系统有五个过程,每个过程由过程控制块PCB表示;由此,过程控制块的形式要求过程名指针处于运行时间优先级的状态其中,程序名作为程序的标记,将5个程序的程序名分别设为P1、P2、P3、P4、P5。指针以优先级的大小将五个进程串联到队列中,以指针指示下一进程的进程控制块的起始地址,并且最后一个进程的指针为“0”。请求执行时间假设过程需要执行的单位时间数。优先级给出这个过程的优先级,其中优先级总是大的,并且在调度时运行。状态可假定两种状态:“就绪”状态和“结束”状态。 五个流程的初始状态为“就绪”,表示为“r”,流程运行完成后表示为“结束”,表示为“e”。(2)每次运行设计的处理器调度程序时,任意决定各进程的“优先级”和“需要执行时间”。(3)为了时间安排,按照给定的优先级从大到小的顺序排列5个过程。 用一个单元表示团队的第一个进程,用指针表示队列的连接状态。(4)处理器调度总是选择团队的最初进程来执行。 通过动态改变优先级,优先级在每次进程运行时减少“1”。 本实验是模拟处理器的调度,因此不实际启动选定的进程,而是执行优先级-1需要运行时间-1来模拟进程的单次运行。注意:在实际系统中,如果选择将进程选择为运行,则必须恢复进程的现场,直到等待事件发生或运行终止为止。 这里省略了这些工作。(5)过程运行一次后,如果要求运行时间 0,则将其添加到队列中(以优先级的大小插入,设置队列的开头标志)。 如果请求执行时间=0,则将该状态变更为“结束”(e ),结束队列。(6)如果处于“就绪”状态的进程队列不为空,请重复上述步骤(4)和(5),直到所有进程都处于“已完成”状态。(7)在设计的程序中显示或印刷语句,可以显示或印刷每次选择的进程的进程名和执行后的进程队列的变化。(8)任意确定5个过程的“优先级”和“请求执行时间”,启动设计的处理器调度器,显示或打印依次选定过程的过程名和过程控制块的动态变化过程。2.4程序代码#include stdio.h #include#includedefinegetpch (type ) (type * ) malloc (sizeof (type ) )#define NULL 0struct pcb char name10; char state; int super; int ntime;int rtime; 结构PCB *链接; *ready=NULL,*p;typedefstructpcb创建sort() /*进程优先级函数*/ PCB *first、*second; int insert=0;if (ready=null )|(p-super ) (ready-super ) ) *优先级最大者,插入到开头*/ p-link=ready; 就绪=p; 以下称为else /*进程具有高优先级,并且插入到适当的位置*/ first=ready; second=first-link;while(second!=NULL ) if(p-super)(second-super) /*插入进程优先于当前进程时,*./ /*在当前进程之前插入*/p-link=second;first-link=p; second=NULL; insert=1; 以下称为else /*如果插入进程的优先级最低,则插入队列末尾*/ first=first-link; second=second-link; if(insert=0) first-link=p; input() /*创建过程控制块函数*/ int i,num; clrscr (); /*清除屏幕*/printf (npleaseenterthenumberofprocess )scanf(%d”,num );for(i=0; iname;printf (nenterthepriorsnumberofprocess : )scanf(%d”,p-super );printf (nthetimeofprocess : )scanf(%d”,p-ntime ); printf(n );p-rtime=0; p-state=w; p-link=NULL; sort (); int space () int l=0; PCB* pr=ready;while!=NULL ) l; pr=pr-link; return(l )以下disp(PCB * pr) /*创建显示当前进程的进程显示函数*/ printf (QY namet statetst uperTN timet runtimen );printf(|%st ,pr-name );printf(|%ct ,pr-state );printf(|%dt ,pr-super );printf(|%dt ,pr-ntime );printf(|%dt ,pr-rtime );printf(n ); 以下称为check() /*创建进程显示函数*/ PCB* pr;printf (n * * * * thetunningprocessis : % s ,p-name ); /*显示当前正在运行的进程*/disp(p) pr=rea

温馨提示

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

评论

0/150

提交评论