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

3.10. Средства взаимодействия процессов. Сравнительная характеристика базовых механизмов ipc

3.10. ЗАСОБИ ВЗАЄМОДІЇ ПРОЦЕСІВ. ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА БАЗОВИХ МЕХАНІЗМІВ IPC.

Взаимодействие между процессорами – каналы(лучше всего  вписываются  в  модель  виртуальных коммуникационных портов). Канал для процесса практически аналогичен  файлу.  Специальные системные  вызовы используются для создания канала и получения доступа к каналу, а для работы с каналом используются те же вызовы read и write, что и для файлов, и даже закрытие канала выполняется файловым системным вызовом close. Канал, однако, представляет собой не внешние данные, а область памяти, доступ к которой осуществляется по дисциплине FIFO -  первый  вошел  -  первый вышел. Наиболее часто используются неименованные каналы,  как средство связи между родителем и потомком.  Операция создания неименованного канала возвращает два файловых манипулятора: для чтения и для записи. Процесс-предок передает эти манипуляторы процессу-потомку. Если  связь между предком и потомком однонаправленная,  то каждый из них закрывает канал по одному из манипуляторов.

Очереди сообщений  воплощают модель взаимодействия процессов "много отправителей - один получатель".  Эту модель часто называют почтовым ящиком  (mailbox). Процесс-получатель является  владельцем  очереди,  он создает очередь,  а остальные процессы получают к ней доступ,  "открывая" ее.  Очередь обычно имеет внешнее имя.  Передача данных в очереди происходит всегда сообщениями,  причем каждое сообщение имеет заголовок и тело.  Заголовок всегда имеет фиксированный для  данной системы формат. В него обязательно входит длина сообщения, а другая информация зависит от спецификаций  конкретной  системы:  это может быть приоритет сообщения, тип сообщения, идентификатор процесса, пославшего сообщение и т.п.

3.11. Интерфейс программирования API. Связь между функциями и системными вызовами. Структурная схема реализации системных вызовов. Механизмы передачи параметров в системных вызовах. Примеры API для ОС Windows и Unix.

3.11. Інтерфейс програмування API. Зв’язок між функціями та системними викликами. Структурна схема реалізації системних викликів. Механізми передавання параметрів в системних викликах. Приклади API для ОС Windows  та Unix.

Для выполнения различных действий может потребоваться режим ядра (например, все действия, связанные с управлением аппаратными средствами), но этот режим монопольно используется только самой ОС. Выполнение привилегированных операций перекладывается с плеч приложения на плечи ОС. Обеспечение такого механизма реализуется путем использования интерфейса прикладного программирования (Application Programming Interface, API). Приложения выполняют обращение к функциям API с помощью системных вызовов. При генерации системных вызовов управление передается ОС, которая либо сама выполняет действия, либо формирует управляющее воздействие на оборудование. В последнем случае оборудование выполняет операцию и сигнализирует об ошибке или нормальном завершении операции прерыванием. Обработав прерывание, ОС формирует отклик процессу – результат системного вызова.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]