小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
操作系统进程管理
进程状态及控制
进程控制:主要负责进程状态的改变,一般由操作系统内核中的原语来现。
操作系统内核:操作系统中和硬件密切相关的模块(如中断处理程序)、常用设备驱动程序、运行 频率较高模块(时钟管理、进程调度)等紧靠硬件的软件层,并常驻内存,称为 OS 内核。
设置目的: 便于对内核软件的保护,防止遭受其他程序破坏。 提高操作系统运行效率。
创建进程:通过操作系统调用进程创建原语完成。
创建进程的过程
申请空白PCB,填写控制和管理进程的信息。
为新进程分配资源:含各种物理和逻辑资源,如内存、文件、I/O设备和CPU时间等。 初始化PCB。
如果进程就绪队列能够接纳新进程,则将新进程按某种策略插入就绪队列。
用户登录:分时系统中,用户登录成功后,系统将为其建立一个进程并 插入就绪队列。
作业调度:多道批处理系统中,作业调度程序将后备队列的某作业调入 内存,为其创建进程,并插入就绪队列。
提供服务:运行中的进程提出某请求,比如打印数据,系统将创建一个 进程为用户提供服务。
应用请求:用户进程自己创建的进程,如输入数据,处理数据,显示结 果等,为使各操作并发执行,加快任务的完成速度,用户进程可创建输 入进程、数据处理进程、输出进程。
终止进程:进程完成任务或发生意外,将被终止。
进程终止过程
根据被终止进程的标识符,从PCB表中检索出该进程的PCB,读出该进程的状态。
若被终止进程处于执行状态,应立即终止其执行,并置调度标志为真, 用于指示该进程被终止后应重新进行调度。
若被终止进程还有子孙进程,应同时终止其所有子孙进程。
将被终止进程所拥有的全部资源归还其父进程或系统。
将被终止进程的PCB从所在队列/链表中移出,归还系统/加入空闲PCB 列表。
注:终止态的进程以后不能再执行,但在操作系统中保留一个记录,保存状态码和一些计时 统计数据,供其他进程收集。一旦其他进程完成了对其信息提取之后,操作系统将删除该进程,即将其PCB清零,并将该空白PCB返还系统。
引起进程终止的事件
正常结束:进程执行到自然结束点。
异常结束:出现了无法克服的错误。
外界干扰:某种原因被操作系统或其他有 终止权的进程终结,如发生死锁。
异常结束:
越界错误 :超出允许访问的范围。 异常结束:出现了无法克服的错误。
保护错:试图访问不允许访问的资源,或以不适当方式访问允许访问的资源。
非法指令:不正确的指令,或不允许使用的指令。
特权指令错:用户程序试图执行只允许操作 系统执行的指令。
运行超时 :运行时间超出约定值。 等待超时:等待时间超出约定值。 算术运算错:被除数为0
I/O故障 : 外设出错。