社区
C语言
帖子详情
【如何设置某个内存位只读,只限制某个地址,而不是一页】
piaochen_2002
2010-11-07 03:11:14
标准c中有mprotect可以设置,但是是分页的,每次都设置为一个页面的大小。
希望高手可以解答,需要附代码,c以及汇编皆可。
...全文
563
3
打赏
收藏
【如何设置某个内存位只读,只限制某个地址,而不是一页】
标准c中有mprotect可以设置,但是是分页的,每次都设置为一个页面的大小。 希望高手可以解答,需要附代码,c以及汇编皆可。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chongerfeia
2010-11-09
打赏
举报
回复
对头,看看386以上的保护模式下的分段分页机制,就明白了
[Quote=引用 1 楼 truelance 的回复:]
只能按页设置。这是CPU决定的。
[/Quote]
熊熊大叔
2010-11-07
打赏
举报
回复
之所以只能按页设置,是因为内存的属性如果能被程序设置,也是要保存在内存中。假设一页内存的属性要占一个字节,每页4k的话,4G内存中就要有1M拿出来保存内存页的属性。
如果每个内存位都能设置的,那么4G内存就只好都拿来保存属性用,就没有内存用于程序运行和保存数据了。
熊熊大叔
2010-11-07
打赏
举报
回复
只能按页设置。这是CPU决定的。
13.
内存
位
宽及编址寻址
13.1.什么是
内存
13.2.
内存
的编程模型 13.3.
位
和字节及字和半字 13.4.
内存
位
宽 13.5.
内存
编址方法 13.6.
内存
编址以字节为单
位
13.7.
内存
和数据类型的关系 13.8.
内存
对齐
设置
内存
只读
linux内核,linux内核如何管理
内存
在分析了进程的虚拟
地址
布局,我们转向内核以及他管理用户
内存
的机制。下图是gonzo的例子:Linux进程在内核中是由task_struct进程描述符实现 的,task_struct的mm字段指向
内存
描述符mm_struct,他是进程的一个
内存
执行摘要。如上图所示,mm_struct存储了
内存
各个段 的开始和结束
地址
、进程所使用的
内存
页面数(rss代表常驻集合大小)、使用的虚拟
地址
空间总数等等。在内...
内存
管理之:页和页框&
地址
变换结构
一、基本概念 1、页和页框的区别 划重点::逻辑
地址
空间分为若干页;物理
内存
空间分为若干页框(也叫作块) 页 分页存储管理是将作业的逻辑
地址
划分为一系列同等大小的部分,称为页。 并为各页加以编号,每个作业的页的编号都是从0开始的。 页框 与之类似,把可用的物理
内存
也划分为同样大小的连续的部分,称为块或页框。同样为块也进行标号,从0#开始。...
访问
地址
指向本机
地址
_如何判定一段
内存
地址
是不可访问的?
地址
保护对于虚拟
地址
,我们知道并不是所有的
地址
都是可以访问的,一般分成可读,可写,可执行以及这几种的组合,或者不可访问。违反这个规定进行
内存
访问,会导致程序崩溃退出,情况相当严重。我们先从如何
设置
内存
的保护
位
说起。mmap 分配虚拟
地址
空间mmap 非常强大,可以实现很多功能。我们这里只关注其分配虚拟
地址
空间的特性。mmap 调用的声明如下:void *mmap(void *addr, size_...
x86架构32
位
Linux系统下进程虚拟
地址
空间划分
本文详细讲解了 x86 32
位
Linux系统下进程虚拟
地址
空间划分
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章