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

2.Подсистема win32.

Взаимодействие между приложениями и ОС осуществляется с помощью системных вызовов, однако, приложение не может произвести системный вызов напрямую, вместо этого оно должно воспользоваться программным интерфейсом win32 API – основный интерфейс программирования в ОС Windows. Функции – документированные вызываемые подпрограммы, например CreateProcess, CreateFile. Состав – серверный процесс csrss.exe, драйверы режима ядра win32k.sys, dll-модули подсистемы. Приложение, ориентированное на win32 API, может работать практически на всех версиях Windows. При запуске процесса все требуемые динамические библиотеки отображаются в виртуальном адресном пространстве, а для быстрого вызова используется специальный вектор передачи.

При вызове приложений одной из win32-функций может возникнуть одна из 3 ситуаций:

  • Функция полностью выполняется внутри библиотеки.

  • Для выполнения функции привлекается сервис csrss.exe.

  • Вызов транслируется в системный вызов, который обычно обрабатывается в модуле ntdll.dll.

В первый версиях практически все вызовы выполняют по второй ситуации. После того, как существенная часть кода была перенесена в ядро, то вызовы идут, как правило, по третьей ситуации. Помимо перечисленных библиотек system32 содержит огромное количество других библиотек. В настоящее время количество вызовов API составляет несколько десяткой тысяч. Список экспортированных функций можно посмотреть с помощью утилиты depends, которая содержится в Platform SDK.

25 мая 2012 г.

3.Объекты, менеджер объектов.

Для слаженной работы системы ресурсов Windows создает объекты, управление которыми происходит с помощью менеджера объектов. Когда приложение открывает файл, создает поток или семафор, оно получает описатель объекта. Например, h Semaphore = CreateSemaphore (NULL, 0, MaxCount, “SemaphoreName”) – создается семафор и возвращается ссылка на объект.

Объекты – это абстрактная концепция, которая активно используется Windows для регулирования системных ресурсов. Наличие таких объектов является достоинством ОС. Преимущества:

  • Это единый интерфейс ко всем системным ресурсам.

  • Использование объектов дает возможность обновлять функциональность системы, не затрагивая программного интерфейса.

  • Удобство с точки зрения системной безопасности. Каждый объект имеет список прав доступа, который проверяется каждый раз, когда приложение создает свой описатель объектов.

  • Легко организовать совместный доступ к объектам, а также несложно отследить объекты, которые больше не используются.

Объекты ядра.

Поддержка объектов ядра выполняется ядро и исполнительной системой. Помимо объектов ядра существуют объекты для управления окнами (user) и графикой (gdi). Они уже реализуются подсистемой поддержки окон и графики. Ядро поддерживает базовые объекты двух видов: объекты диспетчера – события, мьютексы, семафоры, потоки ядра, таймеры и т.д.; управляющие объекты – DPC, APC, прерывания, процессы, профили и т.д.

Над объектами ядра находятся объекты исполнительной системы, каждый из которых инкапсулирует один или несколько объектов ядра. Они предназначены для управления памятью, процессами и межпроцессным обменом. Экспортируются в распоряжение приложений через win32-функции. К ним относятся процесс, поток, открытый файл, семафор, мьютекс, маркер доступа и др.

Внешние отличия объектов ядра от user и gdi состоит в наличии атрибутов защиты.

Объект представляет собой блок памяти в виртуальном адресном пространстве и содержит информацию об объекте в виде структуры данных. Объекты создаются в процессе загрузки и функционирования ОС и теряются при перезагрузке и выключении питания. Содержимое доступно только ядру.