Диспетчер кэша
Архитектура ввода/вывода содержит единственный, диспетчер кэша
(Cache Manager), который осуществляет кэширование для всей системы
ввода/вывода. Кэширование (Caching) - метод, используемый файловой системой
для увеличения эффективности. Вместо непосредственной записи и считывания с
диска, часто используемые файлы временно сохраняются в кэш-памяти; таким
образом, работа с этими файлами выполняется в памяти. Операции с данными, паходящи
мися в памяти, производятся значительно быстрее операций г данными на диске.
Диспетчер кэша использует модель отображения файла",
которая интегрирована с диспетчером виртуальной памяти NT. Диспетчер кэша
обеспечивает службу кэширования для всех файловых систем и сетевых
компонентов, функционирующих иод управлением диспетчера ввода/вывода. В
зависимости от объема доступной оперативной памяти диспетчер кэша может
динамически увеличивать или уменьшать размер кэша. Когда процесс открывает
файл, который уже находился в кэше, дис петчер кэша просто копирует данные из
кэша в виртуальное адресное пространство,
Диспетчер кэша поддерживает службы типа ленивой записи (lazy
write) и ленивой фиксации (lazy commit), которые могут значительно увеличить
эффективность файло-RL.I1 системы. В процессе ленивой записи изменения решетируются
в кэше файловой структуры, обеспечивающем более быстрый доступ. Позднее,
когда загрузка центрального процессора снижена, диспетчер кэша заносит
изменения на диск. Ленивая фиксация подобна ленивой записи. Вместо
немедленной маркировки транзакции как успешно завершившейся, переданная
информация кэшируется и позднее в фоновом режиме записывается в журнал
файловой системы.
|