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

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


person Daniel    schedule 08.05.2009    source источник


Ответы (1)


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

person karunski    schedule 08.05.2009