Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Pool Types  (Прочитано 4249 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vvoid
Гость
« : 27-10-2005 13:12 » 

Привет всем! Ребят, подскажите, когда какой POOL_TYPE нужно использовать.
Спасибо!.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 29-10-2005 15:44 » 

PagedPool - тот который может быть сброшен на диск, поэтому его нельзя использовать выше DISPATCH_LEVEL. (IRQL < DISPATCH_LEVEL)
PagedPoolCacheAligned  - тоже самое но выравненное на границу кэша проца.

NonPagedPool  - этот находится в памяти всегда и не выгружается на диск. может использоваться на ВСЕХ IRQL. если не захватываешь слишком большой объем - рекомендую этот. НО! "The system can only allocate buffers larger than PAGE_SIZE from nonpaged pool in multiples of PAGE_SIZE. Requests for buffers larger than PAGE_SIZE, but not a PAGE_SIZE multiple, waste nonpageable memory. "
NonPagedPoolCacheAligned - тодже но выравненое на границу кэша. - РЕКОМЕНДУЮ. честно говоря сам всегда использую NonPagedPoolCacheAligned. но если захватываешь совсем  большой объем - проверь что тебе эту память отдали)) у меня выделяется с десяток областей по 2 мега) нормально... оперативки пол гига правда...

если не обрабатываешь память на DISPATCH_LEVEL - пользуйся PagedPoolCacheAligned.... подчти гарантия что тебе отдаюут любой объем, независимо от занятости памяти. (мне подчти не интересно, так как у меня вся обработка на DISPATCH_LEVEL)

NonPagedPoolMustSucceed и NonPagedPoolCacheAlignedMustS - не стоит. только при запуске виндов... это та пямять которая должна быть выделена палюбому... без которой можно сразу вешаться) в общем я такого не пользовал ни разу...

PS а вообще смотри DDK - POOL_TYPE. там все это написано)
да! "When the system allocates a buffer from pool memory of PAGE_SIZE or greater, it aligns the buffer on a page boundary. Memory requests smaller than PAGE_SIZE are not necessarily aligned on page boundaries, but always fit within a single page, and are aligned on an 8-byte boundary."
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines