操作系统之进程--基础知识
来源:互联网 发布:华为人工智能芯片手机 编辑:程序博客网 时间:2024/06/09 17:04
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操作。
陷阱:与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。
模式切换
如果存在一个未处理的中断,处理器需要做以下工作:
- 把程序计数器置成中断处理程序的开始地址。
- 从用户态切换到内核态,使得中断处理代码可以包含有特权的指令。
进程状态的变化
发生模式切换可以不改变正处于运行态的进程状态,在这种情况下,保存上下文和以后恢复上下文环境只需要很少的开销。
- 操作系统之进程--基础知识
- 操作系统之进程的基础知识
- Linux操作系统基础知识之三:进程
- 操作系统基础知识--进程与进程同步
- 操作系统之进程管理
- 操作系统总结之进程
- 操作系统之进程同步
- 操作系统之进程调度
- 操作系统之进程
- 操作系统之---进程
- 操作系统之进程
- 操作系统之进程管理
- 操作系统之进程同步
- 操作系统总结之进程
- 操作系统之进程同步
- linux操作系统之进程
- 操作系统之哲学原理 进程
- 操作系统之进程
- .net学习感悟
- C(n,m)的组合问题
- 自己的学习笔记
- 学习笔记1
- 好
- 操作系统之进程--基础知识
- 常识
- 操作系统之线程、对称多处理器和微内核--基础知识
- 搜索引擎的使用技巧
- 出来乍到
- 第一次好好的看CSDN
- 现在洒当场
- 为什么不能返回局部对象的应用
- 不得不记