进 程

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

相关推荐
Methy24 分钟前
IoTHub半个月崩了五次?都是裸rethrow惹的祸
服务器·c++·后端
Wang's Blog29 分钟前
Java 项目实战: 外卖平台-后台系统登录功能开发
java·服务器·redis
天天喝旺仔1 小时前
Linux 性能排查实战:用 perf、strace 与火焰图定位 CPU、内存与 IO 瓶颈
linux·性能优化·运维开发
LuminousCPP1 小时前
Linux系统编程(二):从目录树到命令执行|路径、环境变量、alias 与文件操作入门
linux·经验分享·笔记
第十人i1 小时前
Linux 系统初始化配置清单:新服务器快速部署
linux·服务器
LongRunning1 小时前
【Linux】RK3568-OpenCV+YOLO(七)
linux
j7~1 小时前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
傲世仙尊2 小时前
设计者的取舍-路径fork的诞生与全局文件队列
linux
蓝速科技2 小时前
会议室门牌签到功能选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
逐流人2 小时前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd