Нові технології кешування в Windows Vista

В кінці 2006-го року всіма нами шанована компанія Microsoft випустила в продаж  давно очікувану нову операційну систему Windows Vista, що покликана прийти на зміну Windows XP. Зразу ж в Інтернеті почалися дискусії на тему – чи є Windows Vista дійсно краща за Windows XP? Чи це лише спроба компанії збільшити власні прибутки за рахунок продажу недосконалої ОС кінцевому користувачу, який власне кажучи вже майже 6 років чекає від Microsoft чогось кращого за ОС Windows XP?

Давайте розберемося, що нового і цікавого може запропонувати Microsoft у своїй новій ОС. Безперечно зміни у новій системі значні, я не маю на увазі тільки новий візуальний інтерфейс AeroGlass. Користувачі бета-версій нової ОС безперечно помітили якісні зміни в інтерфейсі взаємодії з ОС, покращення мережевих та інших функцій. Але тут розмова піде не про це. Перш за все нас цікавлять нові технології кешування даних, анонсовані в Vista - SuperFetch і ReadyBoot. Попробуємо розібратися що це таке.

В попередніх версіях Windows механізм кешування був досить простим. Windows автоматично виділяла деяке місце на жорсткому диску для так-званого файлу підкачки. У ньому зберігалися дані програм які завершили своє виконання. В результаті програма буде стартувати швидше, якщо до неї звернуться повторно. Розмір цього файлу доцільно було ставити в 2,5-3 рази більшим за оперативну пам'ять (для 512Гб ОЗУ оптимальний розмір файла підкачки повинен становити 1,5Гб). Розмір цього файлу рекомендувалося ставити постійним, щоб запобігти його дефрагментації.

Які ж недоліки такого механізму:

  • Порівнюючи час доступу і швидкість передачі даних оперативної  пам’яті і жорсткого диску (2-8Гб/с для ОЗУ проти 40-90Мб/с для ЖД) можна зробити висновок, що файл підкачки аж ніяк не може служити заміною оперативній пам’яті. Він лише пришвидшує запуск програм на тих комп’ютерах де відчувається нестача оперативної пам’яті.
  • При виключенні чи перезавантаженні комп’ютера дані, розміщені в файлі підкачки стають неактуальними
  • Крім того, завантаження інших програм приведе до очистки кешу

Нова технологія SuperFetch, анонсована в Windows Vista, покликана усунути недоліки старого механізму кешування. Що ж таке SuperFetch?

На сайті Microsoft читаємо:

SuperFetch – це нова технологія керування пам’яттю в Windows Vista, яка пришвидшує запуск програм методом кращого використання оперативної пам’яті. Працюючи в фоні, як служба, SuperFetch відслідковує програми якими ви найчастіше користуєтесь (створюючи сценарії дій користувача), і попередньо підзавантажує їх в оперативну пам'ять. Особливістю даної технології є те, що навіть після перезавантаження комп’ютера дані, накопичені SuperFetch, зберігаються і при кожному старті системи завантажуються в оперативну пам'ять.

Перевагою даної технології є те, що:

  • дані завантажуються в оперативну пам'ять – тобто швидкість доступу до них є максимальна;
  • при моніторингу дій користувача, SuperFetch здатен досить розумно оцінювати які ж саме дані необхідно підвантажувати користувачу і коли (тобто підлаштовується під сценарій роботи користувача). Крім того підвантаження даних відбувається не лише при старті системи, а постійно, навіть коли система перебуває в стані бездіяльності.

Розглянемо тепер недоліки даної системи:

  • Ефективність SuperFetch проявляється на комп’ютерах, де установлений значний об’єм оперативної пам’яті. І логічно, що чим більше оперативної пам’яті – тим ефективніше працює SuperFetch. Так рекомендований розмір ОЗУ для ефективної роботи SuperFetch становить 1-2Гб.
  • SuperFetch збільшує час запуску системи, оскільки, після старту, витрачається час на заповнення оперативної пам’яті даними SuperFetch.

Що ж робити тим в кого оперативної памяті мало і нема можливості її збільшити (наприклад користувачам ноутбуків). Для цього Microsoft анонсувала ще одну технологію інтелектуального кешування даних – ReadyBoost.

На сайты Microsoft читаємо, що ReadyBoost покликана збільшити існуючу оперативну пам'ять комп’ютера. Як же ж це можливо? Давайте розберемость.

ReadyBoost використовує зовнішні носії даних (флеш-брелоки USB 2.0, або карти пам’яті SD) для кешування на них оперативних даних. Але відомо, що швидкість флеш-брелоків не перевищує 5-30Мб/с, що в 3-8 разів більше за швидкість жорсткого диску. В чому ж полягає доцільність використання флеш-брелоків?

  • Перевагою флеш-брелоків над жорсткими дисками є те, що вони мають чудовий час доступу, тобто дані з них зчитуються моментально.
  • Жорсткий диск не може видати Windows Vista максимальну швидкість, оскільки виконує і інші запити.

Недоліком же ж цієї технології є те, що не всі флеш-брелоки можуть використовуватися ReadyBoost. Кожен підключений флеш-брелок спочатку проходить тест на швидкість передачі даних. І, якщо брелок проходись тест – то можна використовувати ReadeBoost.

Але в Інтернеті вже з’явилися статті, як можна підключити пристрої, які не пройшли тест ReadyBoost на швидкість. Ось інструкція по підключенню таких пристроїв:

  • Підключає пристрій;
  • Відкриваємо закладку Readyboost у властивостях пристрою;
  • Вибираємо Do not retest this device/Не проводить повторное тестирование устройства;
  • Відключаємо пристрій;
  • Відкриваємо редактор реєстру regedit;
  • Вікриваємо гілку HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/EMDМgmt;
  • Знаходимо наш пристрій;
  • Міняємо Device Status/Статус устройства на 2 (два);
  • Міняємо параметр ReadSpeedKBs на 1000 (одна тисяча);
  • Міняємо параметр WriteSpeedKBs на 1000 (одна тисяча);
  • Підключаємо пристрій;
  • Активуємо Readyboost і насолоджуємося!)

На мій погляд значимість технології Readyboost є досить примарна. Але якщо у вас вдома є флеш-брелок на 1-2Гб або швидка SD-карта, то чому б не спробувати? Рекомендований розмір який треба виділяти для ReadyBoost становить 2-3*ОЗУ.

© Інформаційні технології. Аналітика , Рідна Мережа