память, выделенная malloc, может занимать несколько страниц, и эти страницы не обязательно расположены рядом друг с другом, это правильно?
Да, физически они не гарантируются смежными, но, по крайней мере, в виртуальном адресном пространстве процесса они будут выглядеть.
В пользовательском пространстве вам редко приходится думать о физической памяти и смежных страницах.
Это правильно.
Физически непрерывная память имеет значение только для прямого доступа к памяти, и вам все равно, потому что вы не находитесь в пространстве ядра.
Это будет смежно в виртуальном адресном пространстве.
malloc даст вам постоянную память в виртуальном адресном пространстве. Если вы знаете, как работает виртуальная память, вы знаете, что нет никаких гарантий того, что виртуальные страницы физически непрерывны.
malloc