будет ли mmap использовать пользовательский процессор вместо целого sys? (Solaris)

StackOverflow https://stackoverflow.com/questions/839668

  •  22-07-2019
  •  | 
  •  

Вопрос

когда мы используем mmap для размещения некоторого анонимного mem, мы часто устанавливаем начальный адрес как 0 / null, поэтому mmap сам определит начальный адрес. И чтобы получить начальный адрес, он будет работать, продумывая все пространство виртуальной памяти, чтобы найти дыру, которая могла бы разместить патрон памяти для выделения. Я думаю, это рассчитывается как пользовательский процессор вместо системного процессора. Если виртуальная память фрагментирована, то для поиска начального адреса потребуется больше пользовательских процессоров, насколько я понимаю, верно

Это было полезно?

Решение

Я не думаю, что это правильно. Время, проведенное в системном вызове mmap, считается системным временем. Время найти достаточно большое окно адресного пространства и настроить сопоставления должно быть тривиальным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top