Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
41
Добавлен:
30.04.2013
Размер:
16.33 Mб
Скачать

Зависимости сетевой подсистемы

Сетевая подсистема использует планировщик для приостановки и во­зобновления работы процессов, пока они находятся в ожидании завершения запроса к оборудованию (что приводит к зависимости подсистем и потокам данных). В дополнение можно заметить, что сетевая подсистема поддерживает VFS посредством реализации элементом логической файловой системы в части (NFS), что приводит к зависимости VFS от сетевой

подсистемы и, следовательно, к контролю потоками данных между этими подсистемами.

Сетевая подсистема зависит от ММ, так как использует буфера, в которых временно сохраняются передаваемые данные. Файловая подсистема используется сетевой подсистемой для обеспечения интерфейса i-узлов, используемых сокетами. Сама VFS использует сетевую подсистему для реализации сетевой файловой системы NFS. Сетевая подсистема использу­ет демон kerneld (он динамически загружает и выгружает исполняемые модули) и поэтому зависит от IPC. Сетевая подсистема использует плани­ровщик для временной синхронизации функций обмена данными и управ­ления процессами передачи (запуски приостановка) информации (смотри рис. 3.17).

Подсистема межпроцессного взаимодействия

Механизм работы подсистемы межпроцессного взаимодействия — Inter-Process Communication (IPC), обеспечивает правильное функционирование исполняющихся в системе процессов, совместно использующих аппарат­ные ресурсы системы, синхронизацию и обмен данными между этими процессами. В Unix присутствуют все известные механизмы межпроцессного взаимодействия, среди которых — сигналы, разделение ресурсов, структуры данных ядра и очереди ожидания и т.д..

Существуют следующие формы межпроцессного взаимодействия Unix: Сигналы (Signals) — являются наиболее ранней формой асинхронных со- общений, посылаемых к процессам.

Очереди ожидания (Wait queues) — предназначены для реализации меха­низма приостановки выполнения процессов (состояние сна), когда они ожидают освобождения ресурса для окончания своей работы. Этот механизм используется планировщиком для реализации стратегии управления процессами.

Блокирование файлов (File locks) — является механизмом, который разрешает любому процессу объявить некоторую область файла или даже

весь файл доступным только на чтение для всех процессов, исключая про­цесс блокировки.

Каналы и именованные каналы (трубы) (Pipes and Named Pipes) — позво­ляют образовывать двунаправленную передачу данных между двумя про­цессами с установлением соединения между ними. Установление соедине­ния может быть явно через канал связи или через именованный канал в файловой системе.