您的位置:首页 > 其它

操作系统之进程--基础知识

2011-04-09 14:32 281 查看
1.进程和进程控制块

可以把进程当成由一组元素组成的实体 。进程的两个基本的元素是程序代码 和代码相关联的数据集

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

标识符

状态

程序计数器

内存指针

上下文数据

I/O状态信息

记账信息

前述的列表信息存放在一个叫做进程控制块的数据结构中,该控制块由操作系统创建和管理。

2.进程状态

2.1 两状态进程模型

2.2 五状态模型

运行态

就绪态

阻塞/等待态

新建态

退出态

加入挂起态后:

运行态

就绪态

阻塞态

阻塞/挂起态

就绪/挂起态

新建态

退出态

定义挂起进程:

进程不能立即执行。

进程可能是或不是正在等待一个事件。如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。

为阻止进程执行,可以通过代理把这个进程置于挂起状态,代理可以是进程自己,也可以是父进程或操作系统。

除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。

3.进程描述

3.1 操作系统的控制结构

操作系统维护着4种不同类型的表:内存、I/O、文件和进程。

内存表 用于跟踪内(实)存和外存(虚拟内存)。

内存表必须包括以下信息:

分配给进程的内存

分配给进程的外存

内存块或虚拟内存块的任何保护属性

管理虚拟内存所需要的任何信息

I/O表 管理计算机系统中的I/O设备和通道。

文件表 提供关于文件是否存在、文件在外存中的位置、当前状态和其他属性的信息。

进程表 中对内存、I/O和文件的直接或间接引用。

3.2 进程控制结构

进程位置

属性的集合称作进程控制块。程序、数据、栈和属性的集合称作进程映像。

操作系统维护的进程表必须表明每个进程映像中每页的位置。

进程属性

可以把进程控制块分成三类:

进程标志信息

处理器状态信息

进程控制信息

4.进程控制

4.1执行模式

非特权态称作用户态,特权态可称作系统态、控制态或内核态。

4.2 进程创建

给新进程分配一个唯一的进程标识符

给进程分配空间

初始化进程控制块

设置正确的连接

创建或扩充其他数据结构

4.3 进程切换

何时切换进程

中断:与当前正在运行的进程无关的某种类型的外部事件相关,如完成一次I/O操作。

陷阱:与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。

模式切换

如果存在一个未处理的中断,处理器需要做以下工作:

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

从用户态切换到内核态,使得中断处理代码可以包含有特权的指令。

进程状态的变化

发生模式切换可以不改变正处于运行态的进程状态,在这种情况下,保存上下文和以后恢复上下文环境只需要很少的开销。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: