Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольные вопросы + ответы.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
323 Кб
Скачать
☆
  1. Взаимодействие процессов: проблематика и средства.

Процесс работает в своём собственном адресном пространстве.

Изолированность адресов – ключевая проблема в организации взаимодействия процессов.

Для синхронизации процессов и обмена данными между ними используются стандартные системные средства-ресурсы.

Время жизни системного ресурса межпроцессного взаимодействия может превышать время существования процесса, использующего его.

Доступ к ресурсам межпроцессного взаимодействия организован через системные вызовы.

Передача данных процессом сопровождается копированием данных из области процесса в системную область.

Приём данных процессом сопровождается копированием данных из системной области в область процесса.

Каналы

принципы обмена данными посредством канала: поток байтов, «очередь»

операции над каналами (создание, открытие, чтение, запись, закрытие)

блокирование процесса при выполнении доступа к каналу.

непоименованные каналы можно использовать между родственными процессами. Данные в канале размещаются в оперативной памяти. Недостаток использования – ограничение на вместимость. Время жизни канала ограничено временем жизни процессов, использующих его.

поименованные – между любыми процессами. Данные в канале размещаются в специальном файле. Время жизни канала может превышать время жизни процессов, использующих его с сохранением данных в канале.

использование (в оболочках – реализация конвейера команд)

системные вызовы: pipe, mknod, open, read, write, close

Организация взаимодействия посредством очередей сообщений.

принципы обмена данными посредством сообщений: структурированный поток байтов, типы сообщений, ключи.

операции над очередью (создание, открытие, чтение, запись, закрытие) блокирование процесса при выполнении доступа к очереди.

Время жизни очереди сообщений может превышать время жизни процессов, использующих его с сохранением данных в очереди.

недостатки использования (ограничение на вместимость, накладные расходы)

системные вызовы: ftok, msgget, msgsnd, msgrcv, msgctl

Разделяемая память.

Принципы обмена данными через разделяемую память: «перекрытие» адресного пространства, ключи.

Операции (создание-открытие, присоединение, отсоединение)

сравнение с общей памятью потоков выполнения (существует после завершения процессов, явное присоединение, уникальные ключи).

системные вызовы: ftok, shmget, shmat, shmdt, shmctl

Семафоры (System V)

Используются как средство синхронизации процессов.

Системный ресурс, существующий вне процессов.

Через системные вызовы предоставляют операции создания, P(S), V(S) и инициализации.

Использование – совместно с разделяемой памятью.

Системные вызовы: semget, semop, semctl.

Использование сокетов.

Могут использоваться для взаимодействия процессов разных вычислительных систем

Сокет идентифицируется указанием IP-адреса вычислительной системы и номером порта на ней.

Этапы установления связи со стороны сервера

1. создание окончания (сокета) для соединения (socket);

2. именование сокета с помощью указания адреса (bind);

3. прослушивание в ожидании запроса (listen);

4. принятие (ввод) (accept);

5. выполнение ввода-вывода (read/write);

6. закрытие (close).

Этапы установления связи со стороны клиента

1. создание окончания (сокета) для соединения (socket);

2. формирование сетевого адреса (inet_pton);

3. запрос на соединение (connect);

4. выполнение ввода-вывода (read/write);

5. закрытие (close).