52
размещение широко распространено и поддерживает как последовательный,
так и прямой доступ к файлу. Обычно применяется комбинация
одноуровневого и многоуровневых индексов. Схему используют файловые
системы Unix, а также файловые системы HPFS, NTFS. Подход позволяет при
фиксированном, относительно небольшом размере индексного узла
поддерживать работу с файлами, размер которых может меняться от
нескольких байтов до нескольких гигабайтов.
Дисковое пространство, не выделенное ни одному файлу, также должно
быть управляемым. В современных ОС используется несколько
способов
учета используемого места на диске. Наиболее распространенные среди них:
1)
учет при помощи организации битового вектора - список
свободных блоков диска реализован в виде битового вектора (bit map или bit
vector). Каждый блок представлен одним битом, принимающим значение 0
или 1, в зависимости от того, занят он или свободен. Преимущество: метод
относительно прост и эффективен при нахождении первого свободного блока
или n последовательных блоков на диске.
Используется в Apple Macintosh;
2)
учет при помощи организации связного списка - в список
связываются все свободные блоки, размещая указатель на первый свободный
блок в специально отведенном месте диска, попутно кэшируя в памяти эту
информацию. Недостаток: схема не всегда эффективна, поскольку для
трассирования списка нужно выполнить много обращений к диску.
Существуют и другие методы, например, свободное пространство
можно рассматривать как файл и ввести для него индексный узел.
Важную роль
играет
размер логического блока. В некоторых системах
(Unix) он может быть задан при форматировании диска. Небольшой размер
блока будет приводить к тому, что каждый файл будет содержать много
блоков. Чтение блока осуществляется с задержками на поиск и вращение,
поэтому файл из многих блоков будет читаться медленно. Большие блоки
обеспечивают более высокую скорость обмена с диском, но из-за внутренней
фрагментации снижается процент полезного дискового пространства.
Структура служебных данных типовой файловой системы на одном из
Достарыңызбен бөлісу: