当前位置: 首页 > news >正文

【Linux内核源码分析】进程管理

进程

在Linux中,可以使用fork()系统调用来创建进程,该系统调用通过复制现有的进程来创建一个全新的进程。
调用fork()的进程称之为父进程,产生的新的进程叫子进程
进程也可以称之为任务
fork()系统调用从内核返回两次:一次返回到父进程,一次返回到新的子进程
通常创建新的进程是为了立即执行新的、不同的程序,而接着调用exec()这组函数就可以创建新的地址空间,把新的程序载入其中。在现代Linux内核中,fork()是由clone()系统调用实现的
在子进程执行代码完毕后,可以调用exit()系统调用退出程序。
父进程可以通过wait3wait4wait()waitpid()系统调用来查询子进程是否退出

进程描述符以及任务结构

进程存放在任务队列中(task list)的双向循环链表中,链表的每一项的类型是task_struct(进程描述符),该结构定义在linux/sched.h文件中,该结构体中包含了一个具体进程的所有信息
task_struct结构体很大,在32位机器上大约有1.7Kb

分配进程描述符

Linux通过slab分配器分配task_struct结构,可以达到对象复用和缓存着色
slab分配器的作用:通过预先分配和重复使用task_struct可以避免动态分配和释放所带来的资源消耗
对于现在的slab分配器动态生成task_struct,只需要在栈底和栈顶创建一个新的结构struct thread_info,在x86上,struct thread_info在文件<asm/thread_info.h>中定义

structthread_info{structtask_struct*task;/* main task structure */structexec_domain*exec_domain;/* execution domain */__u32 flags;/* low level flags */__u32 status;/* thread synchronous flags */__u32 cpu;/* current CPU */intpreempt_count;/* 0 => preemptable, <0 => BUG */mm_segment_t addr_limit;structrestart_blockrestart_block;void__user*sysenter_return;intuaccess_err;};

每个thread_info结构在内核栈的尾端分配

进程描述符的存放

http://www.jsqmd.com/news/449478/

相关文章:

  • PyTorch 2.5镜像开箱实测:4.5GB磁盘空间够用吗?
  • 使用gte-base-zh进行文本数据清洗与去重:提升数据集质量
  • 提醒一下,金三银四前端面试别太老实…
  • 面试实录:互联网大厂Java岗位三轮技术问答及详细解析
  • 大模型学习笔记 self attention
  • 美国真的要崩了?别被情绪骗了!它的三张底牌,至今无人能破
  • 【计算机二级MSoffice题库软件】小黑课堂下载安装教程(2026年3月最新版)
  • 本科生收藏!千笔,最受欢迎的降AI率工具
  • 博途S7 - 1200采用MODBUS_TCP与第三方设备通讯教程
  • 被告警吵醒太多次,我做了个让告警自动修复的监控工具
  • STL容器——std::vector
  • 智慧物流已成标配:2026年主流AMR搬运机器人厂家市场竞争力与行业格局全景解析 - 品牌推荐
  • 告别繁琐查询:一键整合企业工商、司法、经营数据的API方案
  • 2026全国靠谱运输车厂家挑选攻略,速来了解,自卸履带运输车/矿山履带运输车/高速除雪设备,运输车厂家直供排名 - 品牌推荐师
  • OpenClaw 安装避坑指南:工具权限配置详解
  • $emit自定义组件发数据本组件
  • 选一种颜色,出门走走
  • DRAM内存访问协议核心解析:全场景命令时序约束汇总表(内存控制器设计核心参考)
  • 英飞凌 IRS2381C Real3™ 飞行时间(ToF)图像传感器
  • 正面交锋:Gemini 3.1 Pro与GPT-5.4的技术分野与选择逻辑
  • 从加载状态看提示界面设计:提升等待体验
  • 计算机毕业设计java基于Java的自动化网站设计与实现 基于B/S架构的教学自动化管理平台设计与实现 面向师生互动的作业提交与课程测评系统开发
  • 程序化树木生成器(ThreeJS EZ-Tree 开源项目)
  • 同样画CAD,别人2小时搞定,你却卡半天?问题出在这3处
  • 全国可实时在线监控的压力变送器品牌有哪些推荐 - 工业品网
  • +混合高斯模型聚类 #机器学习+#人工智能+#特征提取+#特征融合+#特征降维+#聚类+#分类器+#无监督学习
  • 【数据集】地级市城市创业活跃度数据(2000-2024年)
  • 攻读博士学位期间研究计划书(格式模板与实例示范)——基于超快卷积光学神经网络的无记忆散射成像方法研究
  • 2026聊聊绵阳圆管立柱加工厂技术强的品牌推荐 - 工业设备
  • 腾讯QQ开放OpenClaw机器人创建通道,单个账号最多可创建5个