Это зависит от того, как вы используете память.
В большинстве случаев Linux использует виртуальную память, в которой приложение видит память как непрерывный блок памяти. Базовое ядро выполняет все ручное отображение между виртуальной памятью и физической памятью, так что вам не придется иметь с этим дело.
Физически ваша память может разбросаться, но ваши приложения этого не видят.
А что если вам действительно нужна непрерывная физическая память? Это часто случается, когда вы хотите выполнить DMA или другие жесткие требования к вашему оборудованию. В этом случае вам разрешено выделять страницу памяти, которая указывает на конкретную физическую память. Но вы должны сделать это как исключение, кроме нормы.
Я спроектировал свою систему таким образом, чтобы большинство драйверов (кроме драйвера «реального времени») находилось в пространстве пользователя. Таким образом, вы получаете все преимущества пользовательского пространства (больше библиотек, языков), не убивает ядро, если у вас есть ошибка, и использует доступную виртуальную память.