在 Linux 上。
你好。我敢肯定有很多因素涉及操作系统只是垃圾转储分配给 memset() 的内存而不调用 free(),但我想知道是否有人对此有很好的估计?这就是我想知道的。
linux 中有一个叫做 KSM 的功能,它通过组合匹配的数据来节省内存空间。我的问题围绕着通过检查数据的写入时间来检测 KSM 是否正常工作。我已经在一台机器上成功地测试了这个,同时在一个程序中运行所有东西。现在我想上传到内存,关闭程序,然后打开另一个程序并测试内存重复。
谢谢!
-泰勒
在 Linux 上。
你好。我敢肯定有很多因素涉及操作系统只是垃圾转储分配给 memset() 的内存而不调用 free(),但我想知道是否有人对此有很好的估计?这就是我想知道的。
linux 中有一个叫做 KSM 的功能,它通过组合匹配的数据来节省内存空间。我的问题围绕着通过检查数据的写入时间来检测 KSM 是否正常工作。我已经在一台机器上成功地测试了这个,同时在一个程序中运行所有东西。现在我想上传到内存,关闭程序,然后打开另一个程序并测试内存重复。
谢谢!
-泰勒
让我们谈谈抽象:
AC 程序员为“C 抽象机”编写软件。这与任何真正的硬件无关。
“C 抽象机”被转换成在某种“进程”抽象中运行的东西(例如可执行文件)。这种“进程”抽象与任何真正的硬件无关(它使用“线程”而不是真正的 CPU、“虚拟内存”而不是真正的 RAM、“文件”而不是真正的磁盘空间……)。
操作系统在机器之上创建“进程”抽象。对于 KSM(操作系统在虚拟机中运行),这种“虚拟机”抽象与任何真实硬件无关。
现在; 让我们将“抽象”定义为旨在保护人们免受现实影响的故意谎言(我们也将“安全漏洞”定义为谎言中的缺陷)。
在任何时间点确定“C 抽象机中的内存”与实际物理资源(RAM 芯片、磁盘空间等)之间的关系;您需要突破至少 3 个故意设计的障碍,以防止您了解这段关系。