Мы рассмотрели несколько форм
взаимодействия процессов. Первой
формой, положившей начало
обсуждению, явилась трассировка
процессов - взаимодействие двух
процессов, выступающее в качестве
полезного средства отладки
программ. При всех своих
преимуществах трассировка
процессов с помощью функции ptrace все
же достаточно дорогостоящее и
примитивное мероприятие, поскольку
за один сеанс функция способна
передать строго ограниченный объем
данных, требуется большое
количество переключений контекста,
взаимодействие ограничивается
только формой отношений
родитель-потомок, и наконец, сама
трассировка производится только по
обоюдному согласию участвующих в
ней процессов. В версии V системы UNIX
имеется пакет взаимодействия
процессов (IPC), включающий в себя
механизмы обмена сообщениями,
работы с семафорами и разделения
памяти. К сожалению, все эти
механизмы имеют узкоспециальное
назначение, не имеют хорошей
стыковки с другими элементами
операционной системы и не
действуют в сети. Тем не менее, они
используются во многих приложениях
и по сравнению с другими схемами
отличаются более высокой
эффективностью. Система UNIX поддерживает широкий
спектр вычислительных сетей.
Традиционные методы согласования
протоколов в сильной степени
полагаются на помощь системной
функции ioctl, однако в разных типах
сетей они реализуются по-разному. В
системе BSD имеются системные
функции для работы с гнездами,
поддерживающие более
универсальную структуру сетевого
взаимодействия. В будущем в версию V
предполагается включить описанный
в главе 10 потоковый механизм,
повышающий согласованность работы
в сети. Предыдущая
глава || Оглавление
|| Следующая глава
11.5 ВЫВОДЫ