操作系统之进程--基础知识
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操作。
陷阱:与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。
模式切换
如果存在一个未处理的中断,处理器需要做以下工作:
把程序计数器置成中断处理程序的开始地址。
从用户态切换到内核态,使得中断处理代码可以包含有特权的指令。
进程状态的变化
发生模式切换可以不改变正处于运行态的进程状态,在这种情况下,保存上下文和以后恢复上下文环境只需要很少的开销。
可以把进程当成由一组元素组成的实体 。进程的两个基本的元素是程序代码 和代码相关联的数据集 。
在进程执行时,任意给定一个时间,进程都可以唯一地被表征为以下元素:
标识符
状态
程序计数器
内存指针
上下文数据
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操作。
陷阱:与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。
模式切换
如果存在一个未处理的中断,处理器需要做以下工作:
把程序计数器置成中断处理程序的开始地址。
从用户态切换到内核态,使得中断处理代码可以包含有特权的指令。
进程状态的变化
发生模式切换可以不改变正处于运行态的进程状态,在这种情况下,保存上下文和以后恢复上下文环境只需要很少的开销。
相关文章推荐
- 网管基础知识之Windows操作系统常见进程及常用快捷键
- UNIX编程的操作系统基础知识(进程篇)
- 操作系统基础知识--进程与进程同步
- 操作系统之进程的基础知识
- 漫谈操作系统4 -- 基础知识(进程和线程/任务)
- 漫谈操作系统5 -- 基础知识(进程隔离)
- 操作系统基础知识(二)--- 操作系统功能之进程管理
- Linux操作系统基础知识之三:进程
- linux 操作系统基础知识和基本命令 笔记
- linux进程、线程常用的几个基础知识点
- 软考基础知识—操作系统
- 进程和线程的基础知识——Python学习笔记11
- 操作系统基础知识
- 操作系统基础知识--调度和死锁
- Linux学习之基础知识——进程管理(top、vmstat与dtstat)
- 基础知识:线程,进程。多进程,多线程。并发,并行的区别
- 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(二)操作系统基础知识
- 操作系统基础知识
- 进程与线程(基础知识)
- BIOS、MBR、PBR等基础知识,兼谈U盘、移动硬盘以及操作系统的安装与启动基本原理