1、为什么需要进程

  • 没有配置OS之前,资源只属于当前运行的程序
  • 配置OS之后,引入==多道程序设计==的概念
  • 合理的隔离资源、运行环境,提升资源利用率

总结

  • 进程是系统进行资源分配和调度的基本单位
  • 进程作为程序独立运行的载体保障程序正常执行
  • 进程的存在使得操作系统资源的利用率大幅提升

2、进程的实体

2.1、主存中的进程形态

20211226125338.png

  • 标识符:标识符唯一标记一个进程,用于区别其他进程
  • 状态:标记进程的进程状态,如:运行态
  • 程序计数器:j进程即将被执行的下一条指令的地址
  • 内存指针:程序代码、进程数据相关指针
  • ==上下文数据==:进程执行时处理器存储的数据
  • IO状态信息:被进程IO操作所占用的文件列表
  • 记账信息:使用处理器时间、时钟数总和等

20211226125353.png

2.1.1、进程控制块(PCB)

  • 用于描述和控制进程运行的通用数据结构
  • 记录进程当前状态和控制进程运行的全部信息
  • PCB使得进程是能够独立运行的基本单位
  • PCB是操作系统进行调度经常会被读取的信息
  • PCB是常驻内存的,存放在系统专门开辟的PCB区域内

2.2、进程与线程

20211226125408.png

  • 线程是操作系统进行运行调度的最小单位
  • 包含在进程之中,是进程中实际运行工作的单位
  • 一个进程可以并发多个线程,每个线程执行不同的任务

==进程的线程共享进程的资源==

对比

进程 线程
资源 资源分配的基本单位 不拥有资源
调度 独立调度的基本单位 独立调度的最小单位
系统开销 进程系统开销大 线程系统开销小
通信 进程IPC 读写统一进程数据进行通信