【发布时间】:2013-03-19 23:27:38
【问题描述】:
首先对我下面的草率图表感到抱歉。
我想了解 malloc() 背后的逻辑。这是在彭博采访中被问到的。
Que:考虑你的操作系统中只剩下 2 个字节的内存(如下所示)。现在如果我 malloc() 它为 2 个字节。(白色区域表示字节的可用空间,黑色区域表示可用空间以字节为单位表示已用空间。所以我们有 2 字节的空闲空间和 2 字节的已用内存空间)。
- malloc() 有什么作用?
- 操作系统在这种情况下会做什么?
- malloc() 是否会成功,它会返回 2 个字节吗?说是或不是 有解释。
P.S:- 我查了谷歌,发现它主要依赖于操作系统。但我想对此有更多的了解。
谢谢!
【问题讨论】:
-
操作系统通常以页为单位为进程分配内存区域,因此不太可能只剩下 2 个字节......
-
我的回答是一样的,但我猜他对此并不完全同意。
-
那么这里很难知道该建议什么!要么你的面试官很奇怪,要么你记错了问题......
-
我没记错这个问题。但我猜他正在寻找更多关于逻辑的解释。这就是为什么我在这里发布它以了解它。