Каталоговая запись - Большая Энциклопедия Нефти и Газа, статья, страница 3
Хорошо не просто там, где нас нет, а где нас никогда и не было! Законы Мерфи (еще...)

Каталоговая запись

Cтраница 3


31 Каталоговая запись файловой системы UNIX V7. [31]

Как и i-узлы на рис. 6.12, i-узлы системы UNIX содержат некоторые атрибуты. К этим атрибутам относятся такие параметры, как размер файла, три указателя времени ( создания, последнего доступа и последнего изменения), идентификатор владельца, номер группы, информация о защите и счетчик каталоговых записей, указывающих на этот i-узел. Последнее поле необходимо для связей. При добавлении новой связи к i-узлу счетчик в i-узле увеличивается на единицу. При удалении связи счетчик в i-узле уменьшается на единицу. Когда значение счетчика достигает нуля, i-узел освобождается, а блоки диска, которые занимал файл, возвращаются в список свободных блоков.  [32]

Другое отличие системы MS-DOS от СР / М состоит в том, что дисковые адреса файлов не хранятся прямо в их описателях, возможно, поскольку разработчики системы понимали, что большие жесткие диски ( обычные в то время на мини-компьютерах) однажды появятся в мире MS-DOS. Вместо этого файловая система MS-DOS хранит номера блоков файла в специальной таблице размещения файлов, в оперативной памяти. В каталоговой записи хранится номер первого блока файла. Этот номер используется в качестве индекса для 64 К1 элементов FAT-табли-цы, хранящейся в оперативной памяти. Все блоки файла могут быть найдены, если проследовать по цепочке элементов таблицы.  [33]

Другое отличие системы MS-DOS от СР / М состоит в том, что дисковые адреса файлов не хранятся прямо в их описателях, возможно, поскольку разработчики системы понимали, что большие жесткие диски ( обычные в то время на мини-компьютерах) однажды появятся в мире MS-DOS. MS-DOS хранит номера блоков файла в специальной таблице размещения файлов, в оперативной памяти. В каталоговой записи хранится номер первого блока файла. Этот номер используется в качестве индекса для 64 К1 элементов FAT-табли-цы, хранящейся в оперативной памяти. Все блоки файла могут быть найдены, если проследовать по цепочке элементов таблицы.  [34]

Если счетчик связи больше, чем количество каталоговых записей, тогда даже при удалении всех файлов из каталогов счетчик все равно не уменьшится до нуля и i-узел не будет удален. Эта ошибка не серьезная, но она приводит к расходованию дискового пространства файлом, не находящимся ни в одном каталоге. Чтобы исправить ее, следует установить значение счетчика равным числу существующих каталоговых записей.  [35]

36 Простой каталог, содержащий записи фиксированной длины с атрибутами и дисковыми адресами ( а. каталог, в котором каждая запись является просто. [36]

Системы, использующие i-узлы, могут хранить атрибуты в i-узлах, а не в записях каталога. В этом случае запись в каталоге может быть короче: просто имя файла и номер i-узла. Как мы увидим позднее, у этого метода есть определенные преимущества по сравнению с помещением атрибутов прямо в каталоговые записи. Два подхода, показанные на рис. 6.13, соответствуют системам MS-DOS и UNIX, о чем еще будет рассказано в этой главе.  [37]

Возникает очевидный вопрос: Как файловая система Windows 98 отличает каталоговые записи, содержащие имя файла в формате MS-DOS, от фрагментов длинных имен. Для фрагмента длинного имени это поле содержит значение OxOF, что соответствует невозможной комбинации атрибутов для описателя файла в MS-DOS. Старые программы, написанные для работы в MS-DOS, читая каталог, просто игнорируют такие описатели как неверные. Порядок фрагментов имени учитывается в первом байте каталоговой записи. Поскольку для порядкового номера используется всего 6 бит, теоретически максимальная длина имени файла может составить 63 х 13 819 символов. На практике она ограничена 260 символами по историческим причинам.  [38]

39 Формат каталоговой записи в системе СР / М. [39]

Последний килобайтный блок файла может быть заполнен не до конца, поэтому у системы нет способа определить точный размер файла. Конец файла может быть при необходимости указан пользователям с помощью специального маркера. Последние 16 полей содержат сами номера дисковых блоков, занимаемых файлом. Размер каждого блока 1 Кбайт, поэтому максимальный размер файла равен 16 Кбайт. Обратите внимание, что физический ввод-вывод выполняется в 128-байтовых секторах и размер файла хранится в 128-байтовых секторах, но файлам выделяются блоки размером по 1 Кбайт ( сразу по 8 секторов), чтобы не увеличивать размер каталоговой записи.  [40]

41 Основные функции Win32 API для управления каталогами. [41]

Главной структурой данных в каждом томе является главная файловая таблица MFT ( Master File Table), представляющая собой линейную последовательность записей фиксированного ( 1 Кбайт) размера. Каждая запись MFT описывает один файл или один каталог. В ней содержатся атрибуты файла, такие как его имя и временные штампы, а также список дисковых адресов, указывающих на расположение блоков файла. Если файл очень большой, то иногда бывает необходимо использовать две и более записей главной файловой таблицы, чтобы вместить список всех блоков файла. В этом случае первая запись MFT, называемая базовой записью, указывает на другие записи MFT. Такая избыточная схема берет свое начало в системе СР / М, в которой каждая каталоговая запись называлась экстентом. Какие из элементов главной файловой таблицы свободны, учитывается в битовом массиве.  [42]



Страницы:      1    2    3