файл кеширане

файл кеширане

По подразбиране, Windows кешира данни файл, който се чете от диска и написани за тях. Това означава, че данните за файлови операции четене се извършват от полето в паметта на системата, известна като система кеш файл на, а не с физическия диск. Съответно, операцията за запис, за да записвате данни в кеш файл на файловата система, а не на диска, и този тип кеш се нарича запис обратно кеш. Кеширане се управлява от "файла".







Кеширане се провежда под ръководството на мениджър (Кеш мениджър). която работи непрекъснато, докато използвате Windows. файл с данни в системата кеш файлове са написани на диск, на интервали, определени от операционната система и паметта се използва по-рано от тези данни файл е освободен - това се нарича спад в (зачервяване) кеш паметта на устройството. Правила за записване забавяне на данни във файл и да ги съхранявате в кеш паметта, докато кеша няма да се промие с диск, наречени забави влизането, и е включена в кеш контролер за определен интервал от време. Периодът от време, в който блок файл с данни, е запълнена с диск, базиран отчасти на размера на време, че тя се запазва в кеш паметта и на размера на времето, когато данните последно е достъпен в операция за четене. Това гарантира, че данните за файл, който често се чете, ще остане на разположение в кеш паметта на системата, максималният брой на временните файлове.

Този процес файл кеширане е показано на фигурата по-долу.

Подобрена вход стойност изпълнение - изход (I / O) данни, предложени за данни за кеширане на файловете зависи от размера на блока, предназначени за четене или писане. Когато четат и записват в големи блокове от файл с данни е много по-добре да се чете от диска и записва на диска трябва да бъде забравяйте да проверите I / O операция. Speed ​​вход - изход (I / O) данни трябва да бъдат все по-често намаляват, както е операцията, която се I / O от този вид.







В тези случаи на кеш паметта може да бъде изключен. Това се прави в момент, когато файлът е отворен, с помощта на предаване FILE_FLAG_NO_BUFFERING флаг. като стойността на функцията параметър dwFlagsAndAttributes CreateFile. Когато кеширане е забранено, всичко чете и записва директно, за да получите достъп до физическия диск. Въпреки това, файлът с метаданни все още могат да бъдат кеширани. За промиване на метаданни, използвайте FlushFileBuffers.

Честотата, с която хвърлянето на диска е важно да се помисли за фактор, който балансира производителността на системата с нейната надеждност. Ако вълните на системата твърде често, отпадане на диска е изложена на голям брой операции за запис, което значително намали производителността на системата. Ако системата не се рестартира на кеша на диска достатъчно често, тя става все по-вероятно, в които или системна памет могат да бъдат изчерпани от кеша, или пропуск внезапно система (като загуба на компютър захранване) ще се случи, преди да настъпи нулирането. В последния случай, кешираните данни ще бъдат загубени.

За да сте сигурни, че точният брой капка последователност кеша на диска, управителят на кеш създава всеки втори процес, наречен забави влизането. Забавени влизане дръжки една осма свой ред страници, които наскоро не са били прочистени на диска, за да бъдат записани на диск. Този процес е непрекъснато преоценява количеството на данните, записани на диска, за да оптимизира цялостното представяне на системата, и ако трябва да бъдат написани на повече данни, привежда в действие още данни. Отложени записи не са зачервени временни файлове, тъй като се предполага, че те трябва да бъдат отстранени чрез прилагането или система.

Някои програми, като например проверка за вируси а, изискват от своите операции запис веднага се изчерви на диска; Windows предоставя тази възможност чрез обезценка чрез кеширане сътрудничество (едновременен запис на данните в кеша и паметта). Процесът позволява да се напише-чрез кеширане ко да заяви, входно / изходни операции (I / O), преминаващи FILE_FLAG_WRITE_THROUGH кутия, когато те наричат ​​функция CreateFile. С кеширане поддръжка за сътрудничество отписване чрез данните все още се записват в кеш, но мениджърът на кеш веднага записва данните на диска, а не да ги изложи на закъснението с помощта на мързелив писател. Процесът може да направи губят файла, ако се отвори, като се обадите FlushFileBuffers функция.

Metadata файлова система винаги кеширана. Поради тази причина, за да запазите промените във метаданните на диска, файлът трябва или да се промие с диск, или отворен с FILE_FLAG_WRITE_THROUGH знаме.