Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0626114503_03 - Конспект лекций.doc
Скачиваний:
10
Добавлен:
21.04.2019
Размер:
554.5 Кб
Скачать

Лекция № 6

NTFS поддерживает сжатие данных. Режет файл по 16 байт и каждый из них сжимает отдельно не зависимо от других.

(121, 11)

(-1, 5) — в список кластеров пишется 5 блоков

(начало, длина сжатой части)

(-1, остаток сжатой части)

(начало, 16) — значит пишется в распакованном виде, это происходит, если сжатые данные по прежнему весят 16 б.

Возможная ситуация: (нач., 55)

(-1, 9) → 16-9 = 7 → 55 — 7= 48

В последних версиях NTFS поддерживается прозрачное шифрование. Фоново, не заметно для пользователя происходит шифровка и дешифровка данных.

Алгоритмы шифрования основаны на алгоритмах открытых ключей:

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

NTFS поддерживает точки повторной обработки: Reparsepoint

Специальный атрибут (в смысле NTFS), который ссылается на специального вида обработчик

Система ext 2

В Super Block содержится первое слово — это некоторое число, означающее, что это Super Block, т.е. это признак суперблока.

Дальше идет номер версии системы.

Дальше два числа, означающие количество монтирований и максимально допустимое количество монтирований.

Используется в следующей ситуации:

когда количество равно максимально допустимому запускается проверка целостности файловой системы и счетчик монтирований зануляется

Дальше — размер блока в байтах (сколько блоков внутри группы, сколько свободных Inode и номер первого Inode в системе, который соответствует корневому каталогу).

Group Desk:

  • количество блоков, отведено под Bitmap

  • количество блоков, занимаемых Inode Bitmap

  • с какого блока начинается таблица Inode

  • ...

Bitmap — бит-я карты, показывающая какие блоки заняты, а какие нет.

Inode Bitmap — бит-я катра того, какие Inode в Inode Table заняты файлами, а какие нет.

Inode Table — состоит из Inode (структура)

1 Indoe

Режим работы, в том числе и права доступа (первые 9 бит)

Идентификатор пользователя (владельца файла)

Размер файла

Группа полей, определяющая различный события

data — time

13 полей местоположения

В Inode нет имени.

Каталог:

  • что за файл — номер inode

  • длина конкретно этой записи в каталоге в файле

  • длина имени файла

Лекция № 7

CreatFile

Помимо файлов открывает доступ к любому объекту, принадлежащему к дереву имен операционной системы.

Правильное имя файла:

\\.\А: - файл откроется на текущей машине и будет блочным, посекторный доступ файловой системой игнорируется.

\\.\С: - посекторный доступ (права администратора) — доступ к логическому диску С

\\.PHYSICALDRIVE 0

С сылку добавляет операционная система и получает дерево подпространства имен. И ссылается на

\\.\physicdrive 0\partion 2\temp\a.c

B NTFS все имена хранятся в UNICOE

Максимальная длина имени файла — 256с.

Максимальное количество вложений — не ограничено

Максимальная длина всего пути — 64 килоштук.

Struct OVERLAPPED

{

ULONG_PTR Internal; // зарезервирован

ULONG_PTR InternalHigh; // зарезервирован

DWORD Offset; // смещение

DWORD OffsetHigh;

HANDLE hEvent;

}

Копирование файла:

BOOL CopyFile (

LPCTSTR ExistingFileName,

LPCTSTR NewFileName,

BOOL FileIfExist) // флаг, разрешающий или запрещающий перезапись (если false — значит можно)

Переименование файла

BOOL MoveFileEx(

LPCTSTR SrcFileName,

LPCTSTR DestFileName,

DWORD Flags)

Флаги:

MOVEFILE_COPY_ALLOWED — разрешено копирование

MOVEFILE_CREATE_HARDLINK — существует жесткая ссылка

MOVEFILE_DELAY_UNTIL_REROOT — отложить переименование до перезагрузки

MOVEFILE_REPLACE_EXISTING — разрешить перезапись существующего файла

MOVEFILE_WRITE_THROUGH

Удаление файла

BOOL DeleteFile (LCPTSTR FileName)

Поиск первого файла, соответствующего маске

HANDLE FindFirstFile (

LPCTSTR FileName,

LPWIN32_FIND_DATA FileData)

(возвращается дескриптор, который надо освободить)

Поиск всего подряд, соответствующее имени

BOOL FindNextFile (

HANDLE h,

LPWIN32_FIND_DATA FileData)

(Результат: нашли, не нашли)

BOOL FindClose (HANDLE)

Определяет: является ли файл исполняемым, если да, то определяет тип исполняемого файла

BOOL GetBinarytype(

LPCTSTR AppName,

LPDWORD BinType)

Типы:

SCS_WIN32_BINARY

SCS_WIN64_BINARY

SCS_DOS_BINARY

SCS_OS216_BINARY

SCS_PIF_BINARY — устаревший вариант ярлыка на старую DOS программу

SCS_POSIX_BINARY — исполняемый файл, требующий POSIX

SCS_WOW_BINARY — 16 битные приложения от Windows 3.1

BOOL CreateDirectory (

LPCTSTR DirName, // имя каталога

LPSCURITY_ATTRIBUTES Attr) // атрибуты безопасности