操作系统中的进程管理

什么是进程?

进程是操作系统对一个正在运行的程序的一种抽象,进程可以看作是程序的一次运行过程;同时,在操作系统内部,进程是操作系统进行资源分配的基本单位

创建一个进程,本质上就是创建PCB,并且加入到链表中;销毁一个进程,本质上就是从链表上删除对应的PCB节点;查看任务管理器的进程列表,本质上就是在遍历这个列表。

进程控制块抽象(PCB)

一个进程可能是一个PCB,也有可能对应多个

PCB包含以下信息:

1、pid进程的身份标识

一个主机,同一时刻,这些进程的pid是唯一的,通过pid来区分一个进程

2、内存指针

描述进程持有的内存资源

3、文件描述符表

记录了当前进程打开了那些文件,描述进程持有的文件资源

4、进程状态

就绪状态、阻塞状态

5、进程优先级

系统调度的时候,会根据优先级,来给进程安排时间

6、进程上下文

对于进程来说,上下文就是CPU中的寄存器的值(寄存器的值就包含了运行的中间结果,需要把这些结果保存在PCB的上下文信息中(内存))

7、进程记账信息

每个进程在CPU上执行了多久,统计信息

虚拟地址空间

为了解决进程之间相互影响这个问题,就需要让每个进程都有自己的内存空间(活动范围),所以给每个进程划分内存空间。

使用虚拟地址空间,就认为进程之间存在了“隔离性”,会使一个进程是不能访问另一个进程的内存数据的

隔离性虽然解决了进程之间相互影响这个问题,但是又带来了新的问题,进程之间很难交互。由此,系统引入了一个机制,进程间通信:找一个多个进程都能访问到的公共资源,然后基于公共资源来交换数据

经验分享 程序员 微信小程序 职场和发展