腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
Linux
2.6
内核
需要
thread_info
结构吗?
、
在
Linux
2.6
内核
之前,struct
task_struct
出现在每个进程的
内核
堆栈的末尾。没有
thread_info
struct的概念。但是
在
Linux
2.6
内核
中
,不是将
task_struct
放在进程的
内核
堆栈的末尾,而是将
thread_info
struct放在末尾。此
thread_info
结构包含指向
task_struct<
浏览 1
提问于2011-05-26
得票数 7
回答已采纳
1
回答
在
linux
最新
内核
中
如何
通过
'
thread_info
‘
访问
'
task_struct
’?
、
背景:我是
linux
内核
领域的初学者。我刚开始了解
Linux
内核
是
通过
阅读Robert Love的一本书“
Linux
内核
开发-第三版”开始的。本书中的大部分解释都是基于
Linux
内核
2.6.34。因此,很抱歉,如果这是一个重复的问题,但我
在
堆栈溢出
中
找不到任何与此相关的信息。struct
thread_info
{ struct
task_struct</
浏览 54
提问于2021-11-20
得票数 0
回答已采纳
2
回答
为什么
thread_info
应该是
task_struct
中
的第一个元素?
、
、
、
在
阅读
Linux
内核
源代码时,我发现有一件事让我感到困惑。
在
task_struct
中
,它是这样写的#ifdef CONFIG_THREAD_INFO_IN_TASK * For reasonssee current_thread_info()), this */ str
浏览 10
提问于2020-05-19
得票数 3
回答已采纳
1
回答
在
struct
task_struct
中
的字段'on_cpu‘和在struct
thread_info
中
的字段'cpu’的含义是什么?
、
我想知道当前进程
在
Linux
系统
中
运行的cpu,我有两个选择- [ 3991.419185] the field 'on_cpu' in
task_s
浏览 0
提问于2012-11-22
得票数 4
回答已采纳
5
回答
Linux
内核
:线程与进程-
task_struct
与
thread_info
、
、
、
我读到
Linux
不支持线程或轻量级进程的概念,它和其他进程一样考虑
内核
线程。然而,这一原则并没有
在
代码
中
得到非常准确的反映。我们看到
task_struct
保存进程的状态信息(如果错误的话纠正我),也看到
thread_info
附加到进程
内核
堆栈的底部。现在的问题是,当
linux
应该像任何其他进程一样解释线程时,为什么代码支持
通过
thread_info
单独线程的概念? 请告诉我我在这里缺少的是什么-我是
linux
浏览 6
提问于2014-01-26
得票数 16
回答已采纳
2
回答
在
定位结构
thread_info
时,结构
task_struct
需要什么?
、
、
、
、
在
阅读
Linux
设备驱动程序时,我可以理解进程描述符(类型为struct
task_struct
)包含有关特定任务的所有信息。过程描述符由板条分配器动态分配。我想知道的是,需要引入一个名为
thread_info
的新结构,它存储
在
堆栈的底部(假设是x86)。为什么要这么做?为什么不能将当前执行任务地址(struct
task_struct
)的地址放置到
内核
堆栈
中
?
浏览 0
提问于2011-10-10
得票数 9
3
回答
给定进程的
thread_info
的打印值
、
、
从给定进程的内存转储
中
,我想提取
thread_info
的值,例如preempt_count。它在x86上定义为: struct
task_struct
*task; struct exec_domain *exec_domain;
在
x86上,可以
通过
屏蔽堆栈指针的13位(假设堆栈大小为8KB)来获得
thread_info
结构的地址。这是由current_thread_info()函数(cf )完成的。爱,&q
浏览 5
提问于2014-03-05
得票数 0
回答已采纳
1
回答
Linux
内核
task_struct
空*堆栈
、
、
、
、
void *stack
在
task_struct
中
的声明是什么? 它是指向进程映像(堆栈、堆、.bss、数据、文本)堆栈的指针吗?如果是,指向进程映像其余部分的指针在哪里?
浏览 2
提问于2019-11-26
得票数 7
回答已采纳
2
回答
过程控制块与过程描述符
、
我正在读关于
linux
内核
的文章。它被写成有一些
thread_info
结构,其中包含指向实际进程描述符表的指针。它被写成
thread_info
恰好位于
内核
堆栈的上方/下方。所以
thread_info
肯定在主内存
中
。但是,实际的流程描述符
task_struct
又
如何
呢?它位于哪里?如果进程描述符驻留在主内存
中
,那么它的实际位置在哪里?
浏览 2
提问于2011-02-10
得票数 0
1
回答
调度上下文切换,每个进程一个或多个
内核
堆栈
、
、
、
、
考虑到
Linux
的情况,我们为每个用户堆栈都有一个
内核
堆栈,据我所知,每当发生上下文切换时,我们都会切换到当前进程的
内核
模式。在这里,我们保存当前进程的当前状态、寄存器、程序数据等,然后调度器(不确定它是否在此
内核
中
运行)保存PCB并加载下一个要调度的进程的PCB。现在,第一个问题是,考虑到每个进程也有一个“专用”
内核
堆栈的上下文切换,上面的解释对您是否有意义。 我的问题的另一部分是,如果我们对所有进程都有一个
内核
堆栈,上下文切换将
如何
发生?
浏览 11
提问于2017-08-16
得票数 0
1
回答
获取MIPS (
Linux
)上当前转换表的指针
、
、
、
、
在
x86上我是从CR3那里得到的。
在
ARM上,我使用来实现这个目的。
如何
在MIPS (不
访问
当前task_struct->mm->pgd)上做到这一点? 这是一些关于我为什么需要它的详细说明。我必须了解
在
QEMU系统模拟器
中
运行的
Linux
中
当前进程的一些信息。作为QEMU的一部分,我的代码
在
主机上运行。假设我知道来宾
内核
结构
中
的所有相关偏移量。当来宾处于
内核
模式(如果
浏览 2
提问于2015-08-11
得票数 3
1
回答
从userland程序读取
内核
堆栈
、
、
我想从一个基本的C程序
中
读取
内核
内存栈。我的目标是阅读
thread_info
结构。下面是我所做的:#include <unistd.h> struct exec_domain *exec_dom
浏览 1
提问于2019-04-04
得票数 0
1
回答
无法理解“当前”宏
如何
为x86体系结构工作
、
、
、
我试图了解current宏是
如何
工作的,所以开始浏览
Linux
源代码版本4.19。包含/
linux
/
linux
_info.h/* */#define current_thread_i
浏览 1
提问于2018-12-27
得票数 2
1
回答
内核
如何
将线程与进程分开?
、
、
Firefox有5个打开的选项卡,每个选项卡运行在一个单独的线程
中
,因此总共有5个线程。因此,我想深入了解
内核
如何
将进程分离到线程
中
,以便在struct
task_struct
或
thread_info
中
执行。 像Firefox这样的进程的struct thread_struct是否包含
浏览 4
提问于2015-06-15
得票数 4
回答已采纳
3
回答
Linux
是否为僵尸进程保留
内核
堆栈?
、
、
、
我
在
一本教科书中了解到,当进程变成僵尸时,
Linux
会保留流程描述符,直到将来的父级验证退出状态为止。我理解过程描述符有两个结构:板条
中
的
task_struct
和
内核
堆栈
中
的
thread_info
(忘记x86)。我正在阅读源代码的< do_exit() /exit.c>部分,但我不太清楚
内核
堆栈是在哪里被释放的。我可以发现,exit_notify()将进程的状态更改为僵尸。我似乎找不到释放
内核
堆栈的部分?还是我
浏览 20
提问于2021-01-10
得票数 5
回答已采纳
2
回答
为什么每个线程preempt_count都足够了?
、
、
preempt_count(void) return current_thread_info()->preempt_count;位0-7记录有多少次
内核
抢占被禁用这是否意味着每当有进程调度调用时,preempt_count应该是0,因此它的值不需要复制到不同进程的
thread_info
中
,以便在特定的CPU上跟踪状态软irqs和irqs?
浏览 1
提问于2015-03-30
得票数 2
回答已采纳
4
回答
task_struct
存储在哪里?
、
、
、
Task_struct
用于
通过
内核
保存有关进程的必要信息。多亏了这种结构,
内核
可以挂起一个进程,并在一段时间后继续其实现。但我的问题是:这个
task_struct
在内存
中
存储在哪里(我读到过关于
内核
堆栈的内容,是不是
在
虚拟地址空间的
内核
空间中?)挂起进程后,
内核
在哪里保存指向该结构和该结构的指针?我忘了说这个问题是关于
Linux
内核
的。
浏览 2
提问于2012-05-16
得票数 5
3
回答
Linux
内核
:当前宏工作
、
关于
Linux
内核
中
当前宏的工作方式(我指的是ARM架构)return (struct
thread_info
*)(sp & ~(THREAD_SIZE - 1));struct
thread_info
位于堆栈的底部(对于向下增长的堆栈)和堆栈的顶部(对于增长的堆栈)。
如何
通过
覆盖来阻止此st
浏览 5
提问于2013-10-14
得票数 1
4
回答
理解进程
内核
堆栈
中
task_struct
指针的获取
、
在这里,他介绍了
thread_info
结构,它包含指向
task_struct
结构的指针,据我所知,它位于进程
内核
堆栈的底部或顶部(取决于体系结构)。直到最近,我才熟悉
Linux
内核
API,也不知道当前()方法的存在。书中有一段摘录,内容涉及当前()方法的实际工作方式: 据我所知,
浏览 3
提问于2012-08-14
得票数 5
回答已采纳
2
回答
如何
访问
Linux
内核
数据结构?
、
、
为此,我正在编写一个
内核
模块。 有谁知道
如何
在
内核
模块
中
访问
这些信息,或者
如何
访问
内核
模块
中
的处理表数据结构?
浏览 2
提问于2015-09-16
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
聊聊Linux中线程和进程的联系与区别!
IBM为Linux 内核提出新的命名空间机制
内核是如何给容器中的进程分配CPU资源的?
报名:《Linux任督二脉》之《进程调度》4节系列微课
关于CPU亲和性,这篇讲得最全面
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券