欢迎来到天天文库
浏览记录
ID:39414423
大小:490.31 KB
页数:40页
时间:2019-07-02
《进程的描述及处理器调度》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二讲进程的描述处理器调度教学目标了解进程的基本概念熟悉进程的几种状态及转换原因掌握处理器调度的各种算法2.1进程2.1.1前趋图和程序执行1.前趋图有向无循环图每个结点表示一条语句、一段程序或一个进程结点间的有向边表示两结点的前趋关系,即进程执行的先后顺序1为初始结点,4为终止结点例:1表示输入进程,2、3分别表示乘法、加法运算,4表示输出进程1234并发程序设计/顺序程序设计使一个程序分成若干个可同时执行的程序模块的程序设计方法称为并发程序设计;相应,串行运行程序方法称为顺序程序设计。特点间断性:共享资源导致程序“执行->暂停
2、->执行”失去封闭性:并发执行以及共享资源可能导致结果变化不可再现性:不同次执行结果可能不一致程序并发执行的条件两段程序间无共享变量或对共享变量仅有读操作2.1.2进程的描述与特点进程的定义一个具有一定独立功能的程序在一个数据集上的一次执行一段程序和它执行时处理的数据可与其它程序并发执行的程序的一次执行例如,某一算题为将一千个字符输入到缓冲区,处理后输出到磁带,按并发程序设计思路将该算题分成:模块1:循环执行:读入1000个字符到输入缓冲区;模块2:循环执行:处理输入缓冲区中1000个字符,然后将1000个字符送输出缓冲区;模块3
3、:循环执行:取出输出缓冲区中1000个字符写到磁带。让这三个模块同时并发进行。2.进程的形成例如:P为一编译程序,同时为甲、乙两程序服务,假定编译程序P从a点开始工作,现在正在编译源程序甲,当工作到b点时程序P等待磁盘传输信息;这时利用处理器让编译程序P为源程序乙进行编译,编译程序仍从a点开始。虽然编译程序P只有一个,但是加工对象有甲、乙两个源程序。如果把编译程序P与服务对象联系起来,则程序P为甲服务就说构成了进程P甲,程序P为乙服务就说构成了进程P乙程序甲程序乙编译程序ab3.进程的属性结构:同一程序运行在不同数据集上时,构成不
4、同的进程。它包含了数据集和运行在其上的程序及进程控制块(PCB);并发性:多个进程可以并发执行,交替执行,走走停停,即一个进程已开始工作但尚未结束之前,另一个进程可以开始工作;交往性:若干个进程间可以相互交往制约,表现为内部逻辑上协调关系及共享资源的间接关系;动态性:进程是动态的,有-个生命期,由创建而产生,由调度而执行,由撤销而消亡。异步性:各进程按独立,未知的速度发展,导致不可再现性。同一程序运行在不同数据集上时,构成不同的进程。4.进程的基本状态在单处理器系统中,并发进程轮流占用处理器,由于发生事件引起状态变化。进程的三种基
5、本状态:等待/阻塞态:因某事件发生而暂停,等待该事件完成。就绪态:所需资源均已备齐,等待系统分配中央处理器,以便运行。运行态:占有中央处理器正在运行。进程的状态变化运行态→等待态等待态→就绪态就绪态→运行态注意:只有处于就绪态的进程,才有可能转换为运行态;处于等待态的进程在等待结束后只能进入就绪态,不能直接进入运行态;处于就绪态的进程只能转换为运行态,而不能再进入等待态。2.1.3进程控制块PCB每一个进程都设置一个“进程控制块”。操作系统通过进程控制块来描述各进程的运行情况,并以此为依据决定如何管理和控制进程运行。进程控制块是一
6、个进程存在的唯一标志。最基本的进程控制块如图所示。PCB的组织方式链接方式不同状态PCB组成相应队列,若链接字为0,表示链接结束,就绪队列按进程优先权大小排列,等待进程,还可按原因再一次分成小队列进程号下一个链接的进程号PCB14PCB2PCB8PCB7PCB6PCB5PCB4PCB330…10978PCB9…运行态队列等待态队列就绪态队列空闲队列索引方式各种状态建立独自的索引表,每个表目记录相应PCB在PCB表中地址PCB1…PCB8PCB7PCB6PCB5PCB4PCB3PCB2运行指针就绪指针等待指针就绪索引表等待索引表2.
7、1.4进程的控制进程的创建每一个进程都有生命期,即从创建到消亡。当一个程序模块获得一个数据块和一个进程控制块后就说创建了一个进程。进程的创建过程申请PCB为新进程分配内存初始化PCB将新进程插入就绪队列进程的终止当一个进程完成了特定的工作后,收回它所占的数据块和一个进程控制块,即撤销了一个进程。终止过程选择新进程占用处理机将子孙进程终止将所有占用资源归还给父进程或系统将该进程从所在队列移出等待过程从运行态转为等待态,加入等待队列唤醒过程使用唤醒原语从等待队列中移出,将PCB中状态改为就绪,插入就绪队列进程的挂起与激活进程的挂起将进
8、程静止,运行态进程暂停,就绪态进程暂不接收调度,阻塞态不急转成就绪态例如:阻塞态进程调至外存系统负荷过重,将一些进程挂起操作系统或父进程挂起(子)进程,检查资源使用或修改协调子进程终端用户挂起进程对程序进行修改进程的激活从静止阻塞态变为活动阻塞态,
此文档下载收益归作者所有