Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

Продуктивність жорстких дисків

Швидкість роботи дискового накопичувача визначається рядом параметрів. По-перше, будь-який обмін даними з таким пристроєм передує двома обов'язковими затримками: позиціюванням блоку голівок і ротаційною затримкою (rotational delay) коли контроллер чекає, поки необхідний сектор під'їде до голівки. Крім того, само читання сектора відбувається не миттєво, і, нарешті, необхідно брати до уваги швидкість передачі даних по шині, до якої підключений диск, і можливі колліцизії на цій шині.
Затримку позиціювання голівки можна в певних межах скорочувати полегшенням блоку голівок і вдосконаленням механіки. Єдиний спосіб скорочення ротаційної затримки — це збільшення швидкості обертання диска. В сучасних дисків ця швидкість досягає 15000 об/мін. Швидкість обертання підвищує також і швидкість читання окремого сектора. Крім того, збільшення щільності запису (як за рахунок поліпшення фізичних характеристик магнітного шару, так і за рахунок вдосконалення способів модуляції) і обумовлене цим збільшення кількості секторів на доріжці також прискорює прочитування кожного окремого сектора.
Цікавий прийом скорочення ротаційної затримки при читанні послідовних секторів — це форматування дисків з чергуванням (interleave) коли номери секторів на доріжці не збігаються з їх фізичною послідовністю (мал. 9.38). Кількість фізичних секторів, розміщених між логічно послідовними секторами, називається коефіцієнтом чергування.

Мал. 9.38. Доріжка диска, що відформатував з чергуванням

Завдяки чергуванню, якщо ЦПУ сформує команду читання наступного сектора немиттєво після завершення передачі попереднього (на практиці, це завжди відбувається немиттєво), не доведеться чекати наступного звороту диска. Втім, якщо коефіцієнт чергування виявиться дуже великим, чекати підходу наступного сектора все-таки доведеться. У роки молодості автора підбір оптимальних параметрів чергування для жорстких дисків був майже настільки ж популярною розвагою, яким нині є "розгін" (підбір частот процесора і системної і периферійної шин, які вище паспортних, але забезпечують більш менш стійку роботу системи).
Ряд файлових систем, розроблених в 80-і роки, реалізували свої власні схеми чергування, розміщуючи послідовні блоки файлів у фізичні сектори, що чергуються. Сучасні дискові контроллери надають логіку випереджаючого прочитування і відкладеного запису, які знижують потребу в таких прийомах. Крім того, фабричне форматування жорстких дисків звичайне відразу здійснюється з оптимальним чергуванням.
Для скорочення часу подачі голівки нерідко використовують сортування запитів по номеру доріжки. У [Дейтел 1987) приводиться аналіз декількох алгоритмів такого сортування. У наш час найширше використовується елеваторне сортування (у |Дейтел 1987] вона називається SCAN). При відсортованих відповідно до цього алгоритму запитах, блок голівок починає від внутрішньої доріжки (або, точніше, від запиту, найближчого до цієї доріжки) і рухається до зовнішньої, виконуючи послідовні запити так, щоб напрям руху голівки не змінювався (мал. 9.39). Запити, що поступають на вже пройдені доріжки, відкладаються на зворотний прохід. Досягнувши зовнішньої доріжки (або, точніше, самою зовнішньою з доріжок, на яку є запит), блок голівок міняє напрям руху.

Мал. 9.39. Елеваторне сортування

Сортуванню піддаються лише запити на читання. По причинах, які ми повною мірою зрозуміємо в главі 11запити на запис практично ніколи не переупорядковуються.

 

:: Реклама ::

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017