进程的定义
定义:跑起来的程序,就是一个进程。进程是一个重要的软件资源,是由操作系统内核负责管理的。
PCB:进程控制块
PCB:用来描述进程的结构体
补充:通过双向链表来把多个PCB连接到一起(此处的链表并不是一个简单的双向链表)。
pid:进程的身份标识符(唯一的数字)
内存指针
内存指针:用来说明自己的内存是哪些。
文件描述符表
文件描述符表:硬盘上的文件等其他资源。
内存指针及文件描述符表二者共同描述进程持有哪些硬件资源。
进程调度相关属性
进程调度本质上是要解决"狼多肉少"的问题,让大量的进程可以在少数的CPU上同时进行。
进程状态
- 就绪状态:随叫随到,进程随时准备好去CPU上执行。
- 运行状态:正在CPU上运行。
- 阻塞状态:短时间内无法到CPU上执行。比如进程在进行密集的IO操作,读写数据。
优先级
进程是有优先级的。操作系统进行进程调度,并不是一碗水端平的 。
上下文
- 操作系统在进行进程切换的时候,需要把进程执行的中间状态记录下来保存好,下次这个进程再上CPU上运行的时候,就可以恢复上次的状态,好继续往下执行。
- 进程的上下文就是CPU中的各个寄存器的值。
虚拟地址空间
进程的虚拟地址空间,解决的是进程之间相互影响的问题,引入虚拟地址空间,地址越界就能及时发现。
进程间的通信
通过公共空间来完成进程之间的数据交互。使用文件,使用网络。