Сокращение количества перемещений блока головок диска

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

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

Но даже при использовании списка свободных блоков несколько блоков можно объединить в кластеры. Секрет в том, чтобы отслеживать пространство носителя не в блоках, а в группах последовательных блоков. Если все сектора содержат 512 байт, в системе могут использоваться блоки размером 1 Кбайт (2 сектора), но дисковое пространство может распределяться единицами по 2 блока (4 сектора). Это не похоже на использование дисковых блоков по 2 Кбайт, поскольку в кэше по-прежнему будут использоваться блоки размером 1 Кбайт и передача данных с диска будет вестись блоками размером

1 Кбайт, но последовательное чтение файла на ничем другим не занятой системе сократит количество поисковых операций вдвое, существенно повысив производительность. Вариацией на ту же тему является сокращение количества позиционирований блока головок на нужную дорожку. При распределении блоков система стремится поместить последовательные блоки файла на один и тот же цилиндр.

Еще одно узкое место файловых систем, использующих ^узлы или что-то им подобное, заключается в том, что даже короткие файлы требуют двух обращений к диску: одного для Ьузла и второго для блока данных.

Обычное размещение Ьузлов показано на рис. 4.25, а. Здесь все Ьузлы размещены ближе к началу диска, поэтому среднее расстояние между Ьузлом и его блоками будет составлять половину всего количества цилиндров, требуя больших перемещений блока головок.

Рис. 4.25. Диск: а — ^узлы расположены в его начале; б — разделен на группы цилиндров, каждая со своими собственными блоками и ^узлами


Слегка улучшить производительность можно за счет помещения i-узлов в середину диска, а не в его начало, сократив таким образом вдвое среднее число перемещений головок между i-узлом и первым блоком. Еще одна идея, показанная на рис. 4.25, б, заключается в разделении диска на группы цилиндров, каждая из которых будет иметь свои i-узлы, блоки и список свободных узлов (McKusick et al., 1984). При создании нового файла может быть выбран любой i-узел, но система стремится найти блок в той же группе цилиндров, в которой находится i-узел. Если это невозможно, используется блок в ближайшей группе цилиндров. Разумеется, перемещение блока головок и время подхода нужного сектора уместны, только если они есть у диска. Все больше компьютеров оснащается твердотельными дисками (solid-state disk, SSD), у которых вообще нет подвижных частей. У этих дисков, созданных по такой же технологии, что и флеш-накопители, произвольный доступ осуществляется почти так же быстро, как и последовательный, и многие проблемы традиционных дисков уходят в прошлое. К сожалению, возникают новые. Например, когда дело доходит до чтения, записи и удаления, у SSD-накопителей проявляются особые свойства. В частности, в каждый блок запись может производиться ограниченное количество раз, поэтому большое внимание уделяется равномерному распределению износа по диску.

4.4.5.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Сокращение количества перемещений блока головок диска:

  1. СМЕЩЕНИЕ ДИСКА
  2. Глава 15 ОТ ЭНЕРГЕТИЧЕСКОГО БЛОКА К ФИЗИЧЕСКОМУ ЗАБОЛЕВАНИЮ
  3. ПЕРЕМЕЩЕНИЕ
  4. Статья 159-1. Нарушение порядка финансирования избирательной кампании кандидата, политической партии (блока)
  5. ИНТЕНСИВНОСТЬ: ПЕРЕМЕЩЕНИЕ
  6. 1.1.6. Перевод и перемещение
  7. ПЕРЕМЕЩЕНИЯ В ПРОСТРАНСТВЕ
  8. Перемещение в вероятностную действительность
  9. ПРИНЯТЫЕ СОКРАЩЕНИЯ
  10. Телепсихика и экстрасенсорные перемещения в пространстве
  11. Глава IX КАК СКОНСТРУИРОВАЛ БЫ МЕХАНИЗМ МЫШЕЧНОГО СОКРАЩЕНИЯ
  12. УКАЗАТЕЛЬ СОКРАЩЕНИЙ
  13. СОКРАЩЕНИЯ И АББРЕВИАТУРЫ
  14. СПИСОК ОСНОВНЫХ СОКРАЩЕНИЙ
  15. Обнаружение причины болезни: перемещение назад во времени
  16. Количество и качество
  17. 3. Количество товаров