腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
我可以写保护
Linux
进程
地址
空间
中的每一页吗?
linux
、
segmentation-fault
、
signal-handling
、
mprotect
我想知道是否有一种方法可以对
Linux
进程
地址
空间
中的每一页进行写保护(通过mprotect()
从
进程内部)。我所说的“每一页”实际上是指在用户模式下运行的普通程序可能写入的进程
地址
空间
的每一页--程序文本、常量、全局变量和堆--但我只使用常量、全局变量和堆即可。我不想写保护堆栈--这似乎不是一个好主意。一个问题是我不知道
从
哪里
开始
写保护内存。查看/proc/pid/maps,它显示了给定pid正在使用的
浏览 4
提问于2010-08-10
得票数 5
回答已采纳
1
回答
ARM
Linux
如何维护段?
linux
、
linux-kernel
Linux
通过MMU将平面虚拟
地址
转换为物理
地址
。在
Linux
的虚拟
地址
空间
中,有许多类型的段: 感谢你的帮助。
浏览 1
提问于2015-07-23
得票数 0
回答已采纳
1
回答
Linux
中的全局还是局部线性
地址
空间
?
linux
、
memory-management
、
address-space
在
linux
中,因为段的基数都是0,所以逻辑
地址
与线性
地址
一致(“理解
linux
内核”一书)。我认为不同进程的逻辑
地址
可能是相同的,所以不同进程的线性
地址
可能是相同的,每个进程视图4 4GB,每个进程将有自己的线性
地址
空间
(本地
地址
空间
)。但其他一些文章指出,所有进程共享一个大的线性
地址
空间
,并使用分段机制将不同的进程映射到线性
地址
空间
的不同部分
浏览 7
提问于2012-07-28
得票数 3
回答已采纳
2
回答
Linux
x86:在受保护的内核模式中映射到的真正模式
地址
空间
在
哪里
?
linux
、
assembly
、
linux-kernel
、
x86
、
mmu
在运行在x86平台上的
Linux
中,以受保护的内核模式映射到的真实模式
地址
空间
在
哪里
?在内核模式下,线程可以直接访问内核
地址
空间
。内核位于较低的8MB,页面表位于某个位置,等等(如描述)。但是真正的模式
地址
空间
在
哪里
呢?它可以直接访问吗?例如,BIOS和BIOS加载项(参见)?
浏览 13
提问于2015-03-29
得票数 2
回答已采纳
1
回答
Syscalls:用户是如何将数据传递/接收到内核的?
kernel
、
system-calls
在前面的几个问题(下面的链接)中已经讨论了用户和内核虚拟
地址
之间的关系,但据我所知,用户进程不能读写内核
地址
。是通过记忆吗?如果是的话,内存布局在
哪里
?相关问题:所有进程的虚拟
地址
空间
是否在它们的“内核”部分中都有相同的内容? 📷
浏览 0
提问于2020-07-07
得票数 1
回答已采纳
2
回答
TLB中的内核内存(虚拟
地址
条目)?
linux
、
memory-management
、
hardware
、
kernel
、
tlb
Linux
是操作系统,ARM是这个上下文中提到的处理器。内核内存(虚拟)直接对应于物理内存(只需用0xC000_0000进行偏移就可以给出物理
地址
)。在TLB中是否需要有内核内存(虚拟)(如果你说它在TLB中)?它应该只有当前的用户
空间
地址
浏览 4
提问于2011-12-12
得票数 8
3
回答
编译器如何在内存中部署代码?
memory
、
assembly
、
compiler-construction
、
operating-system
、
virtual-memory
编译器是否只是假设自己有一个
从
地址
0到
地址
无穷大的完整内存区域?然后
开始
分配东西?那么虚拟内存是如何工作的呢?
浏览 2
提问于2013-09-30
得票数 11
回答已采纳
1
回答
Linux
VAS管理
kernel
在
Linux
内核中,在虚拟
地址
空间
(vas)之间交替的代码行在
哪里
?我知道
Linux
用struct mm_struct来描述vas,但是找不到实际的代码。
浏览 4
提问于2011-09-22
得票数 0
回答已采纳
2
回答
为什么munmap需要一个长度作为参数?
linux
、
kernel
、
mmap
我在想,为什么映射内存的大小应该是一个传入的参数,既然
从
同一个
地址
开始
的映射不能超过一个(可以吗?),为什么
linux
内核不能同时记录起始
地址
和长度,而是让用户
空间
程序记住它们。我的意思是,为什么不是,只是使用起始
地址
作为主键来存储信息树。
浏览 1
提问于2012-08-22
得票数 12
回答已采纳
1
回答
用于分配自定义内存
地址
的mmap和MAP_FIXED错误
memory-management
、
segmentation-fault
、
mmap
= 345; std::cout << memptr << std::endl; 给出一个分割错误(在
Linux
0x7fffee5ce2d0-------------------------0x7f4f506ab0000x7f4f506ab000 但我希望memptr指向
从
p指向的位置
开始
的分配内存区域(请参见mmap调用)。
浏览 2
提问于2014-07-16
得票数 1
回答已采纳
2
回答
共享内存分配到
哪里
?
unix
在
Linux
中,当我们使用共享内存在2个或更多进程之间共享数据时,共享内存分配到
哪里
?有人能澄清一下吗?
浏览 4
提问于2010-10-14
得票数 3
1
回答
装配段重叠计算
assembly
、
x86-16
、
segment
、
real-mode
、
memory-segmentation
在汇编程序中,知道我的所有段的值以及它们
从
哪里
开始
,我如何知道它们是否相互重叠? 例如,在映像中,我有逻辑
地址
的值。是否每个段都有一个预定义的
空间
?还是不想?有多大的
空间
?
浏览 7
提问于2020-06-02
得票数 1
1
回答
什么是内核内存和用户内存?(有关术语内核页和页缓存的问题)
memory
、
vfs
今天,我已经阅读了一些关于文件系统(http://tekrants.me/2014/07/14/
linux
-file-system-write/)的文档。并在本文中多次提到内核页这个术语。我知道内核和用户以及用户之间的
地址
空间
是不同的。虚拟到物理映射是相互独立的。内存映射到内核
地址
空间
是否不能映射到任何用户
地址
空间
? 而且,对于我前面提到的文章,它主要讨论了页面缓存的使用。因此,当要求操作系统将一些数
浏览 0
提问于2015-05-14
得票数 1
回答已采纳
1
回答
Linux
3/1拆分与物理映射
linux
、
linux-kernel
、
memory
我试图理解
Linux
3/1拆分(或2/2,1/3,任意)以及如何映射到物理内存。让我们假设x86。用户
空间
的所有内存都去
哪里
了?高内存是用户
空间
程序可以处理的内存段.它不能触摸低内存。低内存是
Linux
内核可以直
浏览 0
提问于2019-02-12
得票数 3
回答已采纳
1
回答
在
Linux
内核中分配用户
空间
内存
c
、
linux
、
memory
、
kernel
这允许
从
内核
空间
分配用户
空间
内存吗?我知道
Linux
中的进程使用虚拟内存和虚拟
地址
。此外,还存在一种不能允许使用不同进程的内存的保护(这会引起分段故障)。因此,没有办法分配缓冲区并将指向它的有效指针返回到用户
空间
进程?
浏览 1
提问于2021-08-30
得票数 0
回答已采纳
1
回答
使用户
空间
文本段
从
0x8048000
开始
的理由
linux
、
process
、
memory
、
virtual-memory
、
elf
我在某个地方读到(至少在
Linux
2.6版之后),所有用户
空间
代码都放在虚拟内存
地址
空间
中的load
地址
0x8048000。cat /proc/......../maps此外,C库、启动代码和所有其他运行时功能似乎都是在这个默认值之后映射的。这构成了几乎128 M的
地址
空间
,考虑到
浏览 0
提问于2012-06-25
得票数 4
回答已采纳
1
回答
如何区分WebHosting
空间
和电子邮件托管
空间
web-hosting
、
vps
他们也可以在他们的帐户中创建电子邮件
地址
,但电子邮件
地址
的容量将与网站的
空间
共享。那么它叫什么,
从
哪里
开始
呢?
浏览 0
提问于2011-06-05
得票数 1
1
回答
4GB/4GB内核VM拆分
linux
、
memory
、
virtual
、
kernel
朋友, 实际上,内核的1GB虚拟
空间
被映射到每个进程的虚拟
地址
空间<
浏览 3
提问于2011-08-04
得票数 5
回答已采纳
2
回答
指针的
地址
将存储在
哪里
?
c
、
memory-management
、
virtual-memory
我在学习虚拟内存和自由
空间
管理。假设返回mem的4008
地址
。
从
4008到4022
开始
。这块在堆里。但4008本身在
哪里
呢? 它储存在堆栈里吗?
浏览 1
提问于2019-01-04
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux 从自助开始
编程之旅从哪里开始?
我想要学习编程,该从哪里开始?
企业智能化改革应该从哪里开始?
安全的优先级-你会从哪里开始?
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券