2009-05-08 5 views
1

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

ответ

6

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

 Смежные вопросы

  • Нет связанных вопросов^_^