腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
在x64 Ubuntu14.04上用另一个覆盖页表条目
、
、
、
、
pgd
_t *
pgd
;pmd_t *pmd;if (
pgd
_none(*
pgd
) ||
pgd
_bad(*
pgd
))if (pud_none(*pud) || pud_badptep) retu
浏览 2
提问于2016-01-25
得票数 2
回答已采纳
1
回答
有没有办法知道连接的共享内存的物理地址?
、
、
、
我想知道
Linux
内核上新附加的共享内存的“物理”地址。 unsigned long ret; unsigned int regVal; pud_t *pud; pte_t *pte
浏览 14
提问于2017-07-05
得票数 0
2
回答
内核虚拟地址到底是如何转换成物理RAM的?
、
、
此外,我的理解是,由于
Linux
是一个现代虚拟内存操作系统,所有地址都被视为虚拟地址,必须在运行时通过硬件(
TLB
/MMU )“传递”,然后通过内核分页表由
TLB
/MMU进行翻译。但是,在运行时,内核虚拟地址必须通过
TLB
/进行转换,对吗?真的是这样吗?还是内核虚拟地址转换只是一个偏移量计算??(但这怎么可能,因为我们必须通过硬件
TLB
/MMU?)所以,回到我之前的观点:它必须通过硬件(
TLB
/MMU)进行翻译。真的是这样吗??
浏览 7
提问于2016-04-15
得票数 20
回答已采纳
2
回答
内核空间和用户空间的管理页表条目(PTE)有什么不同?
在
Linux
操作系统中,启用页表后,内核将只映射一次属于内核空间的PTE,而不会再重新映射它们?此操作与用户空间中的PTE相反,每次发生进程切换时都需要重新映射。
浏览 3
提问于2013-05-24
得票数 1
2
回答
如何获取CR3值?
、
、
如何获取CR3值?有没有什么命令可以用来读取当前的CR3?
浏览 0
提问于2011-09-21
得票数 1
回答已采纳
1
回答
linux
中关于线程的混淆
我知道在线程和处理
linux
之间没有什么特别的区别,除了在线程切换期间保持cr3寄存器不变,在进程切换期间保持
tlb
刷新。由于groud中的线程共享相同的地址空间,并且没有改变
pgd
(页表),这意味着整个内存布局是共享的,因此堆栈空间也被共享,但根据通用定义线程拥有自己的堆栈,这在
linux
中是如何实现的。
浏览 1
提问于2011-06-14
得票数 0
1
回答
4级页表中VA到PA的转换是如何只需要4次内存访问的?
、
我正在学习页面表管理,并且我了解到VA to PA translation在一个4-level page table中接受4个内存访问(考虑到
TLB
在页面遍历缓存中丢失和丢失)。但是,由于
Linux
对PTW使用follow_page函数,这个函数在内部调用follow_page_mask。这将进一步调用p4d_offset、pud_offset、
pgd
_offset等。
浏览 0
提问于2021-08-15
得票数 0
回答已采纳
2
回答
在“分叉”进程的同时,为什么
Linux
内核要为每个新创建的进程复制内核页表的内容?
、
、
、
、
下面的讨论适用于32位ARM
Linux
内核。 do_fork -> copy_process --> copy_mm -> dup_mm --> mm_init --> mm
浏览 4
提问于2014-12-01
得票数 3
回答已采纳
2
回答
内核4.12,virtualbox VM无法工作
、
、
041200-genericERROR (dkms apport): kernel package
linux
-headers
浏览 0
提问于2017-07-05
得票数 3
1
回答
CR3值与
pgd
_t值的差异
、
、
、
、
我正在玩,并且尝试在安装了
Linux
的x86_64 CPU上手动执行页面表遍历。current->mm->
pgd
= 0x457ec6067当前->毫米->
pgd
似乎在运行期间保持不变.我遗漏了什么?编辑。"=m" (cr3) : "
浏览 1
提问于2019-03-03
得票数 4
回答已采纳
1
回答
设置PTE指向不同的物理页面-
Linux
内核
、
、
编辑:static pte_t *walk_page_table(struct mm_struct *mm, size_t addr)
pgd
_t *
pgd
; pte_t *ptep; struct vm_area_struct* vma = mm->mmap; if (
pgd
_none(*
浏览 5
提问于2015-04-13
得票数 4
1
回答
为什么我们要在每个上下文切换期间将
pgd
地址写入TTBR1 0/TTBR1 1?
、
在
Linux
内核代码中,为什么需要在每个上下文切换期间写入
pgd
(mm_struct->
pgd
_t)地址?
pgd
对每个过程都是独一无二的吗?
浏览 2
提问于2015-02-24
得票数 2
回答已采纳
1
回答
Linux
是否对页目录和页表使用自映射?
、
、
、
我之所以问这个问题,是因为我很好奇
Linux
内核是如何工作的。根据的说法,Windows在其页目录和页表中使用了名为self-map的特殊条目,以便能够操作来自内核虚拟地址空间的页目录/表内容。如果有人熟悉
Linux
内存管理,请告诉我
Linux
内核处理这个问题的方式是相似的还是不同的。谢谢。
浏览 1
提问于2011-03-11
得票数 3
回答已采纳
1
回答
Linux
页表
、
、
、
、
在
Linux
中,有一些函数,如
pgd
_offset、pmd_offset和pte_offset,用于对
pgd
、pmd和pte进行索引。谁叫这些功能?MMU是否使用这些函数来遍历页面表?我的理解是,
linux
内核为每个进程创建一个页面表,并将页面表的基本地址传递给页面表基寄存器,以便MMU能够访问它。之后MMU是如何读取页面表的?如果MMU是读取页面表的人,那么谁使用这些
pgd
_offset等函数?
浏览 2
提问于2016-09-24
得票数 0
2
回答
Arm64
Linux
页表遍历
、
、
、
、
我的开发环境是Juno r1板(CPU是A53和A57 ),它正在运行arm64
Linux
内核。我使用了一些典型的页面遍历代码,如下所示:{ pud_t *pud; if (
pgd
_none(*
pgd
) ||
pgd
_
浏览 2
提问于2017-03-22
得票数 5
回答已采纳
1
回答
linux
内核- pte_xxx() API不适用于模块编程。
、
、
、
我正在学习
linux
内存管理。但是当我使用pte_xxx() API时,出现了内核恐慌。pte_val(*pte)会引起内核恐慌。
pgd
_none(*
pgd
) && !
pgd
_bad(*
pgd
)) { pud_t *
浏览 4
提问于2016-12-09
得票数 1
回答已采纳
1
回答
EPT PTE与主机PTE条目的关系是什么?
、
、
、
我试图找出在
Linux
系统中EPT与主机PTEs之间的关系,以及X86主机中的虚拟化。 printk(KERN_ALERT "
pgd
is : %lx\n", (unsigned
浏览 1
提问于2019-04-09
得票数 2
回答已采纳
1
回答
为什么不在ARM
Linux
内核上为vmalloc填充页面错误中的PTE条目?
、
、
、
*
pgd
, *
pgd
_k;421 pmd_t *pmd, *pmd_k;423 if (addr= cpu_get_
pgd
() + index;436 437 if (
pgd
_none(*
pgd
_k
pgd
_present(*
pgd
浏览 0
提问于2012-06-17
得票数 1
2
回答
如何修补内核错误?
、
、
kernel NULL pointer dereference at (null)[38.378065]
PGD
121491067 PUD 121492067 PMD 0 这里是完整的日志
浏览 0
提问于2012-09-02
得票数 2
回答已采纳
1
回答
基于RPi 4 B型的泡菜Pic程序员
、
、
一些附加信息
Linux
raspberrypi 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022armv7l GNU/
Linux
No LSB modules are available.Distributor ID: RaspbianRelease:
浏览 4
提问于2022-04-22
得票数 1
点击加载更多
相关
资讯
TLBleed漏洞:通过探测TLB获取CPU秘钥
宋宝华:ARM64 Linux meltdown修复补丁KPTI的最重要3个patch
(纯Linux八股)
Linux 6.13内核修复AMD Zen1、Zen2启动延迟问题
也说Intel猜测执行的漏洞
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券