<<
>>

Учет свободных блоков

После того как мы выбрали размер блоков, следует определиться, как учитывать свободные и занятые блоки. Широкое распространение получили два метода, представленные на рис. 5.16. Первый метод — не что иное, как использование связанного списка блоков диска.
При этом в каждом блоке списка содержится столько номеров свободных блоков, сколько может поместиться в один блок. При размере блока, равном 1 Кбайт, и 32-разрядных номерах блоков каждый блок списка свободных блоков может содержать номера 255 свободных блоков. (Одно 32-разрядное слово нужно для указателя на следующий блок списка.) Для 256-гигабайтного диска потребуется список свободных блоков, состоящий из

1 052 689 блоков, чтобы охватить все 228 дисковых блока. Часто список свободных блоков хранится в самих свободных блоках.

Дисковый блок Битовый массив

размером 1 Кбайт содержит 256 32-битных номеров дисковых блоков

Другой метод учета свободного дискового пространства заключается в хранении этой информации в виде битового массива (битовой карты).

Здесь на каждый блок приходится всего по одному биту. Свободные блоки обозначаются в массиве единицами, а занятые — нулями (или наоборот). 256-гигабайтный диск состоит из 228 1-килобайтных блоков, таким образом, для него требуется массив размером 228 бит, то есть 32 768 блоков. Нет ничего удивительного в том, что битовая карта требует меньше пространства, поскольку в ней одному блоку соответствует 1 бит, а не 32, как в модели со связанным списком. Схема на основе списка более эффективна только тогда, когда диск практически полон (то есть свободных блоков очень мало). В то же время, если число свободных блоков велико, то часть из них можно отвести под хранение списка без ощутимых потерь дискового пространства.

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

5.3.5.

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

Еще по теме Учет свободных блоков:

  1. Свободное использование произведения, постоянно находящегося в месте, открытом для свободного посещения
  2. 7. Свободный труд свободного человека – это, по Ушинскому, – и цель, и средство, и результат воспитания
  3. "Блоковые" многопартийные системы.
  4. Избавление от психических блоков
  5. Типы энергетических блоков
  6. Целительство блоков прошлой жизни на четырех нижних
  7. ИЗБАВЛЕНИЕ ОТ БЛОКОВ СТРАХА, МЕШАЮЩИХ ЯСНО-ВИДЕНИЮ
  8. § 5. Учет налогоплательщиков
  9. Фиолетовый: "Учет времени"
  10. Фиолетовый: "Учет времени"
  11. 6. Учет вины потерпевшего
  12. § 2. Учет личности виновного
  13. Синий: "Личный финансовый учет"
  14. Синий: "Личный финансовый учет"
  15. 1 . Если вы не знаете точно ваш будущий доход, ведите учет расходов.
  16. 7. Учет имущественного положения причинителя вреда
  17. 15.5. Хранение, комплектование и учет архивных фондов
  18. 1.4.3. Расследование и учет несчастных случаев, профессиональных заболеваний и аварий
  19. § 3. УЧЕТ ВОЗРАСТНЫХ ОСОБЕННОСТЕЙ ДЕТЕЙ В ТЕХНОЛОГИИ ПРИМЕНЕНИЯ ПРИЕМОВ ПСИХОЛОГО-ПЕДАГОГИЧЕСКОГО ВЗАИМОДЕЙСТВИЯ
  20. Статья 1193. Учет вины потерпевшего и материального положения физического лица, которое нанесло ущерб