ВУЗ:
Составители:
89
4.1.4. Механизмы межпроцессного взаимодействия в ОС Unix
При решении задачи синхронизации процессов и их взаимодейст-
вия посредством различных механизмов, предоставляемых ОС, может
потребоваться использование следующих системных вызовов:
• создание, завершение процесса, получение информации о про-
цессе: fork, exit, getpid, getppid и т. д.;
• синхронизация процессов: signal, kill, sleep, alarm, wait, paus),
semop, semctl, semcreate и т. д.;
• создание информационного канала, разделяемой памяти, оче-
реди сообщений и работа с ними: pipe, mkfifo, read, write, msgget, shmget,
msgctl, shmctl и т. д.
Механизм межпроцессного взаимодействия (Inter-Process Commu-
nication Facilities – IPC) включает
• средства, обеспечивающие возможность синхронизации про-
цессов при доступе к совместно используемым ресурсам, – семафоры
(semaphores);
• средства, обеспечивающие возможность посылки процессом
сообщений другому произвольному процессу, – очереди сообщений
(message queries);
• средства, обеспечивающие возможность наличия общей для
процессов памяти, – сегменты разделяемой памяти (shared memory
segments);
• средства, обеспечивающие возможность «общения» процессов,
как родственных, так и нет, через пайпы или каналы (pipes).
Наиболее общим понятием IPC является ключ, хранимый в обще-
системной таблице и обозначающий объект межпроцессного взаимо-
действия, доступный нескольким процессам. Обозначаемый ключом
объект может быть очередью сообщений, набором семафоров или сег-
ментом разделяемой памяти. Ключ имеет тип key-t, состав которого за-
висит от реализации и определяется в файле <sys/types.h>. Ключ ис-
пользуется для создания объекта межпроцессного взаимодействия или
получения доступа к существующему объекту.
Семафоры
Для работы с семафорами поддерживаются три системных вызова:
• semget – для создания и получения доступа к набору семафоров;
• semop – для манипулирования значениями семафоров (систем-
ный вызов, который позволяет процессам синхронизоваться на основе
использования семафоров);
• semctl – для выполнения разнообразных управляющих опера-
ций над набором семафоров.
Страницы
- « первая
- ‹ предыдущая
- …
- 87
- 88
- 89
- 90
- 91
- …
- следующая ›
- последняя »
