所以我知道操作系统必须控制给应用程序一定数量的Ram。但我很好奇它是如何知道应用程序有多少,以及它如何知道所述应用程序使用了多少?喜欢谁和什么跟踪这种用法?它如何知道哪个内存可以安全使用?我假设某些内存是为关键系统保留的。我必须承认,我对操作系统知之甚少。
答案 0 :(得分:1)
操作系统将内存分为“页面”。它们的大小通常为4KB。
操作系统会跟踪表格中的这些页面。通过计算它们,我们可以确定使用或释放多少内存。
Userland程序通过系统调用请求内存。这取决于系统,mmap()
用于Linux。这将要求操作系统提供一个空页面用于该程序。释放内存基本上是相反的。