进程(一)----------进程描述和控制

一.进程和进程控制块

·进程定义

0一个正在执行中的程序。

0一个正在计算机上执行的程序实例。

0能分配给处理器并由处理器执行的实体。

0一个具有以下特征的活动单元:一组指令序列的执行、一个当前状态和相关的系统资源集。

可以把进程视为由一组元素组成的实体,进程的两个基本元素是程序代码(program code,可能被执行相同程序的其他进程共享)和代码相关联的数据集(set of data)。

·构成进程的基本元素

0程序代码

0数据集

在进程进行时,任意给定一个时间,进程都可以唯一地表征为以下元素:

属性

含义

标识符

跟这个进程相关的唯一标识符,用来区别其他进程。

状态

进程当前的状态:运行态、就绪态、阻塞态等。

优先级

相对于其他进程的优先级。

程序计数器

程序中即将被执行的执行的下一条指令的地址。

内存指针

包括程序代码和进程相关数据的指针,还有和其他进程共享内存块的指针。

上下文数据

进程执行时处理器的寄存器中的数据。

I/O状态信息

包括显式的I/O请求、分配给进程的I/O设备和被进程使用的文件列表等。

记账信息

可能包括处理器时间总和、使用的时钟数总和、时间限制、记账号等。

 前述的列表信息被存放在一个称为进程控制块(process control block,PCB)的数据结构中,该控制块由操作系统创建和管理。

进程控制块:

标识符

状态

优先级

程序计数器

内存指针

上下文数据

I/O状态信息

记账信息

……

PCB(进程控制块 )包含了充分信息,这样就可以中断一个进程的执行,并且在后来恢复执行进程时就好像进程未被中断过一样。进程控制块是操作系统能够支持多进程和提供 多重处理技术的关键工具。当进程被中断时,操作系统会把程序计数器和处理器寄存器(上下文数据)保存到进程控制块中的相应位置,进程状态也被改变为其他的值,例如阻塞态或就绪态。

可以说,进程是由程序代码和相关数据还有进程 控制块组成的。

二,进程的创建和终止

进程的创建(通常有四个事件会导致创建一个进程) 

0新批处理作业提交给操作系统

0交互系统终端用户登录到系统

0操作系统创建

0进程派生

进程派生:当操作系统为另一个进程的显式请求创建一个进程时,这个动作称为进程派生。当一个进程派生另一个进程时,前一个称为父进程(parent process),被派生的进程称为子进程(child process)。

进程的终止:

·进程终止的原因

0正常完成

0各种错误和故障

0操作员或操作系统干涉

0父进程终止

0父进程请求终止子进程

三。五状态模型

三。处理器执行模式 

大多数处理器至少支持两种执行模式。

·用户态

0用户程序通常在该模式下运行,非特权态

·系统态

0控制态、内核态

0操作系统内核在该模式下运行,特权态

进程切换:

进程切换是让处于运行态的进程中断运行,让出处理器,让操作系统指定的新进程运行。被中断进程的上下文环境需要保存。

模式切换:

·当中断发生时,处理器需要做如下工作:

0把程序计数器置成中断处理程序的开始地址;

0暂时中断正在执行的用户进程进程从用户态切换到内核态,去执行操作系统例行程序以把获得服务。

·保存的进程上下文环境包括:

0所有中断处理可能改变的信息;

0恢复被中断程序时所需要的信息。

·模式切换可以不改变正处于运行态的进程状态,保存和恢复上下文环境开销小;

·进程切换涉及进程状态的变化,开销较大。

猜你喜欢

转载自blog.csdn.net/qiaoguaping9272/article/details/82630846