腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Linux
如何在x86-64中支持超过512 in的虚拟地址范围?
linux
、
linux-kernel
、
x86-64
、
mmu
Linux
的x86-64用户虚拟地址空间是47位长。这本质上意味着
Linux
可以映射大约128TB虚拟地址范围的
进程
。然而,让我困惑的是,x86-64架构支持ISA定义的
每个
进程
的4级分层
页
表
(排列为基数树)。
页
表
的根只能映射最多512 GB的连续虚拟地址空间。那么
Linux
如何支持超过512 So的虚拟地址范围呢?它是否
为
每个
进程
使用多个
页
<e
浏览 0
提问于2012-06-28
得票数 6
回答已采纳
2
回答
每个
进程
的
页
表
是否包含映射到内核地址空间的条目?
linux
、
kernel
在
Linux
中,
每个
进程
都有一个
页
表
,它将用户地址空间映射到物理
页
帧。如果是,则所有
进程
的
页
表
映射同一地址中的一个内核镜像。这意味着所有的
表
都包含相同的内核地址条目。是不是很浪费?
浏览 20
提问于2015-10-23
得票数 1
1
回答
是否可以在
linux
计算机上查看
页
表
c
、
linux
、
operating-system
最近我读到
页
表
是
每个
进程
的实体,我在想在
Linux
机器上查看特定
进程
的
页
表
是可能的吗?我读到在一些寄存器中有对
页
表
的引用?
浏览 3
提问于2014-04-03
得票数 0
2
回答
在“分叉”
进程
的同时,为什么
Linux
内核要为
每个
新创建的
进程
复制内核
页
表
的内容?
c
、
linux
、
memory-management
、
linux-kernel
、
arm
下面的讨论适用于32位ARM
Linux
内核。 我注意到在分叉过程中,
Linux
内核将内核
页
表
(母版
页
表
,即swapper_pg_dir) )的内容复制到
每个
新创建的
进程
的
页
表
中。为什么所有
进程
都不能共享内核
页
表
的一个副本(对于32位ARM
Linux
的higer 1G部件),而不能为
每个
新创建的
进程
共享一个交
浏览 4
提问于2014-12-01
得票数 3
回答已采纳
2
回答
Linux
内核线程如何使用上一次运行
进程
的内存描述符(Mm_struct)?
linux
、
linux-kernel
关于mm_struct和内核线程,在
Linux
kernel Development ( Robert Love)一书中提到的一些要点是:“由于内核线程在用户空间中没有任何页面,它们实际上不值得拥有自己的内存描述符和
页
表
(
页
表
将在本章后面讨论)。尽管如此,内核线程仍需要一些数据,例如
页
表
,甚至需要访问内核内存。”
浏览 3
提问于2014-12-17
得票数 3
1
回答
linux
中使用分页的最大
进程
数
linux
、
paging
我听说
linux
中的最大
进程
(任务)数是这样计算的然而,我很好奇,因为
页
表
不能被
页
出我是对还是错?
浏览 2
提问于2012-07-16
得票数 0
1
回答
我能用一个过程中的PTEs来表示物理记忆的片段,在另一个过程中创建合适的PTEs吗?
c
、
linux
、
memory-management
、
linux-kernel
、
posix
当我们在
Linux
中使用函数mmap (,,, MAP_ANON | MAP_SHARED);时,对于同一区域的物理内存(在
进程
之间分配的)是分配虚拟内存
页
(PTEs)。这些PTE从一个
进程
的
页
表
复制到另一个
进程
的
页
表
(具有相同的物理地址分配内存片段序列),这是真的吗? 但是mmap ()需要在fork ()之前完成。哪些函数用于在两个已经
建立
的
进程
之间复制PTE的机制以创建共享内存?我能用PTEs
浏览 1
提问于2013-12-01
得票数 1
5
回答
Linux
内核有自己的页面
表
吗?
linux
、
linux-kernel
、
virtual-memory
不同的
进程
对于其地址空间有不同的
页
表
。谢谢。 相关页面错误、页面替换和分页是发生在内核上还是仅发生在
进程
、内核空间还是用户空间?
浏览 0
提问于2018-10-15
得票数 4
2
回答
系统如何选择正确的
页
表
?
process
、
x86
、
computer-science
、
processor
、
computer-architecture
据我所知,当创建一个
进程
时,会
建立
一个
页
表
,它将虚拟地址映射到物理内存地址空间。
每个
进程
都有自己的
页
表
,存储在内核地址空间中。但是,MMU如何为
进程
选择正确的
页
表
,因为不仅有一个
进程
在运行,而且会发生许多上下文切换?最好的,西蒙
浏览 2
提问于2012-06-04
得票数 7
1
回答
Linux
内存映射
memory-management
、
linux-kernel
、
x86
关于
linux
内存管理,我有几个问题(假设x86 32位平台) 在许多情
浏览 3
提问于2013-08-29
得票数 2
1
回答
linux
分页,使用了大量的
页
表
目录
linux
、
paging
、
page-tables
我读了一本关于
Linux
虚拟内存的书Mel Gorman。我读到过,
Linux
支持3级
页
表
: PGD,PMD和PTE。如果我没有记错的话,在较新版本的内核中,有四个
页
表
级别: PUD,但这无关紧要。为什么
Linux
开发人员选择3(或4)级
页
表
而不是使用1级?只使用一个全局
页
表
(我指的是
每个
进程
的全局
页
表
)将减少内存引用的数量。
浏览 2
提问于2015-12-21
得票数 0
2
回答
如何让
进程
的每一
页
都在页面
表
中呈现?
c
、
kvm
我在
linux
上用gcc编译了一个静态程序,并在kvm下运行。我检查了来宾内存中该
进程
的
每个
页
表
条目,发现一些页面已经映射,而一些页面没有映射。这是按需分页的功能吗?我的问题是,是否有一个解决方案,使所有的pte存在并映射到
页
表
中?例如,我派生了一个新的
进程
并加载了一个新的elf二进制文件,如何使
每个
页面都映射到这个新
进程
的
页
表
中。谢谢
浏览 1
提问于2010-07-29
得票数 2
回答已采纳
1
回答
按叉划分的Redis延迟
redis
、
latency
我从这个链接中读到了下面的段落: 执行后台保存时,必须对此实例进行分叉,这将涉及分配和复制48 MB内
浏览 5
提问于2016-09-20
得票数 0
1
回答
Linux
操作系统如何维护页面
表
?
memory-management
、
operating-system
、
linux-kernel
是
每个
进程
还是
每个
系统的
页
表
?内核是否
为
所有
进程
维护整个单一共享
页
表
?
浏览 4
提问于2010-10-03
得票数 0
回答已采纳
1
回答
共享内存分页和分叉
linux
、
kernel
如果父
进程
与另一个
进程
共享一些页面,而我们派生了父
进程
。据我所知,孩子复制
页
表
,我们将页面设置
为
只读,并执行写入时复制。但如果我们写入共享内存
页
,这将创建一个共享内存
页
的副本,这是错误的。
Linux
内核如何避免这种情况?
浏览 1
提问于2012-11-16
得票数 4
回答已采纳
1
回答
为什么这个全局计数器在子
进程
中不递减?
c
、
process
、
fork
、
parent-child
在这个片段中,(除了第二位之外,忽略所有的printf),我期望counter在结尾时
为
1。首先输入else,counter仍然在1,我们wait(NULL)
为
child死亡。在if中,fork()创建了子级,但是作为fork() == 0,只有child将counter减少1。现在counter
为
0,child终止于exit(0)。等待结束了,child死了,parent打印了++counter,这个值应该是0+1= 1,但是突然变成2,而不是1!为何会这样
浏览 5
提问于2016-03-02
得票数 1
回答已采纳
3
回答
如何使用倒置的
页
表
节省空间?
memory-management
、
operating-system
如果我们使用倒排
页
表
将虚拟地址映射到物理地址,为什么我们要节省内存?例如,如果我们有两个
进程
,
每个
进程
都有4
页
,我们将在两个不同的
表
中有8个条目,从虚拟地址指向物理地址:[0] = 1[2] = 63[20] = 14[22] = 11如果我们使用倒置的页面
表
,我们将只有一个大的表格指向相反的方向。
浏览 31
提问于2012-05-27
得票数 4
2
回答
在
Linux
中转储
进程
的
页
表项
linux
、
linux-kernel
、
mmu
我想知道
Linux
(x86-64)中是否有任何实用程序/代码可以转储给定
进程
(用户)地址空间的
每个
页
表
条目? 谢谢
浏览 0
提问于2012-11-09
得票数 4
回答已采纳
1
回答
内核
页
表
是如何在所有
进程
之间共享的?
kernel
、
memory
、
virtual-memory
我试图更好地理解,比方说,x86,内核是如何映射到
每个
进程
地址空间的,这样就可以在所有
进程
和所有内核中更改内核地址映射。在具体示例中,假设内核地址0xC00004在
进程
A中发生的syscall过程中映射到页面框架1000。我的问题是:如何更新
进程
B和C的映射,这些映射可能在多个核上同时运行,对于当前未运行的
进程
也是如此?我假设必须有某种方法使所有
进程
“指向”/引用一组核心
页
表
,因此,对该核心位置的更新意味着对所有
进程
浏览 0
提问于2020-07-13
得票数 4
5
回答
如何查找或计算
Linux
进程
的
页
表
大小和其他内核记帐?
linux
、
memory
、
process
、
operating-system
如何才能知道
Linux
进程
的
页
表
有多大,以及其他任何可变大小的
进程
记帐?
浏览 0
提问于2009-05-12
得票数 7
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
一篇读懂Linux 是如何管理内存的
操作系统--虚拟内存
黑客基础:操作系统怎么管理内存的?非连续分配管理是什么?
从进程栈内存底层原理到Segmentation fault报错
新的“Turning Tables”技术绕过所有Windows内核保护措施
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券