目录
什么是进程?
进程是操作系统对一个正在运行的程序的一种抽象,进程可以看作是程序的一次运行过程;同时,在操作系统内部,进程是操作系统进行资源分配的基本单位
创建一个进程,本质上就是创建PCB,并且加入到链表中;销毁一个进程,本质上就是从链表上删除对应的PCB节点;查看任务管理器的进程列表,本质上就是在遍历这个列表。
进程控制块抽象(PCB)
一个进程可能是一个PCB,也有可能对应多个
PCB包含以下信息:
1、pid进程的身份标识
一个主机,同一时刻,这些进程的pid是唯一的,通过pid来区分一个进程
2、内存指针
描述进程持有的内存资源
3、文件描述符表
记录了当前进程打开了那些文件,描述进程持有的文件资源
4、进程状态
就绪状态、阻塞状态
5、进程优先级
系统调度的时候,会根据优先级,来给进程安排时间
6、进程上下文
对于进程来说,上下文就是CPU中的寄存器的值(寄存器的值就包含了运行的中间结果,需要把这些结果保存在PCB的上下文信息中(内存))
7、进程记账信息
每个进程在CPU上执行了多久,统计信息
虚拟地址空间
为了解决进程之间相互影响这个问题,就需要让每个进程都有自己的内存空间(活动范围),所以给每个进程划分内存空间。
使用虚拟地址空间,就认为进程之间存在了“隔离性”,会使一个进程是不能访问另一个进程的内存数据的
隔离性虽然解决了进程之间相互影响这个问题,但是又带来了新的问题,进程之间很难交互。由此,系统引入了一个机制,进程间通信:找一个多个进程都能访问到的公共资源,然后基于公共资源来交换数据