<<
>>

Размер блока

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

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

Например, представьте себе диск, в котором каждая дорожка содержит 131 072 байт (128 Кбайт), период вращения составляет 8,33 мс, а среднее время поиска — 10 мс. При этом время, требующееся для чтения блока из & байт, равно сумме времен поиска, поворота и переноса данных:

10 + 4,165 + (¿/131 072) х 8,33.

Сплошная кривая на рис. 5.15 показывает зависимость скорости передачи данных от размера блока.

Рис, 5,15, Зависимость скорости чтения/записи данных диска (сплошная линия, левая шкала) и эффективности использования дискового пространства (штриховая линия, правая шкала) от размера блоков. Все файлы по 2 Кбайт

Чтобы вычислить эффективность использования дискового пространства, нам необходимо сделать предположение о среднем размере файла. Одно из старых исследований показало, что средний размер файла в системе 1Ж1Х составляет около 1 Кбайт [91].

В 2005 году в отделе, где работает один из авторов, был произведен подсчет для более чем 1 млн дисковых 1Ж1Х-файлов и 1000 пользователей. Медианный размер составил 2475 байт; это означает, что половина файлов имеет меньший размер, а половина — больший. Медианный размер является лучшим показателем, чем средний, поскольку на среднее значение могут оказывать влияние всего лишь несколько файлов (например, руководства для аппаратных устройств размером по 100 Мбайт или демонстрационные видеоролики), а на медианное — нет.

В [125] показано, что в Windows NT работа с файлами происходит значительно сложнее, чем в UNIX. Вот короткий фрагмент из этого издания:

Когда мы вводим несколько символов в текстовом редакторе Блокнот (Notepad), сохранение их в файле приводит к 26 системным вызовам, включая 3 неудачные попытки открыть файл, одну перезаписать файл и 4 дополнительных последовательности открытия и закрытия файла.

Тем не менее в [125] приводятся следующие медианные размеры файлов (взвешенные): только прочитанные файлы — 1 Кбайт, только записанные файлы — 2,3 Кбайт, прочитанные и записанные файлы — 4,2 Кбайт. Учитывая различия в технике измерений (статическая и динамическая), результаты достаточно близки к 2-килобайтному медианному размеру файла.

Для простоты предположим, что все файлы имеют размер 2 Кбайт. В этом случае эффективность использования дискового пространства изображается пунктирной кривой на рис. 5.15.

Проанализируем две полученные кривые. Время доступа к блоку полностью зависит от времен поиска и поворота; если известно, что для доступа к блоку требуется 14 мс, то чем больше данных будет считано из блока, тем лучше. Таким образом, скорость обмена данными растет с ростом размера блока до тех пор, пока время передачи не начинает преобладать. Если блоки имеют небольшой размер, являющийся степенью двойки, а файлы занимают 2 Кбайт, потерь дискового пространства не происходит. Однако если размер блока составляет 4 Кбайт, часть памяти диска тратится впустую. На практике размер файла очень редко кратен размеру блока, поэтому в последнем блоке файла всегда теряется часть места. Кривые показывают, что эффективность использования диска и производительность находятся в обратной зависимости. Маленькие блоки экономят дисковое пространство, но снижают производительность. Необходимо выбрать компромиссный размер блока. Для рассматриваемого случая хорошим решением является значение 4 Кбайт, однако в некоторых операционных системах выбор делался тогда, когда параметры дисков и размеры файлов были иными. Размер блока в MS-DOS может быть любой степенью двойки от 512 байт до 32 Кбайт, однако по другой причине зависит от объема диска: максимальное число блоков дискового раздела составляет 216, что заставляет использовать большие блоки на дисках большого объема.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Размер блока:

  1. Статья 1208. Увеличение размера возмещения вреда в связи с повышением стоимости жизни и увеличением размера минимальной заработной платы
  2. Глава 15 ОТ ЭНЕРГЕТИЧЕСКОГО БЛОКА К ФИЗИЧЕСКОМУ ЗАБОЛЕВАНИЮ
  3. Статья 159-1. Нарушение порядка финансирования избирательной кампании кандидата, политической партии (блока)
  4. 7.1.1. Размер группы
  5. 7.1.1. Размер группы
  6. Статья 737. Форма и размер ренты
  7. Размер наследственной доли.
  8. 2. Размер гражданско-правовой ответственности
  9. 1.2.4.2. Определение размера ущерба и порядок его возмещения
  10. Статья 1267. Размер доли в наследстве наследников по закону
  11. 5. Таблица минимальных размеров оплаты труда и кратности (в рублях)