作业调度状态的转换PV原语

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/30 01:15:19
作业调度状态的转换PV原语
xZ[o+|*bt/)PCҗ>ŨѼMP iP$%$Q$RiScYEqE;˧~gr,wgΜw.'}p//Q:BOeD uw=ywѤMlȋʣE1L=bT’is;y|oNOt2[`*]X=&oC=: =Ջ`*`x(7IrQ.aCgGpVv6SQh|aBd~67:)h2P-´ϥX)>~?dIf-10 h-Y|C똷F.-x>yy2T9'!HX4o;dfY=78^cHQDk;ʋZ#h,q8Kh:1/z8"V_l Z>AL UÌ'C(mdfj䴕"zpfh݅Wm9z@ZfKQZ7. [=?y͢n3V:~XɂQQ\٪ ߓWLE@!J`8w)C~@>8a@|{%T6Dv~'v" Dv^)`51Տ$;c1؜0t z{ۛ"{v)RTJ!]JT۝[{Flr!yգ>Bo} 8O!S*_Dѷ^`t].QϬ_j @XƤҋS)څ,]&JDe8#6!Qݽ:!KKР}[ǠOUт\<7D_ O4%hQɎ|ߌٌ*I k+2#iEh_~ v/qM w;r*Y`< +mbNV۞ġȨ(m]b}=ش"Y*e.{;] 0JZbXa+T3ڢ4{@hTu!t ewu7̄,x(;۶+; +?Ls~W@h`ÕE~$' ҩZ'B(:;X [ұk6uPlgkG FkZM59~ c "'PY|୉Nb{: /l'σQΤ5"E{6F(=?DI0M}c$ 3?K=mrBɚ&d94ql6R -럕`.]sp`P('; Aw++I?NsQmF4-\!5FFL̢ efϧUn))y>-'v01)z-V#V ^*때Kc-7:T4NTt0*U1 SZb#UQ0.NlZ>JX_SAT<ٗ-ubQ]%VO>zj@9~KhP+XQ!mJSoO 5KzkLc5H{=w-wIdjɁ~ *l5v4t6Q/G MLw!q5Ⱥu,㮡ƻ2T1D'fV[i\49!f{H|Ө{+Z KSO+yDHMR6Q0AS4~m)9|(nU7ˢtEd>4sde9I0Wc]<_(%ޯz߳3,XPD/Nfq0e5, aO/&K_H(e;aKaԪK鸣ٿ_}xv {)? Wzӗ{ \Do(V!_43߿ >Wܦٱ1D0s '0 v~AGSLPI4i4& HYFJW'㒺( { F+I6=DE>!c\hƾ}ъK #%鹌z-y)eCh9H;z므PÉU\͔p%M*JUܮa9JԝL]epKTLSĦCojV(QV|E$xTP}n`## ksX A &U:yf5*e߄g>/F`RXԯKjZF [v}[IIƾpWj6ăűX[0 B@C|rՍdlC}̎Frote͢GN 2(6 lbEHWnnb.Ǚ_N7(g7ɺ>+ O(M/6{]FzdaɡH,oA"ڕuDtKܸ ߞGėo OQiMW6ʨgtocKVU%s-]<$l:l&5J'Q*ȝCHXzE;|@ dBnJsq:=q8LȝtߤEPin8:Sf%D/䡩s<dY: F^=9LC$kOs˘$x|.>E>k<h5g$SNmO8; _iiKPU_K:{ZWQacV5Tdw৑4pH5qSf; M#G3_]qm C~ţY_em۷;pňgRuzcMkN3.:T:P$XۈbtQ+3a0eqzoB#9N\4aYeW? 8TaoUA=wdl7ͮ+r4/&$=ՎIwA6sIyxBNjp!u=cdruų'o?'?-V

作业调度状态的转换PV原语
作业调度状态的转换PV原语

