
- •Вопрос 1. Логическая организация файлов. Атрибуты и данные файла. Типы файлов. Операции с файлами.
- •Файл представляет собой последовательность логических записей разной длины.
- •Rename (переименование).
- •Вопрос 2.Модели хранения информации в файловых системах. Надежность и непротиворечивость файловой системы. Решение проблемы непротиворечивости файловых систем.
- •1.Традиционные фс.
- •3.Транзакционная файловая система.
- •Вопрос 3. Методы физической реализации хранения атрибутов и данных файлов.
- •1. Непрерывные файлы
- •2. Связные списки.
- •3. Связный список при помощи таблицы в памяти
- •Вопрос 4. Концепция файловой системы fat. Структура логического диска с файловой системой fat.
- •Вопрос 5. Основные характеристики файловой системы ntfs.
- •Вопрос 6. Структура раздела с файловой системой ntfs.
- •Вопрос 7. Главная файловая таблица mft файловой системы ntfs. Структура таблицы mft.
- •Вопрос 8. Атрибуты файлов в файловой системе ntfs. Структура записи mft.
- •Вопрос 9. Хранение данных в файловой системе ntfs. Потоки данных.
- •Вопрос 10. Структура файловой системы unix. Типы файлов ос unix.
- •Вопрос 11. Жесткая и символическая связь имен с данными файла в файловой системе unix.
- •Вопрос 12. Структура индексного узла файловой системы unix. Адресация блоков данных.
- •Вопрос 13. Архитектура Windows 2000/xp. Компоненты исполнительной системы.
- •Вопрос 14. Объектная модель Windows 2000/xp и менеджер объектов.
- •Вопрос 15. Управление оперативной и виртуальной памятью в Microsoft Windows 2000/xp.
- •Вопрос 16. Управление процессами и потоками в Windows 2000/xp.
- •Вопрос 17. Состояния потока в Windows 2000/xp.
- •Вопрос 18. Общая архитектура системы unix. Модули ядра.
- •Вопрос 19.Системные вызовы и выполнение кода ядра ос unix.
- •Вопрос 20.Управлене процессами в ос unix.
- •Вопрос 21. Состояния процесса в ос Unix.
- •Вопрос 22.Распределение памяти процессов в unix.
Вопрос 8. Атрибуты файлов в файловой системе ntfs. Структура записи mft.
Файл в системе NTFS состоит из множества атрибутов, каждый из которых представляется в виде потока байтов. В качестве атрибутов можно указать имя файла, список атрибутов -перечисляет все другие атрибуты (только в больших файлах), дескриптор безопасности - фиксирует информацию о том, кто может обращаться к файлу, кто является его владельцем и так далее. Большинство файлов имеет несколько коротких потоков, таких как имя файла и его 64-битовый идентификатор, плюс один длинный (неименованный) поток с данными.
Однако у файла может быть и несколько длинных потоков данных. При обращении к каждому потоку после имени файла через двоеточие указывается имя потока, например foo:stream1. У каждого потока своя длина.
Если данные атрибута имеют небольшой размер, они будут сохранены непосредственно в записи MFT, Такие атрибуты называются резидентными. Если данные слишком велики для хранения в MFT, сохраняется информация о расположении этих данных (номера кластеров, в которых размещены необходимые данные). Такие атрибуты называются нерезидентными.
Структура записи MFT.
Каждая запись MFT состоит из заголовка записи, за которым следует последовательность пар (заголовок атрибута, значение).
Заголовок записи содержит :
- число, используемое системой для проверки действительности записи;
- счетчик обращений к файлу;
- действительное количество байт, используемых в записи;
- другие поля.
Следом за заголовком записи располагается заголовок первого атрибута, за которым идет значение первого атрибута, потом заголовок второго атрибута, значение второго атрибута и т. д.
Заголовок атрибута идентифицирует следующий за ним атрибут, а также содержит длину и расположение поля значения вместе с разнообразными флагами и прочей информацией.
Значения атрибутов, как правило, располагаются непосредственно за заголовками, но если длина значения слишком велика, чтобы поместиться в запись MFT, она может быть помещена в отдельный блок диска. Такой атрибут называется нерезидентным атрибутом.
Все атрибуты должны располагаться в записи MFT в фиксированном порядке.
Длина заголовков резидентных атрибутов 24 байта, заголовки для нерезидентных атрибутов длиннее, так как они содержат информацию о месте расположения атрибута.
Стандартное информационное поле содержит
сведения о владельце файла,
информацию о защите,
счетчик жестких связей,
бит «только чтение» и т. д.
Вопрос 9. Хранение данных в файловой системе ntfs. Потоки данных.
Для увеличения эффективности дисковые блоки файлам назначаются по возможности в виде серий последовательных блоков (сегментов файла).
Блоки в файле описываются последовательностью записей, каждая из которых описывает последовательность логически непрерывных блоков. Непрерывный файл описывается всего одной записью.
Каждая запись начинается с заголовка, определяющего смещение первого блока в файле.
Следом за каждым заголовком располагаются пары,в каждой из которых в которых содержится дисковый адрес и длина серии блоков. Число таких серий зависит от того, насколько удачно процедура предоставления дискового пространства сумела найти место для хранения файла при его создании. Для файла, состоящего из п блоков, количество серий может быть любым от 1 до п. Эти дисковые адреса представляют собой смещение блока от начала дискового раздела. Длина серии — это количество блоков в серии.
Данный способ представления информации о расположении блоков файла на диске не накладывает никаких дополнительных ограничений на размер файла. При отсутствии сжатия адреса для каждой пары требуется два 64-разрядных числа, что составляет 16 байт на пару. Однако одна пара может указывать на миллион последовательных блоков.
16 байт для представления каждой пары могут быть сжаты до меньшего размера. Многие дисковые адреса содержат большое количество нулей в старших байтах. Нули могут быть опущены. В этом случае в заголовке данных будет содержаться информация о том, сколько байтов пропущено, то есть сколько байтов фактически используется для дискового адреса. Также используются и другие методы сжатия данных. На практике пары часто занимают всего 4 байта.
Если файл окажется настолько велик, или настолько фрагментирован, что информация о блоках не поместится в одну запись MFT , используются две или более записей MFT.
Потоки данных
Файл в системе NTFS состоит из множества атрибутов, каждый из которых представляется в виде потока байтов.
Большинство файлов имеет несколько коротких потоков, таких как имя файла и его 64-битовый идентификатор, плюс один длинный (неименованный) поток с данными.
Однако у файла может быть и несколько длинных потоков данных. При обращении к каждому потоку после имени файла через двоеточие указывается имя потока, например foo:stream1. У каждого потока своя длина. Каждый поток может блокироваться независимо от остальных потоков.
Максимальная длина потока составляет 264 байт.
Имя потока данных располагается в заголовке атрибута.
Следом за этим заголовком располагается либо список дисковых адресов, определяющий положение файла на диске, либо - для файлов длиной всего в несколько сотен байтов (а таких файлов довольно много) - сам файл. Метод помещения самого содержимого файла в запись MFT называется непосредственным файлом.