共计 650 个字符,预计需要花费 2 分钟才能阅读完成。
一. 进程
1. 为什么使用进程?
为了使参与并发执行的每个程序都能独立运, 并且可以对并发执行的程序加以描述和控制.
2. 进程的定义
1. 进程是程序的一次执行 2. 进程是再处理机上顺序执行所发生的活动.3 进程是系统资源分配和调度的独立单位.
3. 进程的特征
1. 动态性: 创建而产生, 调度而执行, 撤销而消亡. 具有生命周期.2. 并发性: 与其他进程实体并发执行.3. 独立性: 独立获取资源和独立接受调度的基本单位.4. 异步性: 进程各自独立, 不可预知的向前推进.
4. 进程的状态
4.1 三个基本状态
1. 就绪: 进程等待 CPU 调度, 调度即执行 2. 执行: 进程的执行状态.3. 阻塞: 进程发起 I / O 等操作, 即阻塞, 可能会设置多个阻塞队列.
4.2 再加两个状态: 创建和终止
1. 创建: 如果创建一个进程时系统资源并不能满足他, 于是进程所处的状态即为创建状态.2. 终止: 进程执行完后,PCB 释放后就达到进程生命的结束.
4.3 引入挂起操作
挂起操作, 需要两个原语: 挂起 (Suspend) 和 激活(Active)1. 从活动就绪到静止就绪 2. 从活动阻塞到禁止阻塞
4.4 三类状态总结在一张图上:
PCB 的组织方式
1. 线性方式: 线性查找, 最慢 2. 链接方式: 每种状态: 都设置一个头指针, 一共四个链表, 线性查询, 速度较快.3. 索引方式: 建立索引表,, 不同状态对应不同索引表, 查找速度最快.
二. 线程
线程是比进程更小的基本单位. 是作为调度和分派的基本单位.
1. 引入线程的优势
1. 调度的基本单位: 线程切换代价小 2. 并发性: 进程内部可以并发 3. 系统开销: 进程开销明显大于线程开销.