并发控制环境中:创建进程,分配资源;撤销已结束的进程;控制正在进行的程序状态的改变。
为了使进程有条不紊的执行,程序设置进程同步机制,进程同步的主要任务就是对众多进行运行进行协调:
方式有两种,分别是
同步
相互合作的进程,由同步机构对它们的执行次序进行协调,前一个进程结束了,后一个进程才开始,前一个进程不结束,后一个进程就不能开始,在这种进程之间合作的执行关系叫同步。
进程同步实现的方法中 最常用的是 信号量机制
互斥
进程在对临界资源进行访问时,采用互斥方式,也就是当一个进程访问临界资源时,另一个要访问该资源的进程必须等待,当占用资源的进程释放资源后,其他进程才能获取临界资源,这种进程间的相互 制约方式叫做互斥。
进程互斥最常用的方法是设置锁,通过加锁、解锁实现互斥。
多个进程需要相互配合来完成任务,所以进程间需要通信,进程通信的任务就是完成进程间的信息交换。
同一台计算机系统采用直接通信方式,源进程利用发送命令直接将消息发送到目标进程的消息队列上,然后由目标进程利用接收命令从消息队列里取出消息。
不在同一台计算机系统,由源进程利用发送命令到一个专门存放消息的中间实体中,然后目标进程利用接收命令从中间实体中取出消息。
高级调度(作业调度)将外存上处于后备队列中的那些作业调人内存,并为它们创建进程,分配资源,然后将创建的进程排在就绪队列上,准备在执行。
低级调度(进程调度)按照某种原则决定就绪队列中哪个进行应该获得处理机,在由分配程序执行处理机分配该进程的具动作。进程调度是操作系统中 最基本的调度。
中级调度,负责内外存之间的进程对换,以解决内存紧张的问题,提高内存的利用率和系统吞吐量
概念:一个数据结构以及能在其上进行操作的一个程序
或者说一个程序在一个数据集合上执行的过程,是操作系统资源分配和调度的一个独立单位。
一个程序在不同的数据集合上的运行,乃至一个程序在同一数据集合上的多次运行都是不同的进程。
进程的状态转换
就绪状态按照调度算法,获得处理器资源就会进入执行状态
运行状态时间片就会进入就绪状态,若是被I/O请求中断或者等待某一个资源就会进入阻塞状态
等待状态如果获得资源或者完成I/O操作就会进入就绪状态,等待下一次调度。
挂起(静止就绪状态)
未被挂起的称为活动就绪状态
进程控制的主要任务
为作业程序创建进程、撤销已结束的进程以及控制进程在运行过程中的状态转换
进程控制块PCB
存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。
进程标识信息(内部和外部标识) |
进程名绘制序号 |
说明信息(进程调度信息) |
进程状态 |
进程优先权 |
|
进程等待原因 |
|
…… |
|
现场信息(处理器状态信息)
|
通用寄存器内容 |
指令寄存器内容 |
|
…… |
|
管理信息(进程控制信息) |
程序和数据的地址 |
队列指针 |
|
进程同步和通信机制 |
|
资源清单 |
|
链接指针 |
|
…… |
|
其他信息 |
…… |
进程的创建
只有进程才能得到执行,因此程序想要运行,必须为之创建进程,进程创建是操作系统执行程序的需要或者用户或进程要求创建一个新的进程。
引起创建进程的主要事件
进程创建的处理过程:使用创建原语,按照以下步骤创建进程
为新进程分配唯一的进程标识符,从PCB队列申请一个空闲的PCB;
为新进程的程序和数据,以及用户栈分配相应地主存空间以及其他资源;
初始化PCB中的相应信息,如标识信息、处理信息、进程信息等;
如果就绪队列可以纳入新进程,便将新进程纳入到就绪队列中。
进程的撤销
引起进程撤销的事件:
进程撤销的过程:调用进程终止原语,按照下列步骤终止进程
进程与线程的管理
1,进程完成指派工作,正常终止。
2,由于出现错误,异常终止。
2,父(或者祖先)进程的要求被终止。
进程的等待
引起进程等待的事件
处理过程:调用进程等待原语,按照以下步骤阻塞指定进程
立即停止执行该进程;
进程的唤醒
引起进程唤醒的事件
进程唤醒的过程:调用进程唤醒原语按照下列步骤唤醒指定进程
摘自《操作系统》李冬梅