Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу по ОС.doc
Скачиваний:
1
Добавлен:
19.09.2019
Размер:
450.05 Кб
Скачать

Структура объектов.

Каждый объект имеет заголовок объекта – содержит в себе имя объекта, каталог объекта, информация о защите, квота (устанавливает ограничение на количество процессов), счетчик ссылок, список процессов с открытыми описателями объектов (ссылки на процессы, по умолчанию максимум = 230), тип объекта (содержит имя типа, виды доступа, права доступа, является ли данный объект синхронизируемым или нет, методы: открыть, закрыть, удалить, проверка прав, запрос имени).

Тело объекта специфично для каждого типа объекта и содержит данные объекта.

Методы вызываются диспетчером объектов при создании и уничтожении объекта, при открытии и закрытии описателя объекта, изменении параметров защиты. Кроме того, система позволяет динамически создавать новые типы объектов, при этом требуется, чтобы его метод был зарегистрирован у диспетчера.

Описатели объектов.

Создаются при вызове win32-функций. В случае успешного выполнения создается 64-битное описатель. При этом описатель находится в таблице описателей процессов. Из 64 разрядов 29 используется для ссылки на блок памяти объекта ядра, 3 – для флагов, 32 – для маски прав доступа. Маска прав формируется на этапе создания. По умолчанию описатель передан другому процессу быть не может, тем не менее существует возможность его дублирования. На самом деле win32-функция, создающая объект, возвращает приложению не сам описатель, а индекс в таблице описателей.

Именование объектов.

У каждого объекта есть имя для поиска и установки прав доступа. Пространство имен объектов, как и пространство имен реестров и файлов, организовано в виде дерева. В качестве вершины используется объект «каталог объектов» – включает информацию, необходимую для трансляции имен объектов и указателей на сами объекты.

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

Другим способом получения доступа к существующему объекту является наследование дочерним процессом объектов родительского процесса. Наконец, можно осуществить дублирование описателя с помощью функции 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 г.

4.ФС 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-запись содержит корень дерева, а ветви размещаются в отдельных кластерах.