Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 计算机如何跟踪Ram?_Memory_Ram - Fatal编程技术网

Memory 计算机如何跟踪Ram?

Memory 计算机如何跟踪Ram?,memory,ram,Memory,Ram,因此,我知道操作系统必须控制为应用程序提供一定数量的Ram。但我很好奇,它如何知道该应用程序需要付出多少,以及它如何知道该应用程序正在使用多少?比如谁和什么在跟踪使用情况?它如何知道哪个内存是安全使用的?我假设为关键系统保留了一些内存。我必须承认我对操作系统不太了解 操作系统将内存划分为“页面”。它们的大小通常为4KB 操作系统在表中跟踪这些页面。通过计算它们,我们可以确定有多少内存被使用或空闲 Userland程序通过系统调用请求内存。它取决于系统,并且mmap()用于Linux。这将要求操作

因此,我知道操作系统必须控制为应用程序提供一定数量的Ram。但我很好奇,它如何知道该应用程序需要付出多少,以及它如何知道该应用程序正在使用多少?比如谁和什么在跟踪使用情况?它如何知道哪个内存是安全使用的?我假设为关键系统保留了一些内存。我必须承认我对操作系统不太了解

操作系统将内存划分为“页面”。它们的大小通常为4KB

操作系统在表中跟踪这些页面。通过计算它们,我们可以确定有多少内存被使用或空闲

Userland程序通过系统调用请求内存。它取决于系统,并且
mmap()
用于Linux。这将要求操作系统提供一个空页面供程序使用。释放内存基本上是相反的