操作系统内存分配

问题描述 投票:0回答:1

操作系统如何给进程分配内存? 我的意思是,例如在 unix 系列中,操作系统是否使用 malloc 函数进行此分配?

内存调度程序是否使用 malloc 函数? 在操作系统中执行此分配的例程是什么? 谢谢你

operating-system dynamic-memory-allocation
1个回答
0
投票

如果操作系统使用

malloc
,那就有点先有鸡还是先有蛋的问题了,因为
malloc
一般都要使用操作系统来获取内存(除非
malloc
可以复用你之前
free
的内存。

此外,

malloc
适用于字节粒度。每个现代操作系统都使用由页面组成的“虚拟内存”。典型的一页为 4 kB,而不是 1 个字节。实际页面大小取决于 CPU 支持。

操作系统中使用的例程是操作系统特定的、操作系统内部的,与应用程序员无关。您“可能”需要知道的唯一一件事是如何询问操作系统 - 但通常您不会直接针对操作系统进行编程。您的语言运行时将为您处理这个问题(再次参见 malloc)。

    

© www.soinside.com 2019 - 2024. All rights reserved.