腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
Linux
有两个数据
段
,一个用于用户模式,另一个用于内核模式?
、
Linux
有(除了其他部分)一个用户数据
段
和一个内核数据
段
。但是内核数据
段
仍然可以从用户模式访问,因为用户数据
段
和内核数据
段
指向相同的虚拟内存地址!那么,为什么
Linux
有两
浏览 0
提问于2019-04-06
得票数 3
1
回答
Linux
多页界限和cpu
段
、
我对
Linux
如何能够有这么多
段
而它仍然可以进行边界检查感到困惑。据我所知,现代CPU有几个段数据
寄存器
(代码、数据等)。但是
Linux
有自己的多个
段
:堆栈、BSS、堆、代码、全局以及更多(特别是当堆很大并且由许多
段
组成时)。并不是每个CPU都有足够的
寄存器
来跟踪所有这些
段
。如果我没有弄错,
Linux
将每个片段存储在一个单独的页面中,那么它如何能够防止这些页面中的一个读或写超出范围呢? 我唯一可能的解释是
Linux
:
浏览 0
提问于2018-09-10
得票数 1
回答已采纳
1
回答
32位多任务任务
段
更新
、
、
我在上读了这个页面因为在此osdev页面(上面的链接)上显示
寄存器
未保存,但如果不保存,任务如何自行更新它的TSS?
浏览 6
提问于2021-08-27
得票数 0
1
回答
Linux
分段
、
、
、
、
最近,我读了一本叫做“理解
linux
内核”的书。有句话让我很困惑。有人能给我解释一下吗?例如,当CPL等于3(用户模式)时,ds
寄存器
必须包含用户数据
段
的分段选择器,但是当CPL等于0时,ds
寄存器
必须包含内核数据
段
的分段选择器。 ss
寄存器
也出现了类似的情况。当CPL为3时,它必须引用用户数据
段
中的用户模式堆栈,当CPL为0时,它必须引用内核数据
段
内的内核模式堆栈。当从用户模式切换到内核模式时,
Linux
总是确保ss
寄存器<
浏览 0
提问于2017-08-24
得票数 2
回答已采纳
1
回答
libc如何修改
Linux
中的CS
寄存器
、
我试图在
Linux
中使用LDT ()。我为新的代码
段
设置了LDT条目,LDT。然后我尝试用ljmp更新%CS。所以我想知道libc修改了%CS
寄存器
,但是我不知道这是如何发生的,以及如何使用我自己指定的LDT?cs value again.我使用了我自己分配的LDT,只想为一个小的研究项目测试一些x86分
段
特性
浏览 6
提问于2015-10-17
得票数 1
回答已采纳
2
回答
内存
段
是否由操作系统或体系结构定义?
、
、
x86体系结构具有用于地址空间(ss、ds等)的各个
段
的
段
寄存器
。如果我想在一个进程地址空间中添加一个新的内存
段
,我可以通过修改内核来完成吗?或者我需要硬件支持吗?我不想做任何具体的事情,只是好奇并试图理解
Linux
是如何使用
段
寄存器
的。
浏览 8
提问于2018-07-04
得票数 0
1
回答
代码
段
寄存器
在系统调用中的作用
进行系统调用时,是否使用代码
段
寄存器
或控制
寄存器
检查权限级别? 英特尔x86中的代码
段
寄存器
用于分段目的,我不清楚在
linux
中如何处理分页和英特尔cpu机制。
浏览 1
提问于2012-07-08
得票数 0
回答已采纳
1
回答
ARM
Linux
如何维护
段
?
、
Linux
通过MMU将平面虚拟地址转换为物理地址。在
Linux
的虚拟地址空间中,有许多类型的
段
: 感谢你的帮助。
浏览 1
提问于2015-07-23
得票数 0
回答已采纳
1
回答
x86程序集正确使用数据
段
吗?
、
、
、
我可以加载可执行文件,但是我希望每个运行的程序都有自己的数据
段
。现在,从我在32位保护模式研究中收集到的信息来看,数据
段
指的是64k的数据块,对吗?
浏览 0
提问于2013-01-07
得票数 0
回答已采纳
1
回答
ds、es
寄存器
我反汇编了某个二进制文件(
Linux
elf)。我找到了这段代码:有两个
寄存器
'ds‘和'es’。我知道这些被命名为“
段
寄存器
”。这些
寄存器
指向哪里?
浏览 0
提问于2012-03-20
得票数 4
回答已采纳
1
回答
内存分段是否在64位
Linux
内核的最新版本中实现?
、
、
AMD64体系结构程序员手册第2卷指出,大多数现代系统软件绕过硬件特性进行内存分段,因为结合软件和硬件分页支持来处理内存隔离和重新定位通常更有效(修订3.23,第65页,第3
段
)。下面,手册指出,在64位(长)模式下,仍然使用一些
段
寄存器
(系统
段
寄存器
).1)在AMD64 64的64位(长)模式下运行?这些系统
段
寄存器
有什么用途吗?
浏览 3
提问于2014-11-12
得票数 3
回答已采纳
2
回答
使用Python访问嵌入式设备的低级
寄存器
、
、
是否可以在纯Python中显式访问
寄存器
,或者我是否应该为Python代码编写C扩展?
浏览 1
提问于2012-03-08
得票数 5
回答已采纳
1
回答
为什么
Linux
中的数据和代码
段
完全重叠?
、
、
上下文:我正在阅读“理解
Linux
内核,3d ed",它使用2.6.11内核。表除其他部分外,还包括用户代码和数据
段
。但是这两个
段
的基址是0x0,它们的大小也是一样的。所以它们完全重叠。因此,据我所知,逻辑地址cs + offset与逻辑地址ds + offset相同,其中cs和ds是分别保存代码
段
选择器和数据
段
选择器的C
浏览 0
提问于2014-01-16
得票数 5
回答已采纳
1
回答
MOV,EAX节
段
故障?
、
、
、
当我运行mov ds,rax时,它将引发错误Program terminated with signal SIGSEGV, Segmentation faultglobal main mov rax,0ffffH mov rbx,6
浏览 3
提问于2020-07-22
得票数 0
回答已采纳
4
回答
(准确地说)调用堆栈在哪里?
、
、
、
、
如何在运行时(通过某种符号或
寄存器
)找到调用堆栈的地址界限?我用nm和readelf来挑选我的符号,但我找不到。在
寄存器
的情况下,我似乎仅限于当前帧的基本指针和堆栈指针,而不是起始地址。我在
Linux
x86/x86_64上使用
Linux
x86/x86_64。 编辑:我可以使用x86
段
寄存器
SS来计算它吗?
浏览 7
提问于2012-02-13
得票数 2
回答已采纳
1
回答
似乎无法将%ES添加到列表中(内联程序集,GCC)
、
、
、
我知道我正在使用旧代码,但据我所知,在我相当新的英特尔i3上,仍然有一个ES
寄存器
被stos*使用。根据我的经验,两个奇怪的问题通常是相关的,并且是由一个更基本的问题(通常是PEBKAC)引起的。然而,我对此感到困惑。
浏览 3
提问于2014-07-04
得票数 2
回答已采纳
1
回答
x86
段
寄存器
在现代CPU和OSes上有特殊的意义/用法吗?
、
、
、
现在,随着现代OSes在现代操作模式下使用现代CPU,您不必担心内存
段
,但您仍然可以在现代CPU上的遗留OSes上运行遗留应用程序,在这种情况下,我假设CPU运行在一种特殊的遗留模式(保护模式、真实模式等显然,
段
寄存器
的存在是出于向后兼容性的原因,但这是唯一的原因吗?
段
寄存器
也有现代用途吗?或者他们只是成为通用的登记册,这些天,仅仅有反映他们的历史功能的名字?
浏览 1
提问于2014-03-17
得票数 4
回答已采纳
1
回答
用于上下文切换的
段
选择器存储在哪里。(x86)
、
、
、
据我所读,在包括windows和
linux
在内的现代操作系统上,没有使用分段
寄存器
,如CS、DS等。我的问题是: 每个线程都有自己的
段
选择器吗?
浏览 3
提问于2018-01-12
得票数 0
1
回答
在不使用分段机制的情况下,如何在x86中管理堆栈和堆
段
?
、
、
、
从理解
Linux
内核开始 2.6版本的
Linux
只在80x86体系结构需要时才使用分段。x86-64体系结构在
浏览 8
提问于2022-02-13
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
6 段常用linux 实战命令
寄存器基本原理(下篇)
单片机寄存器是什么?单片机寄存器有哪些分类?
64位内存与通用寄存器
寄存器基本原理介绍(上篇)
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券