进程 是 OS 对于运行程序的抽象。由于 CPU 需要进行 进程切换,因此进程的一些状态信息需要被保存在内存中,比如:
- CPU 寄存器(包含了 program counter 和 stack pointer,分别用来确定进程运行到哪一条指令,以及栈在内存中的位置)
- 进程的内存空间中的内容
- I/O 相关的信息,比如打开了哪些文件、文件是只读还是可写等
由于进程需要被切换,因此进程至少有三种基础 状态:running、ready to run 和 blocked。
操作系统需要调度不同的进程,因此需要维护一个进程列表。进程列表中每个进程的信息叫 process control block (PCB)。