社区
灌水乐园
交流讨论
帖子详情
爱和冰阔落
2026-05-25 15:13:15
新文一篇,内有红包《 从OS通用理论到Linux内核源码:全景拆解 task_struct 状态流转与内核双链表设计精髓 》 https://blog.csdn.net/2402_87731470/article/details/161368779
...全文
272
回复
打赏
收藏
新文一篇,内有红包《 从OS通用理论到Linux内核源码:全景拆解 task_struct 状态流转与内核双链表设计精髓 》 https://blog.csdn.net/2402_87731470/article/details/161368779
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
深入分析
Linux
内核
源码
.chm
第一章 走进
linux
1.1 GNU与
Linux
的成长 1.2
Linux
的开发模式和运作机制 1.3走进
Linux
内核
1.4 分析
Linux
内核
的意义 1.5
Linux
内核
结构 1.6
Linux
内核
源代码 1.7
Linux
内核
源代码分析工具 第二章
Linux
运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段机制和描述符 2.4 分页机制 2.5
Linux
中的分页机制 2.6
Linux
中的汇编语言 第三章中断机制 3.1 中断基本知识 3.2中断描述符表的初始化 3.3异常处理 3.4 中断处理 3.5中断的后半部分处理机制 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2
Linux
中的进程概述 4.3
task
_
struct
结构描述 4.4
task
_
struct
结构在内存中的存放 4.5 进程组织的方式 4.6
内核
线程 4.7 进程的权能 4.8
内核
同步 第五章进程调度 5.1
Linux
时间系统 5.2 时钟中断 5.3
Linux
的调度程序-Schedule( ) 5.4 进程切换 第六章
Linux
内存管理 6.1
Linux
的内存管理概述 6.2
Linux
内存管理的初始化 6.3 内存的分配和回收 6.4 地址映射机制 6.5 请页机制 6.6 交换机制 6.7 缓存和刷新机制 6.8 进程的创建和执行 第七章 进程间通信 7.1 管道 7.2 信号(signal) 7.3 System V 的IPC机制 第八章 虚拟文件系统 8.1 概述 8.2 VFS中的数据结构 8.3 高速缓存 8.4 文件系统的注册、安装与拆卸 8.5 限额机制 8.6 具体文件系统举例 8.7 文件系统的系统调用 8 .8
Linux
2.4文件系统的移植问题 第九章 Ext2文件系统 9.1 基本概念 9.2 Ext2的磁盘布局和数据结构 9.3 文件的访问权限和安全 9.4 链接文件 9.5 分配策略 第十章 模块机制 10.1 概述 10.2 实现机制 10.3 模块的装入和卸载 10.4
内核
版本 10.5 编写
内核
模块 第十一章 设备驱动程序 11.1 概述 11.2 设备驱动基础 11.3 块设备驱动程序 11.4 字符设备驱动程序 第十二章 网络 12.1 概述 12.2 网络协议 12.3 套接字(socket) 12.4 套接字缓冲区(sk_buff) 12.5 网络设备接口 第十三章 启动系统 13.1 初始化流程 13.2 初始化的任务 13.3
Linux
的Boot Loarder 13.4 进入操作系统 13.5 main.c中的初始化 13.6 建立init进程 附录: 1
Linux
2.4
内核
API 2.1 驱动程序的基本函数 2.2 双向循环链表的操作 2.3 基本C库函数 2.4
Linux
内存管理中Slab缓冲区 2.5
Linux
中的VFS 2.6
Linux
的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备
linux
内核
中
task
_
struct
与thread_info及stack三者的关系
在
linux
内核
中进程以及线程(多线程也是通过一组轻量级进程实现的)都是通过
task
_
struct
结构体来描述的,我们称它为进程描述符。而thread_info则是一个与进程描述符相关的小数据结构,它同进程的
内核
态栈stack存放在一个单独为进程分配的内存区域。由于这个内存区域同时保存了thread_info和stack,所以使用了联合体来定义,相关数据结构如下(基于4.4.87版本
内核
): thread_union联合体定义: union thread_union {
struct
threa
通过pid查找进程
task
_
struct
结构体
如何通过进程id查找进程的描述符
task
_
struct
?在实际的工作中,我的驱动中需要通过读取写进内存中的进程id值查找对应的进程是否还在运行,或者是已经退出。通过阅读
内核
代码,
内核
中已有相应的API函数来供我们使用。下面是我在使用过程中的一些笔记总结。
linux
系统上运行的进程可能成百上千的,或者更多,如何能够快速的通过pid值反向的查找
task
_
struct
,
内核
的方法是通过H...
Linux
进程管理之通过pid号找到
struct
task
_
struct
Linux
内核
态通过pid号找到
struct
task
_
struct
的简介
Linux
進程源碼分析
task
_
struct
linux
/include/
linux
/sched.h 文件的第 631-1333行:
struct
task
_
struct
{ #ifdef CONFIG_THREAD_INFO_IN_
TASK
/* * For reasons of header soup (see current_thread_info()), this * must be the first element of
task
_
struct
. */
struct
thread_info ...
灌水乐园
30,797
社区成员
145,760
社区内容
发帖
与我相关
我的任务
灌水乐园
就等你来冒个泡~
复制链接
扫一扫
分享
社区描述
就等你来冒个泡~
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
版主:
社区助手
试试用AI创作助手写篇文章吧
+ 用AI写文章