Объясните подкачку кэша процессора во FreeBSD, в частности, очереди подкачки - PullRequest
1 голос
/ 19 апреля 2009

FreeBSD реализует раскраску страниц с помощью очереди пейджинга. Очереди расположены в соответствии с размером кэши процессора L1 и L2; и когда новая страница должна быть выделена, FreeBSD пытается получить тот, который оптимально выровнен для кеша.

Может кто-нибудь объяснить, что написано выше, какова концепция очередей подкачки?

Спасибо!

1 Ответ

3 голосов
/ 19 апреля 2009

Операционные системы должны управлять размерами кэшей ЦП, чтобы уменьшить пропусков кэша (также объясняется раскраска страницы). Проще говоря, данные, хранящиеся в кэш-памяти (в единицах, называемых страницами), должны быть тщательно отобраны на основе того, как часто они используются, вероятно ли их повторное использование в ближайшее время и насколько «дорого» будет повторное извлечение данные из основной памяти / HD / SomeOtherDevice. Этот выбор важен в приложениях, где пропускная способность памяти является узким местом.

Этот тип вещей часто делается с очередью приоритетов, которая реализует стратегию замены подкачки, выбранную разработчиками ОС. Эти очереди определяют, какие страницы заменяются при перемещении новых данных в кэш и где эти данные будут размещаться в кеше. Вам следует обратиться к документации FreeBSD, если вы хотите узнать, какая стратегия используется.

Для выравнивания данные в кеше (или в основной памяти) должны быть помещены в определенные границы, чтобы к ним был эффективный доступ (то есть для перемещения в регистр ЦП). Если данные не выровнены, для их выравнивания требуются дополнительные вычисления.

...