王道考研复习-操作系统-进程管理(二)

王道考研复习-操作系统-进程管理(二)

进程的概念

定义

是程序的一次执行过程

是一个程序及其数据在处理机上顺序执行时所发生的活动

进程是一个具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个基本单位

为了使参与并发执行的程序能够独立的运行,必须为之配置一个专门的数据结构(PCB,Process Control Block).

系统利用PCB来描述进程的基本信息和运行状态,进而控制进和管理进程

相应的由程序段,相关数据段和PCB三部分构成了进程映像(进程实体)。dyld->mmap

所谓的创建进程就是创建进程映像中的PCB,而撤销进程则是撤销进程的PCB

PCB是进程存在的唯一标志

在引入进程实体的之后,它可以重新定义为进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(标准答案)

进程的特征

动态性: 进程是程序的一次运行过程,它有着创建,活动,暂停,终止等过程,具有一定的生命周期,是动态产生,变化和消亡的,动态性是进程最基本的特征。 类比MainActivity/AppDelegate,他们的部分状态也是基于进程的状态得来的。

并发性: 多个进程实体同时存在于内存并发执行

独立性: 进程实体是一个能独立运行,独立获得资源和独立接受调度的基本单位,需要创建PCB。

异步性: 由于进程之间是互相制约的,使得进程的执行具有间断性,进程按各自独立的不可预知的速度向前推进,异步会导致执行结果的不可预见性,为此操作系统必须配置相应的进程同步机制。

结构性:每个进程都有一块PCB对齐进行描述,从结构上来看进程是有程序段数据段和进程控制块三部分组成

通过Windows任务管理器或者Mac的活动监视器可以看到进程信息

王道考研复习-操作系统-进程管理(二)

王道考研复习-操作系统-进程管理(二)

进程的状态与转换

运行态: 进程正在运行,在单处理机环境下,每个时刻最多只有一个进程处于运行状态

就绪态: 进程获得了除处理机意外的一切所需资源,一旦得到了处理机,便可以立即运行.系统中通常会有多个进程处理就绪态,将他们拍成一个队列,称作为就绪队列。

阻塞态: 又称等待态,进程正在等待某一件事情而暂停运行,如果等待某资源为可以用(不包括处理机)或等待输入/输出完成,即使在空闲时间,该进程也不能运行。

创建态: 进程正在被创建,尚未赚到就绪状态,创建线程通常需要多个步骤,首先申请一个空白的PCB,并向PCB中写一些控制和管理进程的信息,然后由系统分配运行时所必须的资源,最后把进程设置为就绪状态。

结束态: 进程正在从系统中消息,可以是正常结束或者是其它原因中断退出运行。进程需要结束时,系统首先必须设置该进程为结束状态,然后在进一步处理资源释放和回收工作。

注意区分就绪态和等待态,就绪态只是缺少处理机,等待态可能是缺少资源

王道考研复习-操作系统-进程管理(二)

进程控制

主要功能: 对系统中的进程实施有效的管理,是它具有创建新进程,撤销已有进程,实现进程状态转换功能,在操作系统中一般把进程控制用的程序段成为原语。

进程的创建

为新进程分配一个唯一的进程标示号,并申请一个空白的PCB(PCB是有限的)。失败则返回创建失败。

为进程申请资源,为新进程的程序和数据以及用户栈分配必要的内存空间(在PCB中体现),若资源不足(如内存空间)则返回阻塞状态,而不是就绪状态,等待内存资源

初始化PCB:主要包括初始化标志信息,初始化处理机状态信息和初始化的处理机控制信息(标记,状态,处理机控制信息),以及进程的优先级等。

若进程就绪队列能够接纳新的进程,则将进程插入就绪队列,等待被调度运行。

进程终止

引起进程终止的原因有很多,常见的有 数组越界,保护错,非法指令,特权指令,运行超时,算数运算错,I/O故障等,外界干预,父亲进程请求终止,用户关闭

终止过程如下

根据被终止的进程标示符,检索PCB,从中读取该进程的状态。

若被终止的进程处于执行状态,立刻终止该进程的执行,并剥夺其处理机资源分配给其它进程。

若该进程还有子进程,则终止其所有的子进程

将该进程所拥有的全部资源,或归还给其父进程,或归还给操作系统

将该PCB从所在队列(链表)中删除。

进程的阻塞和唤醒
阻塞原语

进程标示号 -> PCB

若进程处于运行(类似上一篇文章提到的中断)保护现场,将其转化为阻塞状态,停止运行

把该PCB插入相应的事件队列,将处理机资源调度给其它的就绪进程
唤醒原语

进程标示号 -> 事件等待队列 -> PCB

将该PCB移除事件等待队列,并设置其状态为就绪状态

将PCB再插入到就绪对垒等待调度程序调度
阻塞和唤醒原语的最大区别: 阻塞是立即清除,唤醒是插入到队列后等待调度

进程的切换

保存处理机上下文(Context),包括程序计数器和其它寄存器

更新PCB信息

把PCB移动到相应的队列,如在就绪,在某事件阻塞等待队列

选择另一个进程执行,并更新其PCB,

更新内存管理的数据结构

恢复处理机上下文
> 关键字: 上下文,数据管理结构,计数器,寄存器

进程的组织

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdpwy.html