Логический элемент
Средства взаимодействия процессов. Сравнительная характеристика базовых механизмов IPC
Download 384.49 Kb.
|
Answers
3.10. Средства взаимодействия процессов. Сравнительная характеристика базовых механизмов IPC3.10. ЗАСОБИ ВЗАЄМОДІЇ ПРОЦЕСІВ. ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА БАЗОВИХ МЕХАНІЗМІВ IPC. Взаимодействие между процессорами – каналы(лучше всего вписываются в модель виртуальных коммуникационных портов). Канал для процесса практически аналогичен файлу. Специальные системные вызовы используются для создания канала и получения доступа к каналу, а для работы с каналом используются те же вызовы read и write, что и для файлов, и даже закрытие канала выполняется файловым системным вызовом close. Канал, однако, представляет собой не внешние данные, а область памяти, доступ к которой осуществляется по дисциплине FIFO - первый вошел - первый вышел. Наиболее часто используются неименованные каналы, как средство связи между родителем и потомком. Операция создания неименованного канала возвращает два файловых манипулятора: для чтения и для записи. Процесс-предок передает эти манипуляторы процессу-потомку. Если связь между предком и потомком однонаправленная, то каждый из них закрывает канал по одному из манипуляторов. Очереди сообщений воплощают модель взаимодействия процессов "много отправителей - один получатель". Эту модель часто называют почтовым ящиком (mailbox). Процесс-получатель является владельцем очереди, он создает очередь, а остальные процессы получают к ней доступ, "открывая" ее. Очередь обычно имеет внешнее имя. Передача данных в очереди происходит всегда сообщениями, причем каждое сообщение имеет заголовок и тело. Заголовок всегда имеет фиксированный для данной системы формат. В него обязательно входит длина сообщения, а другая информация зависит от спецификаций конкретной системы: это может быть приоритет сообщения, тип сообщения, идентификатор процесса, пославшего сообщение и т.п. 3.11. Интерфейс программирования API. Связь между функциями и системными вызовами. Структурная схема реализации системных вызовов. Механизмы передачи параметров в системных вызовах. Примеры API для ОС Windows и Unix.3.11. Інтерфейс програмування API. Зв’язок між функціями та системними викликами. Структурна схема реалізації системних викликів. Механізми передавання параметрів в системних викликах. Приклади API для ОС Windows та Unix. Для выполнения различных действий может потребоваться режим ядра (например, все действия, связанные с управлением аппаратными средствами), но этот режим монопольно используется только самой ОС. Выполнение привилегированных операций перекладывается с плеч приложения на плечи ОС. Обеспечение такого механизма реализуется путем использования интерфейса прикладного программирования (Application Programming Interface, API). Приложения выполняют обращение к функциям API с помощью системных вызовов. При генерации системных вызовов управление передается ОС, которая либо сама выполняет действия, либо формирует управляющее воздействие на оборудование. В последнем случае оборудование выполняет операцию и сигнализирует об ошибке или нормальном завершении операции прерыванием. Обработав прерывание, ОС формирует отклик процессу – результат системного вызова. Для обеспечения передачи параметров диспетчеру системных вызовов и процедурам ОС могут использоваться различные механизмы: – передача параметров через регистры (самый быстрый механизм, но сильное ограничение по количеству передаваемой информации); – передача параметров через область памяти, адрес которой заносится в регистр (позволяет передать максимально возможное количество параметров); – передача параметров через стек процесса (не задействуем дополнительный регистр, нет проблем с памятью, так как параметры будут сразу помещены в доступную для процесса память). Download 384.49 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling