怎样在Linux下读取物理内存

chenzhenbest 2003-07-25 11:15:35
怎样在Linux下读取物理内存,类似于Dos下的peek()函数。谢谢!
...全文
275 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
linux1028 2003-08-02
  • 打赏
  • 举报
回复
up
joyfire 2003-07-31
  • 打赏
  • 举报
回复
如果你在核心态编程(也就是实际上你对linux操作系统内核进行操作)

就不用线性地址,直接使用物理内存

不过像DOS这样的单一空间操作系统很有利于学习操作系统和体系结构的基本概念的

记得自己就是在DOS下写了个键盘驱动和读写FCD的程序以后才理解驱动程序的基本概念的
wollya 2003-07-31
  • 打赏
  • 举报
回复
使用root权限,读写/dev/mem
你把系统读写崩溃,欧概不负责,哈哈
blh 2003-07-30
  • 打赏
  • 举报
回复
使用root权限,读写/dev/mem
你把系统读写崩溃,欧概不负责,活活
CoolQ 2003-07-30
  • 打赏
  • 举报
回复
>>不过“冬之寒”提到的第一种建议不失为一种方法!
什么意思?你的peek()不是指任意地址的物理内存的内容么?
冬之寒的方法只能得到内存使用状况的一些信息罢了!!
chenzhenbest 2003-07-30
  • 打赏
  • 举报
回复
没关系!不过“冬之寒”提到的第一种建议不失为一种方法!
CoolQ 2003-07-25
  • 打赏
  • 举报
回复
sunzm(冬之寒)真是答非所问
Linux下系统是保护模式下的系统,你在用户态的访问都是基于线性地址的,也就是说经过地址变换的,不可能直接访问物理内存的。DOS是实模式的,所以可以直接访问任意的物理内存。我看楼主还是对现代操作系统不是很了解阿。
sunzm 2003-07-25
  • 打赏
  • 举报
回复
有两种方法,一种是直接读 /proc/meminfo文件,里面有详细的内容
另一钟方法,请详细看一下sysconf函数

pgsz = sysconf( _SC_PAGE_SIZE );//页的大小
ttlmem = sysconf( _SC_PHYS_PAGES );//物理内存的页数
二者相乘,得到总字节数

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