русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Каталоги NTFS


Дата добавления: 2014-05-05; просмотров: 2523; Нарушение авторских прав


 

Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит атрибут Index Root. Индекс содержит список файлов, входящих в каталог. Индексы позволяют сортировать файлы для ускорения поиска, основанного на значении определенного атрибута. Обычно в файловых системах файлы сортируются по имени. NTFS позволяет использовать для сортировки любой атрибут, если он хранится в резидентной форме. Имеются две формы хранения списка файлов.

Небольшие каталоги (small indexes). Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи в MFT, являющейся каталогом (рис. 5. 14).

       
   


SI FN IR <a.bat, 27> <c.sys, 92> <zyx, N > <####> SD
 

 

#### – признак конца файлов

 

Рис. 5. 14. Небольшой каталог

 

Для резидентного хранения списка используется единственный атрибут - Index Root. Список файлов содержит значения атрибутов файла. По умолчанию – это имя файла, а также номер записи MTF, содержащей начальную запись файла.

Большие каталоги (large indexes). По мере того как каталог растет, список файлов может потребовать нерезидентной формы хранения. Однако начальная часть списка всегда остается резидентной в корневой записи каталога в таблице MFT (рис. 5. 15). Имена файлов резидентной части списка файлов являются узлами так называемого В-дерева (двоичного дерева). Остальные части списка файлов размещаются вне MFT. Для их поиска используется специальный атрибут Index Allocation, представляющий собой адреса отрезков, хранящих остальные части списка файлов каталога. Одни части списков являются листьями дерева, а другие являются промежуточными узлами, то есть содержат наряду с именами файлов атрибут Index Allocation, указывающий на списки файлов более низких уровней.



Узлы двоичного дерева делят весь список файлов на несколько групп. Имя каждого файла-узла является именем последнего файла в соответствующей группе. Считается, что имена файлов сравниваются лексикографически, то есть сначала принимаются во внимание коды первых символов двух сравниваемых имен. При этом имя считается меньшим, если код его первого символа имеет меньшее арифметическое значение. При равенстве кодов первых символов сравниваются коды вторых символов имен и т. д. Например, файл f1.exe, являющийся первым узлом двоичного дерева (поле IR), показанного на рис. 5. 15, имеет имя, лексикографически большее имен avia.exe, az.exe,... , emax.exe, образующих первую группу списка имен каталога. Соответственно файл ltr.exe имеет наибольшее имя среди всех имен второй группы, а все файлы с именами, большими ltr.exe, образуют третью и последнюю группу.

 

 

       
   


SI FN IR <f1.exe, Nf1.exe> <ltr.exe, Nltr.exe> <####> IA SD
 
IR <avia.doc, Navia.doc> <az.exe, Naz.exe> … <emax.exe, Nemax.exe> <####>
 
IR <gl.htm, Ngl.htm> <green.com, Ngreen.com> … <caw.doc, Ncaw.doc> <####>
 
IR <main1.c, Nmain1.c> … <zero.txt, Nzero.txt> <####>

 

Рис. 5. 15. Большой каталог

Поиск в каталоге уникального имени файла, которым в NTFS является номер основной записи о файле в MFT, по его символьному имени происхо­дит следующим образом. Сначала искомое символьное имя сравнивается с именем первого узла в резидентной части индекса. Если искомое имя меньше, то это означает, что его нужно искать в первой нерезидентной группе, для чего из атрибута Index Allocation извлекается адрес отрезка (VCNj, LCNj, Kj), хранящего имена файлов первой группы. Среди имен этой группы поиск осуществляется прямым перебором имен и сравнением до пол­ного совпадения всех символов искомого имени с хранящимся в каталоге именем. При совпадении из каталога извлекается номер основной записи о файле в MFT и остальные характеристики файла берутся уже
оттуда.

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

Если одна из групп каталога становится слишком большой, то ее также делят на группы, последние имена каждой новой группы оставляют в исход­ном нерезидентном атрибуте Index Root, а все остальные имена новых групп переносят в новые нерезидентные атрибуты типа Index Root (на рисунке этот случай не показан). К исходному нерезидентному атрибуту Index Root добав­ляется атрибут размещения индекса, указывающий на отрезки индекса новых групп. Если теперь при поиске искомого имени в нерезидентной части ин­декса первого уровня какое-либо сравнение показывает, что искомое имя оказывается меньше, чем одно из хранящихся там имен, то это говорит о том, что в данном атрибуте точного сравнения имени уже быть не может и нужно перейти к подгруппе имен следующего уровня дерева.

 

Вопросы для самопроверки

 

151. На какие области разбивает файловая система FAT логический раз­дел диска?

152. Укажите основную информационную составляющую файловой сис­темы NTFS.

153. Что является основной компонентой файла в NTFS?

154. Для каких целей в NTFS используется информация об узлах B-де­рева?

 

Контрольные вопросы

 

155. Какому параметру соответствует количество индексных указателей в таблице FAT?

156. Какое максимальное количество кластеров может поддерживать фай­ловая система FAT16?

157. Возможна ли ситуация, при которой можно надежно восстановить файл?

158. Как в терминах ОС UNIX принято называть информационную струк­туру, в которой хранятся характеристики файла?

159. Чем является индексный дескриптор с точки зрения идентификации файла?

160. Может ли файл в ОС UNIX иметь более одного символьного
имени?

161. Какая базовая единица дискового пространства используется для хра­нения информации в NTFS?

162. Какое количество стандартных записей содержит первый отрезок MFT?

163. Какие поля содержатся в атрибуте файла?

164. На какие типы делят файлы в NTFS в зависимости от способа их раз­мещения?

165. Какая информация содержится в поле Data больших файлов?

166. Какую информацию содержит атрибут Index Root?

167. Какие атрибуты связаны с конкретным файлом в каталожной
за­писи?

 



<== предыдущая лекция | следующая лекция ==>
Структура файлов NTFS | Доступ к файлам как частный случай доступа к разделяемым ресурсам


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.