腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
内核
API以获得
物理
RAM偏移量
、
、
我正在编写一个设备驱动程序(用于
Linux
内核
2.6.x),它使用
物理
地址直接与
物理
RAM交互。对于我的设备的
内存
布局
(根据cat /proc/iomem的输出),系统RAM从
物理
地址0x80000000开始;但是,这段代码可能运行在具有不同
内存
布局
的其他设备上,因此我不想使用抵消
内存
的硬代码。是否有一个函数、宏或常量,可以在设备驱动程序中使用,给出系统RAM的第一个字节的
物理
地
浏览 3
提问于2017-04-03
得票数 0
回答已采纳
2
回答
android dex文件的
内存
布局
、
、
在这种情况下,dex文件的
内存
布局
会是什么样子?在一个典型的C程序中,它的
内存
布局
是数据、文本、堆和堆栈的形式。这对于dex文件也是一样的吗?如果是这样,Dalvik虚拟机是如何处理这些文件的呢?
浏览 8
提问于2017-05-23
得票数 1
1
回答
所有进程的虚拟地址空间是否在它们的“
内核
”部分中都有相同的内容?
、
、
Linux
编程接口显示了进程的虚拟地址空间的
布局
:在每个进程的虚拟地址空间中,
物理
内存
中的
内核
是否完全或部分映射到顶部的“
内核
”部分(从0xC0000000到0XFFFFFFF)?如果部分地,
物理
内存
中的
内核
的哪一部分被映射到每个进程的虚拟地址空间中的“
内核
”部分,而哪一部分不是?进程虚拟地址空间中的“
内核
”部分是否准确地存储了进程在
内核
模式下运行时可以访问的
内核</
浏览 0
提问于2018-09-14
得票数 11
回答已采纳
1
回答
关于
内核
虚拟地址
布局
的问题
、
、
在x86和x64系统中,关于
内核
的虚拟地址
布局
有两个问题。 据我所知,x86使用的是高
内存
和低
内存
布局
。另外,lowmem包含
内核
程序经常访问的代码和数据,highmem包含不经常访问的页面表或用户级程序数据。但是,我无法理解为什么x86
内核
会分割虚拟地址空间,并将频繁访问的数据和代码定位到较低的位置。它的优点是什么?似乎无论
内核
内存
的位置如何,都应该调用页表遍历来获得虚拟到
物理
映射。这里,我的第一个问题是,如果lo
浏览 0
提问于2017-04-07
得票数 0
回答已采纳
1
回答
UEFI引导
内核
:静态
物理
内存
布局
、
、
UEFI规范似乎相当复杂,而且有一件事正在从我身边溜走,那就是如果有可能有一个静态(编译时定义的)
物理
内存
布局
,那么我的
内核
就有了合理数量的
物理
内存
可用,同时也保留了UEFI使用的区域。,是因为设备和BIOS使用的所有“神奇”
内存
都位于
物理
范围[0x00000000; 0x000FFFFF]内。我希望在UEFI引导的
内核
中有一个类似的简单
内存
布局
;然而,这似乎不是一件简单的事情。问题是: 看起来
浏览 1
提问于2018-10-03
得票数 2
回答已采纳
1
回答
Linux
3/1拆分与
物理
映射
、
、
我试图理解
Linux
3/1拆分(或2/2,1/3,任意)以及如何映射到
物理
内存
。让我们假设x86。用户空间的所有
内存
都去哪里了? 从TLDP中我了解到底层的
物理
1GiB总是用于
内核
(为什么?)。当虚拟地址空间小于
物理
地址空间时,使用高
内存
(通过这个职位),因为
内存
很多,否则会浪费(对吗?)低
内存
是
Linux
内核
可以直接寻址的
内存
段。
浏览 0
提问于2019-02-12
得票数 3
回答已采纳
1
回答
如何在
linux
内核
中使用连续
内存
?
、
我发现
物理
内存
被分成如下几个列(
内存
交错):在我的课程作业中,我一直在研究
linux
内核
源代码。在创建sysfs (/sys/devices
浏览 0
提问于2013-10-27
得票数 6
1
回答
内核
数据的
物理
存储
、
、
、
我对
Linux
内核
数据的
物理
存储有一些疑问,我知道每个进程的虚拟
内存
的上1GB指向相同的
物理
位置,但是 这部分数据在
物理
媒体中必须像在虚拟
内存
中一样相互连接吗?
内核
数据只需要1GB的
物理
内存
吗?可以将
内核
数据的某些页面交换到磁盘(例如页表、页全局目录总是在
物理
内存
中,并且不能像我理解的那样交换到磁盘)。
浏览 1
提问于2011-09-09
得票数 0
回答已采纳
1
回答
写到HW控制器的寄存器和DMA是如何在ARM arch机上工作的?
、
、
、
、
调用此函数时:{}
浏览 2
提问于2012-11-06
得票数 0
回答已采纳
1
回答
Linux
内核
内存
布局
我在一台64位的x86
Linux
计算机上工作。 在这种体系结构上,每个进程都有自己的64位地址存储空间。
内存
块由MMU组件映射到
物理
内存
(或交换)。 现在,我想知道
内核
内存
是如何工作的。如果我用下面的代码编写
linux
内核
模块: char * address;*address = 0x42; 此0x42将写入何处?直接在
物理
内存
中?还是说
linux
浏览 25
提问于2019-04-01
得票数 1
1
回答
Linux
页面表管理与MMU
、
、
、
我有一个关于
linux
内核
和MMU之间的关系的问题。现在我明白了,
linux
内核
管理虚拟
内存
地址和
物理
内存
地址之间的页表。同时,在x86体系结构中存在MMU,它管理虚拟
内存
地址和
物理
内存
地址之间的页表。如果MMU出现在CPU附近,
内核
还需要处理页面表吗?这个问题可能很愚蠢,但另一个问题是,如果MMU负责
内存
空间,谁来管理高
内存
和低
内存
?我相信<e
浏览 3
提问于2014-09-24
得票数 10
回答已采纳
5
回答
linux
内核
如何管理小于1GB的
物理
内存
?
、
、
、
、
我正在学习
linux
内核
的内部结构,在阅读“理解
Linux
内核
”时,一些与
内存
相关的问题给我留下了深刻的印象。其中之一是,如果在我的系统上安装了512 MB的
物理
内存
,
Linux
内核
将如何处理
内存
映射。正如我所读的,
内核
将0(或16) MB-896 MB
物理
RAM映射到0xC0000000线性地址,并可以直接寻址它。在所描述的方案中,
内核
设置了每个进程的页表,以便
浏览 11
提问于2010-12-24
得票数 52
回答已采纳
2
回答
64位
linux
进程的虚拟
内存
内核
部分是什么?
、
、
、
、
我遇到了这个问题:
内核
内存
映射包括所有
物理
内存
的直接映射,因此
内存
中的所有内容都出现在那里;它还包括
内核
、模块等的单独映射,因此包含
内核
的
物理
地址至少出现在两个不同的映射中。 这是真的吗?我找不到这方面的任何源或引用,为什么它会包含整个
物理
内存
的映射,然后又有一个单独的
内核
浏览 0
提问于2019-04-16
得票数 1
回答已采纳
1
回答
32位
linux
内核
空间的
布局
是什么?
、
、
、
、
根据Documentation/x86/x86_64/mm.txt,在64位
linux
中
内核
空间的
布局
应该是这样的: 16 ffffffffa0000000 - fffffffffff00000 (=1536 MB) module mapping space 但是,32位
linux
中的
内核
空间
布局
是什么样的呢?我能找到什么关于ZON
浏览 0
提问于2016-12-05
得票数 4
回答已采纳
1
回答
为什么kmalloc()比vmalloc()更高效?
、
、
、
、
我认为kmalloc()在
内核
中分配连续的
物理
页面,因为虚拟
内存
空间直接映射到
物理
内存
空间,只需添加一个偏移量。#de
浏览 3
提问于2016-11-30
得票数 1
1
回答
具有
物理
内存
的
linux
内核
逻辑
内存
分配
、
我正在阅读关于
linux
内核
逻辑/虚拟地址和高/低
内存
的文章。据我所知,
内核
逻辑空间是直接映射到
物理
内存
的
内存
的一部分。例如,在具有小
内存
的32位系统上(例如512 MB ),虚拟空间3GB ~ 3GB +512 MB是连续映射到所有512 MB
物理
内存
的
内核
逻辑空间1:1 (在本例中没有高
内存
)。我的困惑是:这是否意味着
内核
拥有全部512 M
浏览 3
提问于2022-03-01
得票数 0
6
回答
在
Linux
内核
中,virt_to_phys和CPU的MMU之间有什么关系?
、
、
、
、
我正在阅读关于
Linux
内存
管理的文章。我知道
Linux
内核
负责创建和维护页表,但使用CPU的
内存
管理单元(MMU)将进程的虚拟
内存
访问转换为相应的
物理
内存
访问。但是,我也知道
内核
可以使用它的一些函数来管理
内存
,如virt_to_phys()、virt_to_page()、__pa()、.static inline unsigned long virt_to_phys(volatile void *address
浏览 20
提问于2015-04-17
得票数 15
回答已采纳
1
回答
DMA分配的
内存
掩蔽
物理
地址有效吗?
、
、
、
、
我目前正在编写一个
Linux
内核
驱动程序,它需要告诉FPGA一个要写入的RAM基址。FPGA是一个带有嵌入式ARM Cortex-A9的旋风V,一个带有驱动程序的嵌入式
Linux
正在运行。现在的问题是,FPGA结构只产生一个27位宽的总线来寻址sdram,而由dma调用生成的
物理
地址有32位,
浏览 2
提问于2017-09-25
得票数 1
回答已采纳
2
回答
内核
虚拟
内存
空间与进程虚拟
内存
空间
、
、
、
我在阅读第9.7.2章:
Linux
虚拟
内存
系统(第三版)中关于虚拟
内存
的教科书:计算机系统--程序员的观点。我对
linux
进程的虚拟
内存
结构感到有点困惑,如下所示:我的问题是:
内核
虚拟
内存
是否为
内核
运行保留,而虚拟
内存
的其余部分是否为用户进程保留?
内核
代码和数据是做什么的?
内核
虚拟
内存
中的
物理
内存
是什么?
浏览 6
提问于2020-02-05
得票数 2
回答已采纳
2
回答
在不使用ioremap或mmap的情况下写入
linux
内核
中的可缓存
物理
地址
、
、
我正在更改
linux
内核
调度程序,以便在已知的
物理
内存
位置打印下一个进程的pid。mmap用于用户空间程序,而我读到ioremap将页面标记为不可缓存,这会减慢程序的执行速度。我想要一种快速写入已知
物理
内存
的方法。phys_to_virt是我认为可行的选择。任何不同技术的想法。 PS:我在qemu上运行这个
linux
内核
。qemu将使用
物理
地址来读取来宾
内核
发送的信息。编辑:我希望pid的
物理
地址位
浏览 4
提问于2012-02-08
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux 内核将弃用并删除 SLOB 内存分配器
Linux内核解读
内存占用减少3.7%,开发者发布补丁集减少编译Linux内核时的最大内存
物理内存和虚拟内存区别
[务必收藏] Linux用户空间和内核空间所有15种内存分配方法总结
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券