【Linux】什么是进程?

一个正在执行的程序,我们称之为进程。

然后我们来顺着一条线来思考。

操作系统底层是用C语言编写的,而我们的进程,它会有各种属性,那么各种属性就可以用一个结构体来对进程的各个属性进行描述,然后这个结构体里面,肯定会存在一个指针,指向了我的进程加载在内存对应的代码和数据,而这个描述进程的结构体我们就称之为PCB。

而在Linux里,这个进程的PCB是用一个叫task_struct的结构体描述的

cpp 复制代码
struct task_strcut

{
        进程的ID
        进程的状态
        .........

}

而我们的操作系统肯定不会只是管理一个进程,它肯定要管理很多的进程,那么肯定要有一种特定的数据结构来对进程进行管理,Linux里面,是使用双向链表的形式进行管理,其实就是在task_struct里面添加一个前驱指针和后继指针就可以将它们关联起来。

所以,进程 = 进程PCB + 代码和数据。

相关推荐
带娃的IT创业者2 小时前
Python 异步编程完全指南:从入门到精通
服务器·开发语言·python·最佳实践·asyncio·异步编程
一只鹿鹿鹿5 小时前
信息安全等级保护安全建设防护解决方案(总体资料)
运维·开发语言·数据库·面试·职场和发展
房产中介行业研习社5 小时前
2026年3月哪些房源管理系统功能全
大数据·运维·人工智能
朱包林5 小时前
Python基础
linux·开发语言·ide·python·visualstudio·github·visual studio
biubiubiu07066 小时前
Linux / Ubuntu systemd 服务使用说明
linux·运维·ubuntu
MaximusCoder6 小时前
等保测评命令——Anolis Linux
linux·运维·服务器·网络·经验分享·安全·php
田里的水稻7 小时前
ubuntu22.04_构建openclaw开发框架
运维·人工智能·python
线束线缆组件品替网7 小时前
Adam Tech NPC-6-007-BU网线组件详解
服务器·网络·数码相机·智能路由器·电脑·51单片机·电视盒子
zhojiew7 小时前
为agent实现渐进式Skills能力的思考和实践
linux·python·算法
相思难忘成疾7 小时前
《RHEL9虚拟机部署及SSH远程登录实践手册》
linux·运维·ssh·虚拟机