作业调度状态的转换PV原语
进程的引入和基本概念 1.程序的顺序执行1)程序:是完成某个特定功能的指令的有序序列,是一个在时间上按严格次序前后相继的操作序列.2)程序的顺序执行:具有独立功能的程序独占CPU直到最终结果的过程.特点是顺序性、封闭性、可再现性.(1)顺序性:当程序在处理机上执行时,处理机的操作严格按照程序所规定的顺序执行.(2)封闭性:所谓封闭性是指程序一旦开始执行,其执行过程不受任何外界因素影响.(3)可再现性:指程序对一组数据的重复执行必得到相同的结果.(4)确定性:其程序执行结果与执行速度、时间的无关性.2.程序的并行执行程序的并发执行:两个或两个以上程序在计算机系统中同处于己开始执行且尚未结束的状态.并发程序:能够参与并发执行的程序称为并发程序. 特点:1、在执行期间并发程序相互制约; 2、程序与计算不再一一对应; 3、并发程序的执行结果不可再现; 4、程序的并行执行与程序的并发执行;程序顺序执行与并发执行比较 顺序执行 并发执行
程序顺序执行 间断执行,多个程序各自在“走走停停”中进行
程序具有封闭性 程序失去封闭性
独享资源 共享资源
具有可在现性 失去可再现性
有直接和简接的相互制约
3.进程的概念1)进程的定义:“进程”是操作系统的最基本、最重要的概念之一.但迄今为止对这一概念还没有一个确切的统一的描述.下面给出几种对进程的定义描述.l进程是程序的一次执行.l进程是可以并行执行的计算.l进程是一个程序与其使用的数据在处理机上顺序执行时发生的活动.l进程是程序在一个数据集合上的运行过程.它是系统进行资源分配和调度的一个独立单位.2)进程的特征:动态性:是程序的一次执行;并发性:进程是可以并发执行;独立性:是系统进行资源分配和调度的一个独立单位;异步性:进程间的相互制约,使进程执行具有间隙;结构性:进程是具有结构的.;3)进程与程序的主要区别: (1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;(2)程序是静态的观念,进程是动态的观念;(3)进程具有并发性,而程序没有;(4)进程是竞争计算机资源的基本单位,程序不是.(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序.4.进程的组成进程由三部分组成: 程序、数据和进程控制块(PCB,描述进程活动情况的数据结构).PCB是用来描述进程的基本情况和进程的运行变化过程,是进程存在的唯一标志.是进程组成中最关键的部分.PCB应包含如下一些基本信息: 进程标识数:系统中的每个进程都有一个唯一的标识数,以便区分或标识不同的进程.
进程的状态:说明进程目前所处的状态.
CPU现场保护区:当进程由于某种原因不能继续运行时,要将其CPU运行的现场信息保存起来,以便下次继续运行.(通常,CPU的现场信息包括:程序计数器(PC)、工作寄存器、程序状态字等.)
CPU的调度信息:包括进程优先级、进程所在各种队列的指针.
位置信息:进程要执行的程序在主存和外存起始地址,及存取保护信息.
进程使用的资源信息:包括分配给进程的I/O设备、正在执行的I/O请求信息、当前进程正打开的文件等.
记帐信息:包括CPU占用量,实际所用时间量,帐号等.5.进程之间的家族关系:在进程的树型结构系统中,进程之间存在着家族关系.创建进程的进程称为父进程,被创建进程称为子进程.因此,进程控制块中应记录本进程的父进程是谁,它的子进程又是谁.进程的基本状态及其转换1.进程基本状态:1) 运行态(Running):进程正在占用CPU; 2) 就绪态(Ready):进程具备运行条件,但尚未占用CPU; 3) 阻塞态(Blocked):又称等待态,进程由于等待某一事件不能运行时处于阻塞态.处于阻塞态的进程在逻辑上是不能运行的,即使CPU空闲,它也不能占用CPU.2.进程状态的转换处于就绪状态的进程,在进程调度程序为之分配了处理机之后,便由就绪状态转变为执行状态.正在执行的进程也称为当前进程.如果因时间片已完而被暂停执行时,该进程将由执行状态转变为就绪状态;如果因发生某事件而使进程的执行受阻(例如,进程请求访问某临界资源,而该资源正被其他进程访问),使之无法继续执行,该进程将由执行状态转变为阻塞状态.图2-1给出了进程的三种基本状态及各状态之间的转变.
进程调度

就绪

执行

阻塞

时间片用完

I/O完成或事件发生

图2-1 进程的三种基本状态及其转换 需要说明的是,处于执行状态的进程因等待某事件而变为阻塞状态时,当等待的事件发生之后,被阻塞的进程并不恢复到执行状态,而是先转变到就绪状态,再由调度程序重新调度执行.原因很简单,当该进程被阻塞后,进程调度程序会立即把处理机分配给另一个处于就绪状态的进程. 进程的控制所谓进程控制,是指系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间转换等一系列的有效管理.进程控制一般是由操作系统的内核来实现的.在进行层次设计时,往往把一些与硬件紧密相关的模块或运行频率较高的模块以及为许多模块公用的一些基本操作,安排在靠近硬件的层次中,并使它们常驻内层,以提高OS的运行效率,通常将这一部分称为OS的内核.亦即OS内核是OS常驻内存的程序和数据.内核的基本功能有:(1)中断处理这是操作系统中内核的最基本功能,也是整个操作系统赖以活动的基础.通常,内核只对中断进行“有限的处理”,然后便转由有关进程继续处理;(2)进程管理进程管理的任务有四个:进程的建立和撤消;进程状态的转换.系统应能使进程从阻塞变为就绪,把活动进程挂起或把挂起的进程激活;进程调度.进行处理机的重新分配;控制进程的并发执行.保证进程间的同步,实现相互协作进程间的通信.(3)资源管理中的基本操作包括对时钟、I/O设备和存储器管理的基本操作. 执行过程不允许被中断的程序段,或者说其执行过程不可分割.我们把这样的程序段叫原语.用于进程控制的原语有:创建原语、撤消原语、阻塞原语、唤醒原语、挂起原语、解挂(激活)原语、改变进程优先级进程间的通信1.进程的同步与互斥一般来说同步反映了进程之间的协作性质,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信.进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚其它进程情况,往往指多个任务多个进程间的通讯制约.2.临界区系统中一些资源一次只允许一个进程使用,这个资源称为临界资源.而在进程中访问临界资源的那一段程序称为临界区.系统对临界区的管理原则:(1)有空既进:没有进程在临界区时,允许一个进程立即进入临界区.(2)无空则等:若有一个进程已经在临界区,其他要求进入临界区的进程必须等待.(3)有限等待:进程进入临界区的要求必须在有限时间里得到满足.(4)让权等待:当进程不能进入自己的临界区时,应释放CPU资源.3.信号量及P、V原语1965年,荷兰学者Dijkstra提出的信号量机制是一种进程同步工具.其基本原则是在多个相互合作的进程之间使用简单的信号来协调控制.一个进程检测到某个信号后,就被强迫停止在一个特定的地方,直到它收到一个专门的信号为止才能继续执行.这个信号就称为“信号量”.其工作方式有点类似于十字路口的交通控制信号灯.信号量被定义为含有整型数据项的结构变量,其整型值大于等于零代表可供并发进程使用的资源实体数,但小于零时则表示正在等待使用临界区的进程数.对信号量的操作由两个P、V操作原语来实现.所谓原语即是执行时不可中断的过程.P操作原语和V操作原语可分别定义如下:P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列.V(S):①将信号量S的值加1,即S=S+1; ②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程.信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程.信号量的值与相应资源的使用情况有关.当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数.注意信号量的值仅能由PV操作来改变.一般来说,信号量S³0时,S表示可用资源的数量.执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S