Совместное использование объектов.
⇐ ПредыдущаяСтр 10 из 10 Другим способом получения доступа к существующему объекту является наследование дочерним процессом объектов родительского процесса. Наконец, можно осуществить дублирование описателя с помощью функции Duplicate Handle. Система управляет объектами «файл» отлично ото всех других. Реестр. Начиная с Windows 95, появился реестр данных. Реестр – централизованная общесистемная база данных. Для просмотра, модификации данных реестра используются встроенные утилиты, например regedit. Данные реестра хранятся в виде иерархической древовидной структуры, при этом каждый узел называется разделом или ключом. Названия верхних уровней начинаются с символов HKEY. В разделе могут содержаться подразделы. Записи, находящиеся в нижнем разделе, называются параметрами. В реестре содержится 6 корневых разделов:
Наиболее главным является четвертый раздел. Пространство имен реестра интегрировано с общим пространством имен ядра. Реестр хранится на диске в виде файлов, которые называются кустами или ульями. Большинство файлов находится в каталоге SystemRoot/System32/config. Большое значение уделяется повышению надежности хранения, для этого ведется протокол модификации кустов. Кроме того используются зеркальные копии критически важных узлов. Описатели кустов можно посмотреть с помощью утилиты handleex.exe, данные доступны через win32-функции. Например, с помощью функции RegOpenKeyEx можно открыть раздел реестра.
29 мая 2012 г. ФС NTFS. В ОС Windows присутствует система ввода/вывода. Задача этой системы – скрыть особенности работы с дисками и предоставить в распоряжение ФС используемое дисковое пространство в виде непрерывной последовательности блоков фиксированного размера.
Диски разбиваются на блоки размером 512 байт. Принято работать с блоками более крупного размера – кластерами. Размер кластера = размер сектора * кластерный множитель. Величина множителя устанавливается во время форматирования. От размера кластера зависит производительность ОС. Если кластер большой, то возникнет проблема фрагментации. Исследования показали, что оптимальный размер = 1-8 Кб. Существуют кластеры диска (volume cluster), кластеры, принадлежащие файлу (logical cluster). Основная функция ФС – связь символьного имени с блоками диска, принадлежащими файлу. Эта функция реализуется с помощью ссылки из записи каталога о данном файле на запись в таблице, формат которой определяется типом ФС на диске. У FAT имеется таблица размещения файлов, в которой поддерживаются списки кластеров, которые занимает файл. У NTFS существует такая же таблица (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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|