25、深入理解 Linux 进程与线程的用户空间和内核空间组织及栈查看方法

深入理解 Linux 进程与线程的用户空间和内核空间组织及栈查看方法

1. 用户空间组织

在 Linux 系统中,用户空间的组织与进程和线程密切相关。以 countem.sh Bash 脚本的运行情况为例,我们来详细探讨用户空间的结构。

每个进程至少有一个执行线程,即 main() 线程。例如,有三个进程 P1 P2 Pn ,分别包含 1、3 和 2 个线程(包括 main() 线程),在 countem.sh 脚本的示例运行中, Pn n 值为 362。需要注意的是,PID 为 2 的“进程”通常是单线程的内核线程 kthreadd

用户模式下的进程由多个段(技术上称为映射)组成,主要包括:
- 文本段(Text) :包含代码,权限为 r-x
- 数据段(Data segments) :权限为 rw- ,由三个不同的映射组成,分别是已初始化数据段、未初始化数据段(或 bss)和“向上增长”的堆。
- 库映射(Library mappings) :用于进程动态链接的每个共享库的文本和数据。
- 向下增长的栈(Downward-growin

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值