ЗНАЕТЕ ЛИ ВЫ?

Три записи MFT для сильно фрагментированного файла. В первой записи указывается индексы на дополнительные записи.



Может потребоваться очень много индексов MFT, так что индексы не поместятся в запись. В этом случае список хранится не в MFT, а в файле.

 

Запись MFT для небольшого каталога

Поиск файла в каталоге по имени состоит в последовательном переборе имен файлов.

Для больших каталогов используется другой формат. Используется дерево В+, обеспечивающее поиск в алфавитном порядке.

Поиск файла по имени

При создании файла, программа обращается к библиотечной процедуре

CreateFile("C:\windows\readmy.txt", ...)

Этот вызов попадает в совместно используемую библиотеку уровня пользователя kernel32.dll, где \??\ помещается перед именем файла, и получается строка:

\??\C:\windows\readmy.txt

Это имя пути передается системному вызову NtFileCreate в качестве параметра.

 

Этапы поиска файла C:\windows\readmy.txt

Сжатие файлов

Если файл помечен как сжатый, то система автоматически сжимает при записи, а при чтении происходит декомпрессия.

Алгоритм работы:

1. Берутся для изучения первые 16 блоков файла (не зависимо от сегментов файла).

2. При меняется к ним алгоритм сжатия.

3. Если полученные данные можно записать хотя бы в 15 блоков, они записываются в сжатом виде.
Если их можно записать только в 16 блоков, то они записываются в несжатом виде.

4. Алгоритм повторяется для следующих 16 блоков.

 

Пример 48-блочного файла, сжатого до 32 блоков

Запись MFT для предыдущего файла.

Недостатки сжатия:

· Как видно из рисунка, сжатие приводит к сильной фрагментации.

· Чтобы прочитать сжатый блок системе придется распаковать весь сегмент. Поэтому сжатие применяют к 16 блокам, если увеличить количество блоков, уменьшится производительность (но возрастет эффективность сжатия).

Шифрование файлов

Любую информацию, если она не зашифрована, можно прочитать, получив доступ. Поэтому самая надежная защита информации от несанкционированного доступа - шифрование.

Даже если у вас украдут винчестер, прочесть данные не смогут (большинство не сможет).

Если файл помечен как шифрованный, то система автоматически шифрует при записи, а при чтении происходит дешифрация.

Шифрование и дешифрование выполняет не сама NTFS, а специальный драйвер EFS (Encrypting File System).

Каждый блок шифруется отдельно.

В Windows 2000 используется случайно сгенерированный 128-разрядный ключ для каждого файла. Этот ключ шифруется открытым ключом пользователя и сохраняется на диске.

 

Шифрование файлов в NTFS

Файловая система UNIX V7

Хотя это старая файловая система основные элементы используются и современных UNIX системах.

Особенности:

· Имена файлов ограничены 14 символами ASCII, кроме косой черты "/" и NUL - отсутствие символа. (в последующих версиях расширены до 255)

· Поддержка ссылок.

· Контроль доступа к файлам и каталогам.

· Имена чувствительны к регистру, my.txt и MY.TXT это разные файлы.

· Используется схема i-узлов.

· Не делается различий между разными файлами (текстовыми, двоичными и д.р.).

· Поддерживаются символьные специальные файлы (для символьных устройств ввода-вывода).
- Если открыть файл /dev/lp и записать в него данные, то данные будут распечатаны на принтере.
- Если открыть файл /dev/tty и прочитать из него данные, то получим данные, введенные с клавиатуры.

· Поддерживаются блочные специальные файлы (для блочных устройств ввода-вывода, например /dev/hd1).

· Позволяет монтировать разделы в любое место дерева системы.

Расположение файловой системы UNIX

Суперблок содержит:

· Количество i-узлов

· Количество дисковых блоков

· Начало списка свободных блоков диска

При уничтожении суперблока, файловая система становится не читаемой.

Каждый i-узел имеет 64 байта в длину и описывает один файл (в том числе каталог).

Каталог содержит по одной записи для каждого файла.

 

Каталоговая запись UNIX V7 в 16 байт

Структура i-узела

Поле Байты Описание
Mode Тип файла, биты защиты, биты setuid и setgid
Nlinks Количество каталоговых записей, указывающий на этот i-узел
Uid Идентификатор владельца
Gid Номер группы
Size Размер файла в байтах
Addr Адрес первых 10 дисковых блоков файла и 3 косвенных блока
Gen Счетчик использования i-узла
Atime Время последнего доступа файла
Mtime Время последнего изменения файла
Ctime Время последнего изменения i-узла

 

Первые 10 дисковых блоков файла хранятся в самом i-узле, при блоке в 1Кбайт, файл может быть 10Кбайт.

Дополнительные блоки для i-узла, в случае больших файлов:

· Одинарный косвенный блок -дополнительный блок с адресами блоков файла, если файл не сильно большой, то один из адресов в i-узле указывает на дополнительный блок с адресами. Файл может быть 266Кбайт=10Кбайт+256Кбайт (256Кбайт <= 256 (2^8)-адресов блоков = 1Кбайт-размер блока / 4байта-размер адреса)

· Двойной косвенный блок- дополнительный блок с адресами одинарных косвенных блоков, если одного дополнительного блока не хватает. Файл может быть 65Мбайт=10Кбайт+28Кбайт+216Кбайт.

· Тройной косвенный блок - дополнительный блок с адресами двойных косвенных блоков, если одного одинарного косвенного блока не хватает. Файл может быть 16Гбайт=10Кбайт+28Кбайт+216Кбайт+224Кбайт.

I-узел UNIX V7

Поиск файла

 





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.107.166 (0.008 с.)