进程

  • 进程:程序执行的一个实例;
  • 线程:进程中执行的每个任务;
  • 进程是资源分配的基本概念,是调度运行的基本单位;
  • 进程至少有一个线程;
  • 父子进程使用进程间通信机制,进程内线程通过读取、写入数据到进程变量来通信;

进程间通信

进程控制块(PCB)

PCB:描述和控制进程运行的一个数据结构,是进程存在的唯一标识。

组成

  • 进程标识信息:内部标识符(供系统使用)、外部标识符(供用户进程访问);
  • 处理机状态:主要由处理机的各个寄存器内的信息组成;
  • 进程调度信息:进程状态、进程优先级、事件、其他信息等;
  • 进程控制信息:程序和数据地址,进程同步和通信机制,资源清单,链接指针;

进程上下文

进程上下文:程序的物理实体、支持程序执行的物理环境,合称为进程上下文。

进程是在操作系统支持下执行的,进程执行时需要操作系统为其设置相应的执行环境,如:系统堆栈、地址映像寄存器、程序计数器、打开文件表、相关通用寄存器等。

  • 上文:已经执行的指令和数据,及在寄存器堆栈中的内容。
  • 正文:正在执行的。
  • 下文:待执行的。

进程上下文切换

  • 挂起一个进程,将其上下文保存到存储区;
  • 系统调度,选择一个新的进程,将其上下文恢复;
  • 继续执行新的进程。

总结

进程上下文的切换,也就是如何使寄存器与堆栈中的数据流入流出PCB的存储区。

进程上下文的切换,涉及系统调度和分配资源,这些都比较耗费CPU时间。