为什么需要进程
- 没有配置OS之前,资源属于当前运行的程序
- 配置OS之后,引入多道程序设计的概念
- 合理的隔离资源、运行环境,提升资源利用率
- 进程是系统进行资源分配和调度的基本单位
- 进程作为程序独立运行的载体保障程序正常执行
- 进程的存在使得操作系统资源的利用率大幅提升
进程的实体
- 主存中的进程形态
- 进程控制块(PCB):用于描述和控制进程运行的通用数据结构;记录进程当前状态和控制进程运行的全部信息;PCB使得进程是能够独立运行的基本单位;PCB是操作系统进行调度经常会被读取的信息;PCB是常驻内存的,存放在系统专门开辟的PCB区域内
- 标识符:标识符唯一标记一个进程,用于区别其他进程
- 状态:标记进程的进程状态,如:运行态
- 程序计数器:进程即将被执行的下一条指令的地址
- 内存指针:程序代码、进程数据相关指针
- 上下文数据:进程执行时处理器存储的数据
- IO状态信息:被进程IO操作所占用的文件列表
- 记账信息:使用处理器时间、时钟数总和等
- ……
- 进程控制块(PCB):用于描述和控制进程运行的通用数据结构;记录进程当前状态和控制进程运行的全部信息;PCB使得进程是能够独立运行的基本单位;PCB是操作系统进行调度经常会被读取的信息;PCB是常驻内存的,存放在系统专门开辟的PCB区域内
- 进程与线程
- 进程(Process)
- 进程是系统进行资源分配和调度的基本单位
- 线程(Thread)
- 线程是操作系统进行运行调度的最小单位
- 包含在进程之中,是进程中实际运行工作的单位
- 一个进程可以并发多个线程,每个线程执行不同的任务
- 一个进程可以有多个线程
- 进程的线程共享进程资源
- 进程(Process)
进程 | 线程 | |
---|---|---|
资源 | 资源分配的基本单位 | 不拥有资源 |
调度 | 独立调度的基本单位 | 独立调度的最小单位 |
系统开销 | 进程系统开销大 | 线程系统开销小 |
通信 | 进程IPC | 读写同一进程数据通信 |