社区
Linux_Kernel
帖子详情
linux2.6中是否还有task_struct* task[NR_TASKS]这个索引数组?谢谢
oopper
2009-10-28 09:08:56
linux2.6中是否还有task_struct* task[NR_TASKS]这个索引数组?如果没有的话,那么linux2.6是采取什么样的形式管理系统所有task的指针的?谢谢
...全文
257
8
打赏
收藏
linux2.6中是否还有task_struct* task[NR_TASKS]这个索引数组?谢谢
linux2.6中是否还有task_struct* task[NR_TASKS]这个索引数组?如果没有的话,那么linux2.6是采取什么样的形式管理系统所有task的指针的?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oopper
2009-10-29
打赏
举报
回复
ls说的我清楚。我的意思是说,是不是存在一个数组把所有的task_struct放在一起?
小魔菇
2009-10-29
打赏
举报
回复
是一个双向连表 由init_task为头部节点
oopper
2009-10-29
打赏
举报
回复
有人知道吗?告诉小菜一下,好吗?谢谢
oopper
2009-10-29
打赏
举报
回复
说错了,是把所有task_struct指针放在一个数组内,貌似2.4以前都是这样的,不知道2.6的内核有没有这么做?
小魔菇
2009-10-29
打赏
举报
回复
把所有的task_struct放在同一个数组要干吗呢?~
一个task_struct需要8K的内存,用那么大的一块内存来存放,挺浪费的。
现在与task_struct相关的有好几个hash表 进行查找和添加、删除都是放在数组里容易的多
不需要这个数组
oopper
2009-10-29
打赏
举报
回复
还有谁知道的吗?可以出来说一下吗?这个问题困扰我很久了,谢谢,我把分数提高到100分
winter_sui
2009-10-29
打赏
举报
回复
应该没了,我没看过内核代码。但自从突破了4096的最大进程数限制后,这个数组就应该没意义了。
小魔菇
2009-10-29
打赏
举报
回复
不应该有吧
那得预先分配多大一个数组哦
而且NR_TASKS也不是事先能确定好的
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 ...
Linux
进程描述符——
task
_
struct
(初学者的简单学习)
进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称。注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源。
Linux
内核通过一个被称为进程描述符的
task
_
struct
结构体来管理进程,这个结构体包含了一个进程所需的所有信息。它定义在
linux
-
2.6
.38.8/include/
linux
/sched.
task
_
struct
1、进程的基本信息 1.1 标识一个进程——PID 每个进程都必须拥有它自己的进程描述符; 因此,即使共享内核大部分数据结构的轻量级进程(后面会提到), 也有它们自己的
task
_
struct
结构。 进程和进程描述符之间有非常严格的一一对应关系,所以我们可以方便地使用32位进程描述符地址标识进程。 进程描述符指针(
task
_
struct
*)指向这些地址。内核对进程的大部份引用都是通过进程描述符指针...
浅析
Linux
下的
task
_
struct
结构体
浅析
Linux
下的
task
_
struct
结构体 参考:https://blog.csdn.net/qq_29503203/article/details/5461827 本文的重点是剖析
task
_
struct
,在这之前我们需要先了解一下进程的概念和
Linux
下进程控制块PCB。 1.首先什么是进程? 1.1进程可以这样描述: 进程是程序的一个执行实例; 进程是正在执行的程序; 进程是...
通过pid查找进程
task
_
struct
结构体
如何通过进程id查找进程的描述符
task
_
struct
?在实际的工作
中
,我的驱动
中
需要通过读取写进内存
中
的进程id值查找对应的进程
是否
还在运行,或者是已经退出。通过阅读内核代码,内核
中
已有相应的API函数来供我们使用。下面是我在使用过程
中
的一些笔记总结。
linux
系统上运行的进程可能成百上千的,或者更多,如何能够快速的通过pid值反向的查找
task
_
struct
,内核的方法是通过H...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章