Непрерывное размещение

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

Пример хранилища с непрерывным размещением приведен на рис. 4.7, а. На нем показаны 40 первых блоков, начинающихся с блока 0 слева. Изначально диск был пустым. Затем на него начиная с блока 0 был записан файл А длиной четыре блока. Затем правее окончания файла А записан файл В, занимающий шесть блоков.

Следует заметить, что каждый файл начинается от границы нового блока, поэтому, если файл А фактически имел длину 3,5 блока, то в конце последнего блока часть пространства будет потеряна впустую. Всего на рисунке показаны семь файлов, каждый

Рис. 4.7. Дисковое пространство: а — непрерывное размещение семи файлов; б — состояние диска после удаления файлов й и Г


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

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

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

К сожалению, у непрерывного размещения есть также очень серьезный недостаток: со временем диск становится фрагментированным. Как это происходит, показано на рис. 4.7, б. Были удалены два файла — Б и ¥. Естественно, при удалении файла его блоки освобождаются и на диске остается последовательность свободных блоков. Немедленное уплотнение файлов на диске для устранения такой последовательности свободных блоков («дыры») не осуществляется, поскольку для этого потребуется скопировать все блоки, — а их могут быть миллионы, — следующие за ней, что при использовании больших дисков займет несколько часов или даже дней. В результате, как показано на рис. 4.7, б, диск содержит вперемешку файлы и последовательности свободных блоков.

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

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

Представьте себе последствия использования такого подхода. Пользователь запускает текстовый процессор, чтобы создать документ. В первую очередь программа спрашивает, сколько байтов в конечном итоге будет занимать документ. Без ответа на этот вопрос она не сможет продолжить работу. Если в конце выяснится, что указан слишком маленький размер, программа будет вынуждена преждевременно прекратить свою работу, поскольку выбранная область на диске будет заполнена и остаток файла туда просто не поместится. Если пользователь попытается обойти эту проблему, задавая заведомо большой конечный объем, скажем, 1 Гбайт, редактор может и не найти столь большой свободной области и объявит, что файл создать нельзя. Разумеется, ничто не помешает пользователю запустить программу повторно и задать на сей раз 500 Мбайт и т. д., пока не будет найдена подходящая свободная область. Но такая система вряд ли осчастливит пользователей.

Тем не менее есть одна сфера применения, в которой непрерывное размещение вполне приемлемо и все еще используется на практике, — это компакт-диски. Здесь все размеры файлов известны заранее и никогда не изменяются в процессе дальнейшего использования файловой системы компакт-диска.

С DVD ситуация складывается несколько сложнее. В принципе, 90-минутный фильм может быть закодирован в виде одного-единственного файла длиной около 4,5 Гбайт, но в используемой файловой системе UDF (Universal Disk Format — универсальный формат диска) для представления длины файла применяется 30-разрядное число, которое ограничивает длину файлов одним гигабайтом. Вследствие этого DVD-фильмы, как правило, хранятся в виде трех-четырех файлов размером 1 Гбайт, каждый из которых является непрерывным. Такие физические части одного логического файла (фильма) называются экстентами.

Как говорилось в главе 1, в вычислительной технике при появлении технологии нового поколения история часто повторяется. Непрерывное размещение благодаря своей простоте и высокой производительности использовалось в файловых системах магнитных дисков много лет назад (удобство для пользователей в то время еще не было в цене). Затем из-за необходимости задания конечного размера файла при его создании эта идея была отброшена. Но неожиданно с появлением компакт-дисков, DVD, Blu-ray-дисков и других однократно записываемых оптических носителей непрерывные файлы снова оказались весьма кстати. Поэтому столь важное значение имеет изучение старых систем и идей, обладающих концептуальной ясностью и простотой, поскольку они могут пригодиться для будущих систем совершенно неожиданным образом.

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

Еще по теме Непрерывное размещение:

  1. Статья 223. Размещение ценных бумаг без регистрацииих выпуска
  2. ТЕОРИЯ НЕПРЕРЫВНОСТИ РЯДА СЕНСОРНОГО КЛАССИЧЕСКАЯ
  3. V. 1. 1. Непрерывные функции дискретного аргумента.
  4. Прием актуализации непрерывного самоконтроля.
  5. Статья 377. Право на земельный участок при приобретении жилого дома, здания или сооружения, которые размещенные на нем
  6. § 1. ПОНЯТИЕ О ПЕДАГОГИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ КАК ПРОЦЕССЕ НЕПРЕРЫВНОГО РЕШЕНИЯ ПРОФЕССИОНАЛЬНЫХ ЗАДАЧ
  7. Психология личности в любом возрасте при всей ее устойчивости непрерывно меняется (принцип развития).
  8. Статья 350. Выкуп земельных участков, других объектов недвижимого имущества, размещенных на них, частной собственности для общественных потребностей или их принудительное отчуждения по мотивам общественной необходимости
  9. § 26 Продолжение о давности. – Владение спокойное, бесспорное, непрерывное. – Перерыв давности
  10. § 44 Договоры о содержании и непременном доходе. – Пожизненная рента. – Русские билеты непрерывного дохода. – Бодмерея и заем припасов на море.
  11. АУДИТОРИЯ
  12. Статья 155. Уставной капитал акционерного общества
  13. ОТСТАЛОСТЬ
  14. ТЕОРИЯ ПОРОГОВАЯ
  15. 1.4. Договор поставки товаров для государственных или муниципальных нужд
  16. СИММЕТРИЯ
  17. 5.5. Государственный или муниципальный контракт на выполнение подрядных работ для государственных или муниципальных нужд
  18. ПСИХИЧЕСКОЕ: ПРОЦЕССУАЛЬНОСТЬ
  19. V, 1. 4. Использование средних.
  20. Типы социальных структур