进 程

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 资源的公平、均衡分配

相关推荐
黑牛儿5 分钟前
MySQL 索引实战详解:从创建到优化,彻底解决查询慢问题
服务器·数据库·后端·mysql
舒一笑10 分钟前
一次“翻车”的部署,让我看清了技术、权力和职场的真相
运维·程序员·创业
starvapour21 分钟前
Ubuntu系统下基于终端的音频相关命令
linux·ubuntu·音视频
杨云龙UP1 小时前
Oracle Data Pump实战:expdp/impdp常用参数与导入导出命令整理_20260406
linux·运维·服务器·数据库·oracle
浪客灿心1 小时前
线程同步与互斥
linux
想唱rap1 小时前
线程池以及读写问题
服务器·数据库·c++·mysql·ubuntu
我科绝伦(Huanhuan Zhou)2 小时前
分享一个服务故障自愈系统
运维·人工智能·自动化
失伟3 小时前
Stratovirt安装及使用
运维·虚拟化
萌萌哒草头将军3 小时前
CloudDock(云仓):新一代开源NAS网络代理工具
服务器·网络协议·docker
牛马鸡niumasi3 小时前
C/C++ 程序编译过程、静态/动态链接、静态/动态库
linux