1. 什么是进程
进程是操作系统进程资源分配的基本单位,每一个正在运行的软件程序都对应着一个或多个进程。PCB是一个描述进程的结构体,操作系统中的PCB通过链表进行连接,对PCB的添加和删除也就是对进程的创建和消耗
2. PCB的重要属性
PCB中有多个属性,每个属性对应着进程的特性
2.1 PID
所谓PID是用来描述进程的属性,每一个PID有且仅对应着一个进程
2.2 内存指针
内存指针是 PCB 中用于确保操作系统能够准确管理进程内存资源的一组地址指针, 它的作用是操作系统知道进程的代码段、数据段、栈、堆等内存区域在哪里、有多大。
2.3 程序计数器 PC
cpu在执行进程中指令的时候,PC用来标记指令的位置,当前指令在哪下一条要执行哪个
2.4 文件描述符表
进程在运行过程中需要与文件进行交互,文件描述符表用于记录进程已打开的所有文件信息。当进程需要对某个文件执行 I/O 操作时,可通过文件描述符在文件描述符表中找到对应文件的相关信息,进而完成文件的读写等操作
2.5 进程状态
就绪状态 是指进程已具备运行条件,等待分配 CPU 资源;一旦获得 CPU 开始执行,就进入运行状态 ;若在运行过程中需要等待某事件(如 I/O 完成)而暂时无法继续执行,则进入阻塞状态
2.6 进程的优先级
对于需要立即响应、急需执行的进程,应赋予更高优先级;而对执行时机不敏感的进程,优先级则相对较低
2.7 进程上下文
进程上下文用于保存当前进程的执行现场信息。当多个进程以抢占式 方式竞争 CPU 时,当前进程可能执行到一半就被切换出去,此时需要通过保存进程上下文 来记录执行位置与相关状态,等该进程再次获得 CPU 后,便可恢复上下文,从断点处继续执行
2.8 进程记账信息
进程记账信息用于记录每个进程占用 CPU 的时间与执行次数。当发现某个进程获得的 CPU 时间远少于其他进程时,可依据记账信息为其适当分配更多 CPU 资源 ,从而实现 CPU 资源的公平、均衡分配