1. 进程的创建
允许一个进程创建另一个进程,此时创建者称为父进程,被创建的进程称为子进程。子进程可以继承父进程所拥有的资源。当子进程被撤销时,应将其从父进程那里获得的资源归还给父进程。此外,在撤销父进程时,通常也会同时撤销其所有的子进程。
在操作系统中,终端用户登录系统、作业调度、系统提供服务、用户程序的应用请求等都会引起进程的创建。操作系统创建一个新进程的过程如下(创建原语):
1) 为新进程分配一个唯一的进程标识号,并申请一个空白PCB (PCB是有限的)。若PCB申 请失败,则创建失败。
2) 为进程分配其运行所需的资源,如内存、文件、I/O设备和CPU时间等(在PCB中体 现)。这些资源或从操作系统获得,或仅从其父进程获得。如果资源不足(如内存),则 并不是创建失败,而是处于创建态,等待内存资源。
3) 初始化PCB,主要包括初始化标志信息、初始化处理机状态信息和初始化处理机控制信息,以及设置进程的优先级等。
4) 若进程就绪队列能够接纳新进程,则将新进程插入就绪队列,等待被调度运行。
2. 进程的终止
引起进程终止的事件主要有:①正常结束,表示进程的任务已完成并准备退岀运行。②异常结束,表示进程在运行时,发生了某种异常事件,使程序无法继续运行,如存储区越界、保护错、非法指令、特权指令错、运行超时、算术运算错、I/O故障等。③外界干预,指进程应外界的请 求而终止运行,如操作员或操作系统干预、父进程请求和父进程终止。
操作系统终止进程的过程如下(终止原语):
1) 根据被终止进程的标识符,检索出该进程的PCB,从中读出该进程的状态。
2) 若被终止进程处于执行状态,立即终止该进程的执行,将处理机资源分配给其他进程。
3) 若该进程还有子孙进程,则应将其所有子孙进程终止。
4) 将该进程所拥有的全部资源,或归还给其父进程,或归还给操作系统。
5) 将该PCB从所在队列(链表)中删除。
3. 进程的阻塞和唤醒
正在执行的进程,由于期待的某些事件未发生,如请求系统资源失败、等待某种操作的完成、新数据尚未到达或无新任务可做等,进程便通过调用阻塞原语(Block),使自己由运行态变为阻塞态。可见,阻塞是进程自身的一种主动行为,也因此只有处于运行态的进程(获得CPU),才 可能将其转为阻塞态。阻塞原语的执行过程如下:
1) 找到将要被阻塞进程的标识号对应的PCB。
2) 若该进程为运行态,则保护其现场,将其状态转为阻塞态,停止运行。
3) 把该PCB插入相应事件的等待队列,将处理机资源调度给其他就绪进程。
当被阻塞进程所期待的事件出现时,如它所启动的I/O操作已完成或其所期待的数据已到达, 由有关进程(比如,释放该I/O设备的进程,或提供数据的进程)调用唤醒原语(Wakeup),将 等待该事件的进程唤醒。唤醒原语的执行过程如下:
1) 在该事件的等待队列中找到相应进程的PCB。
2) 将其从等待队列中移出,并置其状态为就绪态。
3) 把该PCB插入就绪队列,等待调度程序调度。
应当注意,Block原语和Wakeup原语是一对作用刚好相反的原语,必须成对使用。如果在 某进程中调用了 Block原语,则必须在与之合作的或其他相关的进程中安排一条相应的Wakeup 原语,以便唤醒阻塞进程;否则阻塞进程将会因不能被唤醒而永久地处于阻塞状态。
声明:
(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。
(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。
相关推荐
2023年浙江自考西方行政学说史复习资料:西方行政学的产生
03-022023年10月浙江自考幼儿园组织与管理复习资料:我国幼教事业发展的方针
05-162023年4月浙江自考学前教育史学习笔记:史前社会幼儿教育的方法
12-062022年浙江自考公共政策复习笔记第五章
09-19自考辅导资料:2021年10月《学前教育史》—古代东方国家的学前教育
06-072022年浙江自考中国古代文学史(一)第三编第九章复习资料
10-31自考辅导资料:2019年10月《中国现代文学史》-30年代文学小说创作
09-242023年4月浙江自考中外教育简史复习笔记:法国近代教育制度
12-08自考辅导资料:2021年10月《学前教育史》—论幼稚师范教育
06-05自考辅导资料:2019年10月《中国现代文学史》-解放区文学概述
09-25