计算机如何跟踪 Ram?
How does a computer keep track of Ram?
所以我知道操作系统必须控制为应用程序提供一定数量的 Ram。但我很好奇它怎么知道要给应用程序多少,又怎么知道所述应用程序使用了多少?比如谁和什么在跟踪该使用情况?它如何知道哪个内存可以安全使用?我假设一些内存是为关键系统保留的。我必须承认我对操作系统了解不多。
操作系统将内存分成"pages"。它们的大小通常为 4KB。
操作系统在 table 中跟踪这些页面。通过计算它们,我们可以确定有多少内存已用或空闲。
用户空间程序通过系统调用请求内存。视系统而定,mmap()
用于Linux。这将请求 OS 提供一个空白页面供程序使用。释放内存基本上是反过来的
所以我知道操作系统必须控制为应用程序提供一定数量的 Ram。但我很好奇它怎么知道要给应用程序多少,又怎么知道所述应用程序使用了多少?比如谁和什么在跟踪该使用情况?它如何知道哪个内存可以安全使用?我假设一些内存是为关键系统保留的。我必须承认我对操作系统了解不多。
操作系统将内存分成"pages"。它们的大小通常为 4KB。
操作系统在 table 中跟踪这些页面。通过计算它们,我们可以确定有多少内存已用或空闲。
用户空间程序通过系统调用请求内存。视系统而定,mmap()
用于Linux。这将请求 OS 提供一个空白页面供程序使用。释放内存基本上是反过来的