腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
Linux
分页
模型是一种抽象吗?
linux
、
linux-kernel
、
x86
、
paging
、
addressing-mode
我目前正在阅读理解
Linux
内核第三版的,我正在阅读关于内存寻址的第2章。首先,这本书涵盖了32位
分页
、PAE 32位和PSE (我们在这里讨论的是x86 )。更具体地说,线性地址的剖析和什么位是什么表,偏移等.我开始对
Linux
中的
分页
模型感到困惑。有一次,这本书谈到了目录、表和偏移位的线性地址(用于PAE的PDPT表),然后我被抛到了"
Linux
“
分页
的世界里。现在,在
Linux
分页
中,他们谈到了带有表和偏移量的全局表、上层表和中间表?我
浏览 9
提问于2022-02-05
得票数 2
回答已采纳
3
回答
在
Linux
中启用
MMU
linux
、
arm
、
mmu
在ARM
Linux
中,到底在哪个点启用了
mmu
。ie,在哪个文件中(汇编文件或arch/arm/内核/setup.c中的paging_init() ) 提前谢谢。
浏览 1
提问于2012-04-03
得票数 2
2
回答
扩展页表的用途是什么?
c
、
operating-system
、
cpu
、
computer-architecture
、
processor
我们能用c程序显示页表地址吗?页表和扩展页表有什么区别?
浏览 3
提问于2015-03-16
得票数 0
1
回答
最初的unix内核是如何嵌入内存的?
kernel
、
history
今天,几乎所有内核都使用
MMU
提供的虚拟内存。它们使用全局页表(其地址位于CPU寄存器中)和页监控器/页映射程序来实现这一点。例如,vmlinuz中的"vm“意味着
linux
内核支持虚拟内存。这一切都是可能的,因为
MMU
将连续的内存地址映射到x86体系结构所理解的内存段。 最初的UNIX内核确实有一个vmunix版本,我相信它一定使用了类似的技术。然而,最初的UNIX内核是在
MMU
可用之前编写的。如果我没有弄错的话,最初的UNIX内核(简称unix)是在x86体系结构存在之前编写的。从历史上看,它确实运
浏览 0
提问于2016-12-25
得票数 5
回答已采纳
1
回答
linux
内核是否使用虚拟内存(用于其数据)?
linux
、
kernel
、
virtual-memory
linux
内核是否为其数据结构(页表、描述符等)使用虚拟内存?更具体而言:内核内存会被交换掉吗? 内存对内核数据结构的访问会导致页面错误吗?
linux
和其他unix在这方面有区别吗?
浏览 0
提问于2021-11-19
得票数 9
回答已采纳
2
回答
分段故障是如何在内部(内核/硬件)工作的?
c
、
memory-management
、
linux-kernel
、
hardware
从广义上讲,我想知道内核(或CPU)如何知道进程试图访问它没有权限的内存位置,以及名为
MMU
的神秘硬件如何帮助实现这一点。特别是:在我看来,
MMU
对于操作系统内核的内存管理模型(
分页
、内存区、进程地址空间……)是不可知的。(例如,我假设
Linux
和Windows页面并不完全相同。如果我错了,请纠正我)。
浏览 1
提问于2012-12-18
得票数 15
回答已采纳
5
回答
处理器和虚拟/物理地址
linux
、
memory
、
memory-management
、
operating-system
、
processor
MMU
使用每个进程的地址表将这些地址转换为相应的物理地址(在需要时,在其间具有TLB和页面错误)。 我的问题是处理器总是生成虚拟地址吗?
浏览 3
提问于2015-09-29
得票数 3
1
回答
ARM
MMU
在不同运行模式下的运行
linux
、
arm
、
mmu
在我提出问题之前,我会先把我对这个话题的理解,问题: 是在监控程序模式下启用的(对于内核地址)。如果启用了,那么这是否意味着在翻译监
浏览 3
提问于2012-04-03
得票数 4
2
回答
linux
内核出现分段故障后会发生什么?
linux
、
segmentation-fault
、
page-fault
当我考虑进行网络
分页
(从远程节点请求出错的
分页
)时,我得到了这个问题:1)用户空间程序试图访问内存X。5)此时,我可以从远程节点检索适当的数据,复制到某个物理地址,并将其映射到页表中。那么,这是否意味着
MMU
或CPU以某种方式记住了有页错误的页表条目,并返回到该条目并继续页表的遍历? 如果有任何步骤不正确,请告诉我。
浏览 8
提问于2013-08-09
得票数 0
2
回答
是否可以使用C编程访问物理内存地址?
c
、
operating-system
据我所知,虚拟地址是由OS提供的,然后由
MMU
进一步转换为物理地址。 据我所知,
分页
机制
发生在两者之间,它将虚拟地址映射到可用的物理地址。当我们给一个指针一个地址时会发生什么?该地址的作用类似于虚拟地址,然后由
MMU
处理以指向特定的物理地址,还是其本身类似于物理地址?
浏览 0
提问于2019-01-23
得票数 5
4
回答
MMU
如何检测指针的双重释放?
c
、
memory-management
内存管理单元(
MMU
)如何检测指针的双重释放? 我知道在释放指针之后将指针设为空是一种很好的做法,但假设程序员不这样做。是否有任何
MMU
机制
来检测它?
浏览 8
提问于2010-02-13
得票数 4
2
回答
进程之间的上下文切换是否会使
MMU
(内存控制单元)失效?
process
、
operating-system
、
cpu
、
mmu
这是我的系统讲座的PowerPoint中的一个句子,但我不明白为什么上下文切换会使
MMU
无效。我知道它将使缓存失效,因为缓存包含另一个进程的信息。然而,对于
MMU
,它只是将虚拟内存映射到物理内存。如果上下文切换使其无效,这是否意味着
MMU
在不同进程中使用不同的映射
机制
?
浏览 4
提问于2017-01-03
得票数 3
回答已采纳
1
回答
我们能在核子stm32F429zi板上运行
Linux
吗?
linux
、
embedded
、
uclinux
我知道stm32nucleoF429zi没有硬件
MMU
,但是我们可以从
Linux
内核配置选项中禁用
MMU
选项。 如果我们这样做了,为什么我们不能在stm32 F429zi上运行
Linux
呢?如果我们禁用
Linux
内核配置中的
MMU
,为什么uCLinux可以运行,但是
Linux
不能运行呢?
浏览 0
提问于2020-08-05
得票数 3
2
回答
如何在__turn_
mmu
_on阶段后调试
Linux
内核启动过程?
android
、
linux
、
linux-kernel
、
embedded-linux
、
mmu
我正在尝试启动安卓4.0.1 (冰淇淋三明治),基于
Linux
内核3.0.1在自定义硬件上。我能够调试
Linux
Kernel 3.0.1的引导过程,直到在head.S中定义的__enable_
mmu
函数,使用串口。 但是一旦执行了__turn_
mmu
_on功能,我就无法调试引导过程。我研究过
linux
-arm-kernel邮件列表归档&我尝试过他们的printascii()工作。但在__turn_
mmu
_on之后,我仍然无法在串行控制台上看到任何启动日志。在这里,我能够在__t
浏览 5
提问于2012-09-24
得票数 0
2
回答
没有核仁?
linux
、
kernel
、
linux-kernel
、
memory
我想尝试编译没有
mmu
的内核。从我在配置中发现的情况来看,这样的事情是没有选择的。有可能做到吗?
浏览 0
提问于2015-03-15
得票数 13
回答已采纳
1
回答
如果我们不使用虚拟内存,页面错误会发生吗?
operating-system
、
theory
、
page-fault
我读到了关于虚拟内存和页面错误的文章。据我所知,当主内存中不存在CPU正在寻找的页面时,页面错误就会发生。我怀疑,如果我们不使用虚拟内存,页面错误会发生吗?
浏览 5
提问于2020-11-06
得票数 0
回答已采纳
1
回答
操作系统中的内存管理
operating-system
因此,在我们关于操作系统内存管理的在线课程中,我们讨论了
MMU
的使用(它是每个CPU包附带的专用硬件),用于虚拟地址到物理地址的地址转换。实际物理内存可能比虚拟地址空间更小,如果没有存储空间,则需要OS将页(也称为
分页
)交换到磁盘(如果没有存储空间,引用将在磁盘位置的页表中维护)。在这整件事中,我不明白也不明白 虚拟地址空间是如何在解释的朗中分配的?
浏览 7
提问于2021-07-25
得票数 0
回答已采纳
1
回答
Linux
页表
linux-kernel
、
operating-system
、
virtual-memory
、
mmu
、
page-tables
在
Linux
中,有一些函数,如pgd_offset、pmd_offset和pte_offset,用于对pgd、pmd和pte进行索引。谁叫这些功能?
MMU
是否使用这些函数来遍历页面表?我的理解是,
linux
内核为每个进程创建一个页面表,并将页面表的基本地址传递给页面表基寄存器,以便
MMU
能够访问它。之后
MMU
是如何读取页面表的?如果
MMU
是读取页面表的人,那么谁使用这些pgd_offset等函数?
浏览 2
提问于2016-09-24
得票数 0
1
回答
Linux
页面表管理与
MMU
linux
、
kernel
、
computer-architecture
、
mmu
我有一个关于
linux
内核和
MMU
之间的关系的问题。现在我明白了,
linux
内核管理虚拟内存地址和物理内存地址之间的页表。同时,在x86体系结构中存在
MMU
,它管理虚拟内存地址和物理内存地址之间的页表。如果
MMU
出现在CPU附近,内核还需要处理页面表吗?这个问题可能很愚蠢,但另一个问题是,如果
MMU
负责内存空间,谁来管理高内存和低内存?我相信内核将从
MMU
(32位中的4GB)接收虚拟内存的大小,然后内核将区分虚拟地址中的用户空间和内核空间。
浏览 3
提问于2014-09-24
得票数 10
回答已采纳
2
回答
内核虚拟地址到底是如何转换成物理RAM的?
linux
、
memory-management
、
linux-kernel
此外,我的理解是,由于
Linux
是一个现代虚拟内存操作系统,所有地址都被视为虚拟地址,必须在运行时通过硬件( TLB/
MMU
)“传递”,然后通过内核
分页
表由TLB/
MMU
进行翻译。(但这怎么可能,因为我们必须通过硬件TLB/
MMU
?)所以,回到我之前的观点:它必须通过硬件(TLB/
MMU
)进行翻译。真的是这样吗??第2部分:好的,让我们说是这样的,我们使用内核中的
分页
来完成这个任务,当然我们必须设置内核
分页
表;
浏览 7
提问于2016-04-15
得票数 20
回答已采纳
点击加载更多
相关
资讯
细说|Linux Out Of Memory机制
linux内核机制之设备树
地址映射:计算机系统中的关键概念
Cortex-M处理器跑得了Linux吗?
从一个实例故障说明linux Pam认证机制
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券