进程的定义、特征
- 定义:进程(Process):一个具有一定独立功能的可并发执行的程序,在一个数据集合上的运行过程
- 特征:动态性、并发性、制约性、独立性、异步性
- 结构特征:进程=程序+数据+PCB
进程与程序的区别与联系
- 进程是程序的一次运行过程,是一个动态实体,而程序是一个指令的集合,是静态实体
- 进程具有生命周期,具有创建、执行和撤销的过程,而程序一旦创建,可以永远存在
- 进程实体由程序段、数据段及进程控制块组成
- 进程与程序之间不存在一一对应的关系,不同的进程可以对应相同的程序,一个进程中还可以同时调用多个程序
- 进程实体是一个能独立运行的基本单位,可独立获得资源和独立调度;而程序不能作为独立的单位参加运行
- 进程可按异步方式运行,程序不是运行实体,所以不可以异步执行
进程的状态及状态转换
-
进程的三个基本状态:
-
运行状态(Running):指令正被执行
-
就绪状态(Ready):进程等待分配CPU
-
阻塞状态(Blocked/Waiting):进程等待事件(一般指I/O事件)的发生
-
-
新建状态和终止状态:
- 新建状态(New):刚被创建,尚未进入就绪队列时的状态
- 终止状态(Terminated):进程正常/异常结束,移出就绪队列,但尚未撤销时的状态
-
设置进程挂起/解挂状态的原因
- 用户需要:中间结果与预期不符
- 操作系统需要:系统某些功能故障
- 系统负荷过重
- 父进程请求:修改或协调子进程
- 对换的需要
-
设置挂起状态后进程状态的转换
- 设置挂起状态后,进程的就绪、阻塞状态分别分为:
• 活动就绪(Readya)、静止就绪(Readys)
• 活动阻塞(Blockeda)、静止阻塞(Blockeds)
- 设置挂起状态后,进程的就绪、阻塞状态分别分为:
进程控制
-
PCB结构与组织
- 进程控制块PCB(Process Control BLock):PCB是用以记录与进程相关信息的主存区,是进程存在的唯一标志
- PCB的组织方式:
- 线性方式:系统中所有PCB都组织在一张线性表中,表的首地址存放在内存专用区
- 链接方式:具有相同状态进程的PCB分别通过PCB中的链接字链接成一个队列
- 索引方式:系统根据所有进程状态的不同,建立几张索
引表,并把索引表的首地址记录在内存的专用单元中
-
原语的概念
原语操作:一个操作中的所有动作不可分割
-
进程创建过程原语
-
撤销原语
线程概念、线程组成
- 线程:是进程中的一个实体,是能被系统独立调度和分派的基本单位
- 线程ID、程序计数器、寄存器集合、栈
进程和线程的区别与联系
线程(Thread):轻量进程(Lightweight Process)
- 调度:线程成为调度和分派的基本单位,
同一进程内的线程切换不会引起进程切换 - 并发性:线程与线程、进程与进程都可以并
发执行 - 拥有资源:进程是操作系统中拥有资源的
最基本单位,线程共享进程的资源,自己
并不拥有 - 独立性:同一进程中的不同线程之间的独
立性要比不同进程之间的独立性低得多 - 系统开销:线程的系统开销远比进程小,
且更容易实现通信和同步 - 支持多处理机系统:进程只能分配到一个CPU上执行,同一进程内的多个线程可分配到多个CPU上并行执行