什么是进程? ( 进程的详细概念 )

您所在的位置:网站首页 程序和进程的定义一样吗 什么是进程? ( 进程的详细概念 )

什么是进程? ( 进程的详细概念 )

2024-07-09 22:26| 来源: 网络整理| 查看: 265

创建进程 引起创建进程的事件: 1) 用户登录 2) 作业调度 3) 提供服务 4) 应用请求 进程的创建过程 一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语Creat()按下述步骤创建一个新 进程。 1) 申请空白PCB。为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。 2) 为新进程分配资源。 3) 初始化进程控制块。PCB的初始化包括: ①初始化标识信息,将系统分配的标识符和父进程标识符,填入新的PCB中。 ②初始化处理机状态信息,使程序计数器指向程序的入口地址,使栈指针指向栈顶。 ③初始化处理机控制信息,将进程的状态设置为就绪状态或静止就绪状态,对于优先级,通常 是将它设置为最低优先级,除非用户以显式的方式提出高优先级要求。 4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入到就绪队列中 进程终止 引起进程终止的事件 1)正常结束 2)异常结束 3)外界干预 进程的终止过程 如果系统发生了上述要求终止进程的某事件后,OS便调用进程终止原语,按下述过程去终止指定的进 程。 1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程状态。 2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真。用于指示该进程 被终止后应重新进行调度。 3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。 4)将被终止的进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。 5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。 阻塞唤醒 1.引起进程阻塞和唤醒的事件 1)请求系统服务 2)启动某种操作 3)新数据尚未到达 4)无新工作可做 2.进程阻塞过程 正在执行的进程,当发现上述某事件后,由于无法继续执行,于是进程便通过调用阻塞原语block把自 己阻塞。可见,进程的阻塞是进程自身的一种主动行为。进入block过程后,由于此时该进程还处于执 行状态,所以应先立即停止执行,把进程控制块中的现行状态由执行改为阻塞,并将PCB插入阻塞队 列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞 (等待)队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即, 保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU环境。 3.进程唤醒过程 当被阻塞的进程所期待的事件出现时,如I/O完成或者其所期待的数据已经到达,则由有关进程(比如, 用完并释放了该I/O设备的进程)调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行 的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就 绪,然后再将该PCB插入到就绪队列中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3