,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五讲 进程表示与进行状态变化,目的与要求:,理解进程概念,掌握进程在系统中的表示方法,理解进程的创建及其状态变化.,重点与难点:,进程表示与进程创建,状态转换.,习题:1,2,4,5,第五讲 进程表示与进行状态变化,1,第三章 进程与处理机管理,3.1,进程描述,进程,:是系统中占用处理机及争夺其它系统资源的实体。用户程序必须在进程中运行。,进程的引入:,为了能在作业内某作业步等I/O时,另一逻辑上可并行作业步能使用CPU。,引入进程后,逻辑上可并行的作业步可在不同进程中运行。处理机能在进程间切换。,原多道程序设计系统中的作业可看成是只有一个进程的作业。*,第三章 进程与处理机管理进程:是系统中占用处理机及争夺其它,2,并发与共享的问题,:并行程序访问共享数据问题举例:(,count为共享变量,初值,=300),Program A:,N=count,N=N+100,count=N,Program B:,M=count,M=M+200,count=M,如果按以下次序占处理机运行:,N=count,N=N+100;,M=count,M=M+200,count=M;,count=N.,结果count=400(应为600)*,并发与共享的问题:并行程序访问共享数据问题举例:(count,3,1.进程定义,进程,:,是一个有独立功能的程序关于某个数据集合的一次运行活动。,特点,:,动态性:可动态创建,结束,也可是精灵进程,并发性:可以被独立调度占用处理机运行,独立性:尽量把并发事务安排到不同的进程,制约性:因访问共享数据或进程间同步而产生制约.,组成,:,操作系统表示/管理进程的PCB表以及,执行程序及处理数据;,一片存放程序和数据的空间;,一个栈区(一个用户栈,一个核心栈);,进程使用的其他系统资源.*,1.进程定义进程:是一个有独立功能的程序关于某个数据集合的一,4,2.进程控制结构,进程映像,:,进程执行程序,数据,栈。进程映像如何存放在内存取决于存储管理机制.,进程控制块PCB,:,系统管理控制进程运行用的信息集合(含核心栈).*,用户空间,系统空间,2.进程控制结构用户空间系统空间,5,PCB含有以下三大类信息:,进程标识信息,。如本进程的标识;本进程的产生者标识(父进程标识);进程所属用户标识。,处理机状态信息保存区,(进程核心栈)。保存进程的运行现场信息:,通用寄存器,。这是指用户程序可以使用的数据、地址寄存器。,控制和状态寄存器,。如程序计数器(PC);处理机状态字(PS)*,PCB含有以下三大类信息:,6,进程控制信息,调度和状态信息,,用于操作系统调度进程占用处理机。,进程间通讯信息,,为支持进程间的通讯相关的各种标识,信号,信件等,这些信息存在接收方的进程控制块中。,存储管理信息,。包含有指向本进程映像存储空间的数据结构。,进程所用资源,。说明由进程打开,使用的系统资源,如打开的文件等。,有关数据结构链接信息,,进程可以链接到一个进程队列中,或链接到相关的其它进程PCB.*,进程控制信息,7,3.2进程状态,3.2.1.进程的创建与结束等系统调用,一.进程创建处理过程大致为:,接收进程运行初始值,初始优先级,初始执行程序名字,其它资源等参数。,请求分配进程描述块PCB空间,得到一个内部数字进程标识。,用执行“进程创建”进程传来的参数初始化PCB表。,产生描述进程空间的数据结构,用初始执行文件初始化进程空间,建立程序段,数据段、栈段等。*,3.2进程状态一.进程创建处理过程大致为:,8,5.用进程运行初始值设置处理机现场保护区(如设置用户程序main()入口执行的运行现场)。造一个进程运行栈帧。,6.置好父进程等关系域。,7.将PCB表挂入就绪队列,等待时机被调度运行。*,5.用进程运行初始值设置处理机现场保护区(如设置用户程序ma,9,二.进程结束大致处理过程如下:,1.将进程状态改到结束状态,2.关闭所有打开数据文件、设备,3.释放对进程程序文件的使用,4.进行相关信息统计,5.清理其相关进程的链接关系,如在UNIX中,将该结束进程的所有子进程链到1号进程,作为1号进程的子进程,并通知父进程自己已结束。,6.释放进程映像空间(对于虚存来说如:交换区,所占物理页,将页表所占空间返还系统),7.释放进程控制块(PCB)。,8.调用进程调度与切换程序。*,二.进程结束大致处理过程如下:,10,三、进程等待系统调用,如waitpid(pid,&statloc,opts)系统调用.进程发出此系统调用阻塞于内核等待pid所指进程运行结束.*,三、进程等待系统调用如waitpid(pid,&statlo,11,3.2.2进程状态及变化,运行状态,(Running),:当一个进程正在处理机上运行时。,就绪状态,(Ready):,一个进程获得了除处理机之外的一切所需资源,一旦得到处理机即可运行.,阻塞状态又称等待状态,(Blocked),:一个进程正在等待某一事件而暂 停运行时,如等待某资源成为可用,等待输入/输出完成。,创建状态(New),:一个进程正在被创建,还没到转到就绪状态之前的状态。,结束状态(Exit),:一个进程正在从系统中消失时的状态,这是因为进程结束或其它原因流产所导致。*,3.2.2进程状态及变化运行状态(Running):当一个进,12,状态变化图,New,Running,Exit,Ready,Blocked,被调度,时间片完,事件发生,等待事件,结束,进入就绪队列,状态变化图NewRunningExitReadyBlocke,13,可能的状态变化如下:,空创建,:一个新进程被产生用来执行一个程序,,创建就绪,:当进程被创建完成,初始化后,一切就绪准备运行时变到就绪态。(为了限制系统资源不过份分散,也可以限制从New进入Ready状态的进程数,这样做可以使系统内存,内核用户页表空间等系统资源集中给有限的进程使用。因此可能进程进入创建状态但很长时间不能挂入就绪队列,等操作系统把它调入时才可以分配好所有资源,变为就绪状态。)*,可能的状态变化如下:,14,就绪运行,:处于就绪状态的进程被进程调度程序选中后,就分配到处理机上来运行.,运行结束,:当进程指示它已经完成或者因错流产,当前运行进程会由操作系统作结束处理。,运行就绪,:在可剥夺的操作系统中,处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;或当有更高优先级的进程就绪时,操作系统调度程序可以将正运行进程从运行状态改变为就绪状态,让更高优先级进程运行.*,就绪运行:处于就绪状态的进程被进程调度程序选中后,就分配到,15,运行阻塞,:当进程请求某样东西且必须等待时,例如,当进程请求操作系统服务,而操作系统得不到所需的资源,或进程请求一个输入/输出操作,操作系统已启动外设,但输入/输出尚未完成,或进程要与其它进程通讯,要接收对方还未发出的信件时进程都会被阻塞。,阻塞就绪,:当进程要等待事件到来时,它从阻塞变到就绪。*,运行阻塞:当进程请求某样东西且必须等待时,例如,当进程请求,16,接收进程,就绪队列1,就绪队列2,.,就绪队列n,超时,事件1发生,事件2发生,等事件1,等事件2,.,处理机,终止进程,事件m发生,等事件m,状态表示方法:,接收进程就绪队列1就绪队列2.就绪队列n超时事件1发生事,17,3.2.3进程挂起,进程在挂起(Suspend)状态意味着进程没有占用内存空间,处在挂起状态的进程映像在磁盘上。,New,Ready,Suspend,Blocked,Suspend,Ready,Blocked,Running,Exit,接收,事件发生,解挂,挂起,解挂,挂起,事件发生,挂起,接收,调度,时间片完,等事件,结束,3.2.3进程挂起NewReadySuspendBlocke,18,程序与进程的关系举例(计算机系统与洗熨店对比):,实用程序,:,洗衣程序(检查口袋,调洗涤,调烘干,调熨烫,折叠),熨衣程序(检查口袋,调熨烫,折叠),处理机,:,服务小姐.,共享外设资源,:,洗涤机,烘干机,熨烫机,终端设备,:,顾客窗口,系统调用,:,洗涤,烘干,熨烫,业务登记(进程创建),程序,:,洗涤,烘干,熨烫函数(核心态运行);洗衣程序;熨衣程序;接受窗口用户请求并产生进程执行请求程序(类比命令解释程序).,进程,:,为窗口建一个进程,负责接受并分派用户请求,为每个用户请求建一个进程负责处理请求(运行洗衣/熨衣程序).*,程序与进程的关系举例(计算机系统与洗熨店对比):,19,主要内容总结,进程描述,进程定义,进程控制结构,进程状态,进程的创建与结束,进程状态变化模型,进程挂起,主要内容总结,20,