进程
- 进程:程序执行的一个实例;
- 线程:进程中执行的每个任务;
- 进程是资源分配的基本概念,是调度运行的基本单位;
- 进程至少有一个线程;
- 父子进程使用进程间通信机制,进程内线程通过读取、写入数据到进程变量来通信;
进程间通信
进程控制块(PCB)
PCB:描述和控制进程运行的一个数据结构,是进程存在的唯一标识。
组成
- 进程标识信息:内部标识符(供系统使用)、外部标识符(供用户进程访问);
- 处理机状态:主要由处理机的各个寄存器内的信息组成;
- 进程调度信息:进程状态、进程优先级、事件、其他信息等;
- 进程控制信息:程序和数据地址,进程同步和通信机制,资源清单,链接指针;
进程上下文
进程上下文:程序的物理实体、支持程序执行的物理环境,合称为进程上下文。
进程是在操作系统支持下执行的,进程执行时需要操作系统为其设置相应的执行环境,如:系统堆栈、地址映像寄存器、程序计数器、打开文件表、相关通用寄存器等。
- 上文:已经执行的指令和数据,及在寄存器堆栈中的内容。
- 正文:正在执行的。
- 下文:待执行的。
进程上下文切换
- 挂起一个进程,将其上下文保存到存储区;
- 系统调度,选择一个新的进程,将其上下文恢复;
- 继续执行新的进程。
总结
进程上下文的切换,也就是如何使寄存器与堆栈中的数据流入流出PCB的存储区。
进程上下文的切换,涉及系统调度和分配资源,这些都比较耗费CPU时间。