Мегаобучалка Главная | О нас | Обратная связь


Технология SuperFetch. С чем едят и для чего она нужна?



2015-12-04 421 Обсуждений (0)
Технология SuperFetch. С чем едят и для чего она нужна? 0.00 из 5.00 0 оценок




 

 

Windows 7 включает в себя механизм кеширования файлов, который называется SuperFetch.Этот механизм используется для кешированя (сохранения) наиболее часто используемых файлов приложений в оперативную память, так что, в дальнейшем, эти приложения будут открываться все быстрее.

 

 

 

 

SuperFetch — это системный сервис, запускающийся внутри системного процесса svchost. Код его находится внутри DLL-ки %SystemRoot%\System32\Sysmain.dll. Этот сервис постоянно следит за тем, какие приложения запускает пользователь, и к каким исполняемым файлам и файлам данных они обращаются.

Вначале SuperFetch отслеживает пользовательскую активность и определяет наиболее часто используемые приложения, для чего создаёт базу данных, которая постоянно обновляется по ходу работы пользователя. Вся эта информация сохраняется в файлах с расширением *.db в каталоге %SystemRoot%\Windows\Prefetch.

Затем при каждом запуске системы SuperFetch, имея информацию о том с какими приложениями пользователь работает наиболее часто — заранее подгружает в память соответствующий код и данные и, когда пользователь запускает свое приложение — вся необходимая информация уже имеется в памяти, и запуск происходит на много быстрее — потому как нет необходимости считывать информацию с жесткого диска. Особенно это заметно на таких «тяжелых» приложениях, как семейство MS Office, функционал которых может быть «размазан» по десяткам и сотням exe-шников и dll-ок. SuperFetch настолько «умна», что может даже определять предпочтения пользователя в разные дни и время суток.
Казалось бы что процесс выглядит завершённым, но это не так.SuperFetch играет гораздо более значительную роль в способности системы сохранять свою эффективность со временем.
Поскольку множество приложений одновременно требуют определенного объема оперативной памяти, SuperFetchзадействует технологию расстановки приоритетов операций ввода/вывода, которая помечает каждое приложение как программу с относительно низким или высоким приоритетом ввода/вывода.
Благодаря такой системе,SuperFetch определяет приложение с низким приоритетом как побочное, а приложение с высоким приоритетом — как главное. При этомSuperFetch постоянно отслеживает изменения приоритетов, чтобы система могла реагировать сообразно и в дальнейшем.

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

Если сравнительно долго работать с документом в программе Word. то всё это время приложение Word распознаётся службой SuperFetchкак программа с высоким приоритетом и, соответственно, определяется как главная. перестав работать с этой программой, Word перестаёт быть активным приложением и другие работающие в фоновом режиме задачи, включая "Дефрагментатор диска", понимают, что ресурсы системы свободны и начинают действовать.
Когда это происходит, "Дефрагментатор диска" получает высокий приоритет, а Word — низкий, и SuperFetch удаляет Word из памяти в файл подкачки, освобождая место для процессов "Дефрагментатора диска". А сразу же по завершении этих процессовSuperFetch заново возвращает Word обратно в кэш памяти, поэтому, когда вы, через какое то время снова запустите World, скорость отклика Word остаётся той же, какой и была в момент вашего выхода из программы (то есть системе не потребуется загружать Word в память).

SuperFetch может обрабатывать режимы гибернации, «спящий режим» и смены пользователя. Если система уходит в гибернацию — то SuperFetchсохраняет в файл hiberfil.sys код и данные тех приложений, которые, по его мнению, скорее всего будут использоваться после выхода из гибернации.

Таким образом, служба SuperFetch существенно увеличивает быстродействие системы и установленных программ, поэтому отключать этот компонент настоятельно не рекомендуется.

SuperFetch появился еще в Windows Vista, но стоит отметить, что работа и использование КЭШа возможностью SuperFetch в Windows 7значительно отличаются оттого, что было в Vista. Так, под Vista кэширование приложений начинается сразу после загрузки операционной системы. Как видно из графиков ниже, спустя уже три минуты после загрузки выделено уже около 1GB памяти. В тоже время в Windows 7 SuperFetchначинает работать через пять минут после загрузки и спустя 10 минут выделение памяти немногим более превышает 600MB. Тогда как в этой же точке Vista SuperFetch выделил уже более 1,5GB памяти.


 

 

 

 

Впрочем, даже с выключенным SuperFetch, Windows 7 требует меньше КЭШа. Для собственной работы она использует 333MB памяти, тогда как Vista без SuperFetch использует уже 519MB.

Новая реализацияSuperFetch под Windows 7 положительно сказывается и на производительности. Очевидно, что Windows 7 требует меньшего количества ресурсов и использует значительной меньший кэш, чем Vista. Так же SuperFetchстартует гораздо позже, поэтому жесткий диск не занимается сразу после загрузки операционной системы, а свободен для запуска пользовательских задач. Это означает, что вам не приходится дожидаться момента, когда операционная система монополизирует системные ресурсы под кэширующие задачи.

Говоря простыми словами, SuperFetchпытается закачать данные приложений с медленного жёсткого диска в оперативную память. Служба использует всю доступную память, чтобы создать рабочую среду, которая позволит запускать приложения практически мгновенно.

Но, конечно,SuperFetch требует немалый объём памяти. Если у вас установлено 512 Мбайт, то служба не будет работать эффективно, поскольку Windows и 2-3 приложения уже "съедят" всю доступную память. И для кэшированных данных памяти просто не останется. Если же вы не работаете с несколькими приложениями одновременно, то SuperFetch положительно проявит себя уже при 1 Гбайт памяти. Но, объём ОЗУ 2 Гбайт и более отнюдь не повредит.



2015-12-04 421 Обсуждений (0)
Технология SuperFetch. С чем едят и для чего она нужна? 0.00 из 5.00 0 оценок









Обсуждение в статье: Технология SuperFetch. С чем едят и для чего она нужна?

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (421)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)