在受内存保护的OS中读取内存

时间:2016-03-07 03:59:28

标签: memory operating-system

现代操作系统和CPU硬件提供内存保护,防止进程访问除分配给进程的内存以外的内存。

鉴于此,如何编写像Windows资源管理器这样的实用程序来报告有多少内存可用,正在使用,保留等等;或基本的内存转储实用程序等?通过使这样的程序成为具有内核权限的操作系统的一部分,这是在这样的系统上执行此操作的唯一方法吗?

有些操作系统API可以允许访问另一个进程的内存。但即使您使用这些,您的内存读取程序仍然需要特权。是否通过操作系统找出内存和CPU寄存器的内容?

情况与磁盘监控程序类似吗?

2 个答案:

答案 0 :(得分:0)

内存是一堆单独标记的内存位置,可以是1或0,高或低,开或关。这些都是比特。 使用这些位需要一定的电流,将它们打开或关闭,所以也许你可以读出内存使用了多少电流,找到设置基准的最小值和最大值,并查看内存使用量是多少电流不一。

用软件完成这项任务是非常重要的。它位于内核级别甚至上游。

使用磁盘监视系统,计算来自和将要的实际位数。

答案 1 :(得分:0)

  

鉴于此,如何编写像Windows资源管理器这样的实用程序来报告有多少内存可用,正在使用,保留等等;或基本的内存转储实用程序等?

此类应用程序调用操作系统中的系统服务来获取此类数据。这些可以是文件记录的,也可以是未记录的。