Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по конспектам 2011.docx
Скачиваний:
13
Добавлен:
21.04.2019
Размер:
967.53 Кб
Скачать

53. Сообщения в микроядерных ос.

В микроядерных ОС средства сообщений – базовые средства IPC. Универсальны для локальных и сетевых вариантов. Нет необходимости редиректора.

POSIX <= есть в микроядерных системах.

Это средство реализовано как надстройка над родными средствами сообщений.

В СРВ есть требование точного выполнения в заданные сроки – механизм send msg – с квитированием.

Количество блокировок сильно возрастает в общем перечне состояний процесса

[send – receive – reply]

Общие затраты ресурсов на общую передачу сообщений невелики.

Количество передач сообщений огромно (всё взаимодействие посредством сообщений с квитированием).

Типы:

- send-управляемая передача сообщений

- receive-управляемая передача сообщений

В зависимости от типа меняется структура клиент-серверного приложения.

54. Процессы и потоки в WinNt

Основная модель функционирования – объектная. Основная часть ОС написана на языке C. Ресурсы представляются объектами (в т.ч. процессы, файлы). Процессы создаются и реализуются как объекты -> доступ посредством объектных сервисов. В адресном пространстве процесса может быть несколько потоков. Есть встроенные средства синхронизации. Для базового процесса не поддерживается наследование

Состав процесса

- исполняемая программа (код + данные)

- закрытое адресное пространство (набор адресов в виртуальной памяти)

- системные ресурсы (то, что выделяется ОС для выполнения программы)

- хотя бы один поток выполнения.

Поток внутри процесса – сущность, управляемая ОС.

Адресное пространство – все ограничения вносятся системой виртуальной памяти. Процессы получают логический образ (окружение потока + пользовательская часть).

Виртуализация – отображение виртуальной памяти в физическую.

Собственное АП процессов изолировано от других -> нужны средства IPC. Здесь это сделано в виде иерархии.

API защищённой подсистемы – серверы.

- упрощение базовой системы

- расширение функциональности

Подсистемы находятся в пользовательском режиме (представлены в виде ограниченного набора ф-й).

Клиент-серверная модель – защищённая подсистема определяет набор требуемых функций. Через них эти функции и вызываются. У процесса есть маркер доступа.

Таблица описателей.

Описатели – набор структур, созданных диспетчером. Он играет роль посредника для процесса, чтобы читать и писать в виртуальном АП.

Маркер доступа также является объектом. Создаётся и уничтожается диспетчером. Открытие описателя маркера доступа выполняется по специальным правам. Маркер содержит заголовок объекта – атрибуты (дескриптор защиты), имя процесса, каталог объектов.

Дополнительные ресурсы – базовый приоритет, процессорное сродство, набор квот на ресурсы. Могут наследоваться.

Атрибуты объекта

Назначение

ID

Уникальный определитель

Маркер доступа

Объект, содержащий информацию о правах процесса

Базовый приоритет

Базовый приоритет основного потока

Процессорное сродство

Набор процессоров, на которых потоки-процессы могут исполняться по умолчанию

Размер квот

Мах V резидентной/нерезидентной системной памяти – пространство в файле подкачки, например процессорное время, выделенное процессу.

Время выполнения

Общее время выполнения всех потоков

Счётчик ввода/вывода

Переменная, в которой сохраняется число и тип операций ввода/вывода процессов

Счётчик операций вирт. памяти

Переменная, в которой сохраняется число и тип операций виртуальной памяти

Код отладки

Канал коммуникации между процессами

Код завершения

Причина завершения процесса

Атрибуты определяет диспетчер процессов. Атрибуты формируют ограничения на потоки процессов. Приоритеты потоков регулируются ядром NT.

Общее у потока и процесса: АП, маркер доступа, базовый приоритет, описатель объекта.

Для потока-объекта есть свои атрибуты.

Атрибуты объекта

Назначение

Клиентский ID

Уникальный определитель потока

Контекст потока

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

Динамический приоритет

Приоритет на данное время

Базовый приоритет

Нижний предел приоритета

Процессорное сродство потока

Набор процессоров, на которых может выполняться данный поток

Время выполнения потока

Общее время выполнения потока в режиме ядра и в режиме задачи

Статус оповещения

Наличие асинхронного вызова (процедура APC)

Счётчик приостановок

Количество остановок выполнения потока без возобновления

Маркер имперсонации (SUID)

Временный маркер доступа от имени другого потока

Код отладки

Канал коммуникации

Код завершения

Причина завершения потока

Приоритеты 16-31 – приоритеты РВ (нет связи с СРВ) – событийное реагирование.