Linux内核:线程与进程 – task_struct对thread_info
发布时间:2021-01-12 11:51:09 所属栏目:Linux 来源:互联网
导读:我读到, Linux不支持线程或轻量级进程的概念,它像任何其他进程一样考虑内核线程.但是这个原则并不是很准确地反映在代码中.我们看到包含一个进程的状态信息的task_struct(如果错误的话请纠正我),并且将thread_info附加到进程内核栈的底部. 现在的问题是为什么
我读到,Linux不支持线程或轻量级进程的概念,它像任何其他进程一样考虑内核线程.但是这个原则并不是很准确地反映在代码中.我们看到包含一个进程的状态信息的task_struct(如果错误的话请纠正我),并且将thread_info附加到进程内核栈的底部. 现在的问题是为什么当linux应该像任何其他进程一样解释线程时,代码支持通过thread_info的个人线程的概念? 请让我知道我在这里缺少什么 – 我是linux内核开发的新手. 解决方法Linux中的线程被视为刚刚分享一些资源的进程.每个线程都有自己的thread_info(在堆栈的底部,就像你说的)和它自己的task_struct.我可以想到为什么将它们作为单独的结构维护的两个原因.> thread_info是依赖于架构的. task_struct是通用的.> thread_info切入该进程的内核栈的大小,所以应该保持较小. thread_info作为微优化放置在堆栈的底部,使得可以通过舍入大小保存CPU寄存器,从当前堆栈指针计算其地址. (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 使用rsync通过多级SSH复制文件
- linux – 如何在Elastic Beanstalk上为特定容器设置文件夹权
- Linux Split Command Examples
- 如何使用cURL与PHP同时打开多个URL?
- Linux内核:来自“open”系统调用的printk不起作用
- linux – 使用grep和ls -a命令
- 在同一个Linux目录中有几百个或几千个文件可以(性能方面)吗
- LINUX实战:Ubuntu下用QEMU搭建ARM Linux运行环境
- linux内核 – 设备驱动程序代码在哪里执行?内核空间还是用
- linux – GNU malloc_info():获得真正分配的内存?