Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Совместное использование объектов.




Другим способом получения доступа к существующему объекту является наследование дочерним процессом объектов родительского процесса. Наконец, можно осуществить дублирование описателя с помощью функции Duplicate Handle. Система управляет объектами «файл» отлично ото всех других.

Реестр.

Начиная с Windows 95, появился реестр данных. Реестр – централизованная общесистемная база данных. Для просмотра, модификации данных реестра используются встроенные утилиты, например regedit. Данные реестра хранятся в виде иерархической древовидной структуры, при этом каждый узел называется разделом или ключом. Названия верхних уровней начинаются с символов HKEY. В разделе могут содержаться подразделы. Записи, находящиеся в нижнем разделе, называются параметрами. В реестре содержится 6 корневых разделов:

  1. HKEY_CURRENT_USER
  2. HKEY_USERS
  3. HKEY_CLASSES_ROOT
  4. HKEY_LOCAL_MACHINE
  5. HKEY_CURRENT_CONFIG
  6. HKEY_PERFOMANCE_DATA

Наиболее главным является четвертый раздел.

Пространство имен реестра интегрировано с общим пространством имен ядра. Реестр хранится на диске в виде файлов, которые называются кустами или ульями. Большинство файлов находится в каталоге SystemRoot/System32/config. Большое значение уделяется повышению надежности хранения, для этого ведется протокол модификации кустов. Кроме того используются зеркальные копии критически важных узлов. Описатели кустов можно посмотреть с помощью утилиты handleex.exe, данные доступны через win32-функции. Например, с помощью функции RegOpenKeyEx можно открыть раздел реестра.

 

29 мая 2012 г.

ФС NTFS.

В ОС Windows присутствует система ввода/вывода. Задача этой системы – скрыть особенности работы с дисками и предоставить в распоряжение ФС используемое дисковое пространство в виде непрерывной последовательности блоков фиксированного размера.

 

Диски разбиваются на блоки размером 512 байт. Принято работать с блоками более крупного размера – кластерами. Размер кластера = размер сектора * кластерный множитель. Величина множителя устанавливается во время форматирования. От размера кластера зависит производительность ОС. Если кластер большой, то возникнет проблема фрагментации. Исследования показали, что оптимальный размер = 1-8 Кб. Существуют кластеры диска (volume cluster), кластеры, принадлежащие файлу (logical cluster). Основная функция ФС – связь символьного имени с блоками диска, принадлежащими файлу. Эта функция реализуется с помощью ссылки из записи каталога о данном файле на запись в таблице, формат которой определяется типом ФС на диске. У FAT имеется таблица размещения файлов, в которой поддерживаются списки кластеров, которые занимает файл. У NTFS существует такая же таблица (MFT). Такая таблица имеет следующую структуру:

18 – Файлы пользователя
17 – Файлы пользователя
16 – Файлы пользователя
15 – Зарезервирован
14 – Зарезервирован
13 – Зарезервирован
12 – Зарезервирован
11 – Расширения метода данных и квоты
10 – Преобразование регистра
9 – Файл описателей защиты
8 – Список плохих кластеров
7 – Загрузочный сектор
6 – Битовый массив учета занятых кластеров
5 – Битовый массив учета занятых кластеров
4 – Корневой каталог
3 – Таблица определения атрибутов
2 – Файл тома
1 – Файл журнала для восстановления
0 – Зеркальная копия MFT

Вся структура представляется файлом, в котором содержится до 248 записей, размер каждой – 1 Кб. Если файл имеет несколько записей, то первая из них называется базовой. Каждая запись содержит «заголовок» и пары «заголовок атрибуты, значение». Атрибуты бывают 2 типов: если атрибут целиком вмещается в MFT, он считается резидентным, резидентными всегда будут имя файла и стандартная информация; если атрибут помещается в разные блоки диска, а в заголовке хранится информация о его местонахождении, обычно нерезидентные – поток данных файла, индекс.

Битовый массив – представляет набор единиц и нулей, каждому из которых соответствует блоку. Он сам хранится в файле.

Директория или каталог – это файл, имеющий вид таблицы и хранящий список входящих в него файлов и каталогов. Основная задача этих директорий – поддержка иерархической структуры ФС. Ей соответствует 1 запись MFT – имя, метка, размер и ссылка на запись. Пример: стандартная информация – имя файла-каталога – ссылки на записи MFT. Для больших каталогов совокупность записей о файлах не помещается в одну запись MFT и организована в виде В+-дерева. MFT-запись содержит корень дерева, а ветви размещаются в отдельных кластерах.

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

Реализуется с помощью API-функций. Процесс поиска:

Точки повторного анализа.

Современные ОС предоставляют в распоряжение пользователей возможности для монтирования ФС и образования жестких и символических связей. Эта возможность реализована с помощью точек повторного анализа – записи MFT, у которой установлен флаг FILE_ATTRIBUTE_REPARSE_POINT.

Монтирование. С помощью этой операции включается новая ФС в существующую. Монтирование базовых ФС происходит при первом обращении к диску и делается оно при помощи диспетчера монтирования. Создание точек монтирования – связывание каталога NTFS реализовано с помощью точек повторного анализа. Поиск таких точек можно провести с помощью функций: FindFirstVolumeMountPoint, FindNextVolumeMountPoint.

Создание связей. ОС Windows поддерживает 2 типа связей: жесткие и символические. В случае жесткой связи запись о файле появляется в новом каталоге, а MFT-запись этого файла включает счетчик количества ссылок на данный файл. Символическая связь – создание нового файла, который содержит путь к связываемому файлу. Метод удобен для уменьшения степени вложенности. Жесткие связи создаются функцией CreateHardLink. В ОС Windows встроенной утилиты для её поддержки нет, но в состав ресурсов входит утилита ln. Символическую связь можно создать либо с помощью утилиты linkd.exe, либо junction.exe. В Windows поддерживается до 32 уровней вложенности, либо длина пути файла – до 256 символов.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...