腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9197)
视频
沙龙
3
回答
对非常量
TSS
段
使用jmp指令。
assembly
、
x86
、
operating-system
、
kernel
、
gnu-assembler
根据文档,我们可以对一个恒定的远
段
执行jmp:在这里,0x18是GDT全局描述符表中有效的
段
选择器。jmp可以与包含有效GDT条目(即代码/数据
段
描述符)的
段
寄存器一起使用:jmp es:0x0 在这里,0x18是一个
TSS
(
任务
状态
段
)描述符,当跳转到它时,CPU执行一个
任务
切换,它自动将其
状态
保存到当前的
TSS
中,然后用保存在新<
浏览 0
提问于2016-11-09
得票数 2
回答已采纳
3
回答
为什么
Linux
不通过
TSS
使用硬件上下文切换?
linux
、
x86
、
linux-kernel
、
low-level
我宣读了以下声明:为什么不使用
Linux
对上下文切换的硬件支持?不是比软件方法快得多吗?
浏览 3
提问于2010-04-26
得票数 41
回答已采纳
2
回答
任务
门、中断门、调用门
linux-kernel
、
x86
、
x86-64
我想知道如何使用
任务
门(我知道它们用于硬件
任务
切换)。这到底是什么意思?硬件
任务
是否指操作系统
任务
/进程。或者更像是在两个不同的操作系统实例之间切换。(可能在服务器上。)?
浏览 4
提问于2011-07-14
得票数 8
回答已采纳
1
回答
创建一个有和没有IO位图的适当的
任务
状态
段
(
TSS
)结构?
x86
、
x86-64
、
intel
、
osdev
、
amd-processor
阅读Intel和AMD之间的文档并查看代码,有时很难理解如何创建没有IO端口位图(IOPB)的适当的
任务
状态
段
(
TSS
)。我知道:
TSS
中的IOPB偏移量(word)指
浏览 0
提问于2019-02-25
得票数 3
回答已采纳
1
回答
用于堆栈切换的
TSS
条目
c
、
x86
、
interrupt
、
osdev
install
TSS
descriptor gdt_set_descriptor (idx, base, base +initialize
TSS
TSS
.esp0= kernelESP;
TSS<
浏览 3
提问于2020-04-04
得票数 1
回答已采纳
2
回答
x86/x64:修改
TSS
字段
assembly
、
x86
、
x86-64
特别是,对ESP0 0/RSP0 0字
段
的更改是否立即生效?或者处理器是否像对
段
选择器一样提供
TSS
缓存,因此需要LTR指令来强制处理器重新加载
TSS
字段?
浏览 3
提问于2016-11-17
得票数 6
回答已采纳
1
回答
在x86-32上切换
任务
assembly
、
x86
、
stack
、
memory-segmentation
、
task-switching
例如,如果我执行的
任务
是从权限级别为0的TASK_1切换到具有相同特权级别的环0的另一个TASK_2。在完成上下文切换后将使用(ESP和SS)或(SS0和ESP0)。1- SS0、SS1、SS2是否仅用于“
任务
内”的堆栈切换? 2- SS是否可以持有任何特权级别的堆栈
段
,还是仅用于第3环的堆栈
段
?
浏览 1
提问于2016-10-25
得票数 0
回答已采纳
1
回答
CPU如何定位内核堆栈,以便在中断处理期间将寄存器推送到内核堆栈上?
multithreading
、
interrupt
、
interrupt-handling
线程用INT 80诱捕内核;中断门用于更改特权环和CS:RIP;旧值被推送到“堆栈”。
浏览 0
提问于2018-11-17
得票数 1
回答已采纳
1
回答
当内核堆栈的esp被存储到
TSS
以中断返回时,iret?
linux-kernel
、
x86
、
operating-system
、
kernel
、
interrupt
:如果确实发生堆栈切换,则处理器执行以下操作:它最初处于内核模式,它通过iret返回到用户模式。但是从手册上看,
T
浏览 4
提问于2022-01-11
得票数 1
回答已采纳
1
回答
为什么GDT不被认为是一个片段?
intel
、
cpu-architecture
、
gdt
除了构成程序或过程的执行环境的代码、数据和堆栈
段
之外,该体系结构还定义了两个系统
段
:
任务
状态
段
(
TSS
)和LDT。--英特尔64和IA32架构软件手册3A,2.1.2 有人能详细解释一下吗?
浏览 0
提问于2012-11-11
得票数 1
回答已采纳
1
回答
在
linux
内核分叉系统中,ljmp指令是做什么的?
assembly
、
linux-kernel
、
x86
、
gnu-assembler
、
att
我正在研究
linux
内核源代码(旧版本0.11v)。" \ "clts\n" \ ::"m" (*&__tmp.a),"m" (*&__tmp.b), \} 我猜"ljmp %0\n\t"将用于改变
TSS<
浏览 2
提问于2015-11-18
得票数 8
1
回答
32位多
任务
任务
段
更新
kernel
、
multitasking
、
tss
我在上读了这个页面因为在此osdev页面(上面的链接)上显示寄存器未保存,但如果不保存,
任务
如何自行更新它的
TSS
?
浏览 6
提问于2021-08-27
得票数 0
2
回答
在x86机器上触发中断时,CR3会发生变化吗?
assembly
、
x86
、
paging
、
intel
、
interrupt
在x86机器上,当触发中断时,CR3是否会改变(不仅仅是EIP的值)?
浏览 0
提问于2015-09-16
得票数 4
3
回答
Linux
中的gdtr地址
linux
、
kernel
、
segment
来自“理解
Linux
内核”一书。2.2.2
段
描述符(第38页) 关于段落的另一个问题:“理解
Linux
内核”一书。2.2.4
段
Linux
(第43页)。因此,对于每个进程,GDT包含两个不同的
段
描述符:一个用于
TSS
段
,另一个用于LDT
段
。在前面的列表中,我们描述了
Linux</
浏览 1
提问于2015-03-14
得票数 2
1
回答
在
linux
中,用户模式堆栈存储在哪里?
linux
、
linux-kernel
、
x86
、
kernel
、
stack-pointer
以及ss(堆栈
段
寄存器)的用途是什么?
浏览 9
提问于2018-10-12
得票数 1
1
回答
Linux
下CPU如何切换到中断栈
c
、
linux
、
linux-kernel
、
interrupt-handling
我读到过
Linux
如何在每个CPU上使用硬IRQ堆栈和软IRQ堆栈,以防异常堆栈在内核的编译时间内仅为4KB。现在我知道在8KB内核模式堆栈的情况下,当CPU在IDT中查找中断处理程序并发现需要更改权限时,它会从进程的
TSS
段
获取内核模式堆栈的地址。另外,在4KB内核模式堆栈的情况下,cpu从
TSS
段
获取异常堆栈的地址。 我不清楚的是,在处理中断的情况下,CPU如何获得hard_irq堆栈或soft_irq堆栈的地址。 有人能给我解释一下吗?
浏览 49
提问于2019-06-16
得票数 1
1
回答
识别一般保护故障上的故障地址(x86)
operating-system
、
x86
、
osdev
、
interrupt-handling
我正在尝试为x86上的通用保护故障(GP#13)编写一个ISR。我无法从英特尔文档中了解如何找到导致异常的故障地址。我知道对于页面错误异常(GP#14),cr2寄存器保存错误地址。任何帮助都是非常感谢的。
浏览 0
提问于2012-04-28
得票数 8
回答已采纳
1
回答
是否需要LDT?
x86
、
osdev
作为32位x86处理器的一些OS开发的一部分,我正在考虑使用中断描述符表中的
任务
门来表示页面错误向量。其目的是强制
任务
切换,以便确保映射处理程序的堆栈(并避免中断
任务
的堆栈的一部分未映射的情况)。正是当我尝试使用
任务
门时,我遇到了问题(是的,我确实想坚持使用
任务
门)。但是,我不能100%确定我是否正确填充了<em
浏览 1
提问于2012-01-13
得票数 4
回答已采纳
3
回答
寄存器
状态
是什么意思?
assembly
寄存器
状态
在汇编语言编程中到底意味着什么。
浏览 1
提问于2015-11-20
得票数 0
3
回答
iret和int指令堆栈
operating-system
、
x86
、
kernel
、
interrupt
比如
Linux
。
浏览 1
提问于2012-10-23
得票数 1
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
腾讯会议
活动推荐
运营活动
广告
关闭
领券