概念:由多条指令组成,是一种特殊的系统功能调用,它可以完成一个特定的功能。
特点:执行时不可中断
不可并发
在管态下执行,常驻内存
常用的进程控制原语:创建原语 Create
终止原语 Destroy
阻塞原语Block、唤醒原语Wakeup
挂起原语Suspend、激活原语Active
4.进程的创建流程:申请空白PCB
为新进程分配资源 如内存
初始化PCB
将新进程插入就绪队列
5.进程的终止流程:根据被终止进程的标识符,从PCB集合中检索出该进程的PCB;
若被终止进程处于执行状态,应立即终止执行,并置调度标志为真,调度其他进程;
结束该进程所有子孙进程的执行,以防止成为不可控进程;
将进程所拥有的资源交给父进程或系统进程;
释放PCB 。
6.进程终止的事件:正常结束
异常结束:越界错误、保护错、特权指令错、非法指令错、I/0故障、运行超时、等待超时、算术运算错等
外界干预: 操作员或OS干预;父进程请求;父进程终止,子孙进程被终止。
7.进程的阻塞与唤醒:
阻塞:当一个进程所期待的某一事件尚未出现时,该进程调用阻塞原语将自己阻塞。进程阻塞是进程自身的一种主动行为。
唤醒:处于阻塞状态的进程是绝不可能叫醒它自己的,必须由它的合作进程用唤醒原语唤醒它。
进程阻塞或唤醒的原因:请求系统服务:如请求打印机
启动某种操作:如I/O操作
新数据还未到达:合作进程之间需要数据传递
无新工作可做:如发送进程发送完数据后
8.进程的挂起与激活:
挂起:当出现了引起进程挂起的事件时,系统利用挂起原语将指定进程或处于阻塞状态的进程挂起。
激活:当发生激活进程的事件时,系统利用激活原语将指定进程激活。
进程挂起的事件:用户进程请求将自己挂起;
父进程请求挂起某个子进程;
系统利用挂起原语将指定进程或阻塞态进程挂起
进程激活的事件:父进程请求激活某进程;
用户进程请求激活某进程;
三、线程
定义:是进程中的一个实体,是被系统独立调度的基本单位。
1 引入线程概述
引入进程的目的是为了使多个程序更好的并发执行,改善资源利用率、提高系统效率。
引入线程则是为了减少并发执行时所付出的时空开销,使并发粒度更细、并发性更好。