multithreading - Linux内核线程没有地址空间

标签 multithreading memory linux-kernel

为什么Linux内核线程没有地址空间。为了执行任何任务,它应该有一个内存区域,对吗?内核线程的文本和数据在哪里?

最佳答案

内核线程确实有一个地址空间。只是他们都共享同一个人。这不会阻止它们各自具有不同的堆栈。

文本和数据在内核地址空间(所有线程共享的地址)中进行布局,具体取决于分配方式和时间以及其用途。

Linux MM站点上有很多关于Linux这方面的文档。去那边

关于multithreading - Linux内核线程没有地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235897/

相关文章:

仅在调试时正确输出

c++ - 编译在 g++ 4.7.1 中达到虚拟内存限制?

linux - 为子进程设置监护进程,以防父进程死亡

multithreading - 防止虚假分享的奇怪代码

c++ - 为什么 C++ 中的 THREADS 在执行时给出不同的输出?

c# - 具有ADO.NET和SQL Server连接的多线程WCF抛出 “Invalid attempt to call Read when reader is closed”

c++ - 当我在 C++ 中创建指针数组时无法读取内存

python - 在一个线程中运行繁忙任务时所有线程都会挂起

linux - IRQCHIP_声明 : init function is not being run

c# - 将线程存储在静态变量中可以吗?