| |
Процессы в кластере могут использовать один и тот же ключ для получения доступа к структуре DIPC. Эта структура должна быть создана первой. Это делается одним из системных вызовов xxxget (shmget(), semget() или msgget()). После создания и инициализации другие процессы, возможно, на других машинах, могут получить доступ к этой структуре. В данном случае ключ имеет одинаковый смысл для всех компьютеров в пределах кластера. Другими словами, компьютеры в кластере имеют общее ключевое пространство DIPC.
Много наработанного программного обеспечения с закрытыми исходными текстами может использовать IPC System V в процессе функционирования, а некоторое - использовать ключи. Поскольку эти программы могут нуждаться в наличии ряда машин в составе кластера, важно обеспечить их работу без конфликтов - с помощью DIPC. Поэтому необходимо ввести в кластер два типа отличающихся друг от друга ключей IPC:
Таким образом, для предоставления возможности запуска старых программ, соответствующие структуры IPC с набором локальных ключей должны находиться в группе компьютеров. И наконец, локальные ключи имеют тип по умолчанию, поэтому создание распределенного ключа требует от программиста явного добавления IPC_DIPC к другим пользовательским флагам в процессе создания структуры IPC или получения доступа к ней с помощью системного вызова xxxget().
Если не обращать внимания на приведенное выше требование, то структура DIPC
может использоваться полностью прозрачно. Даже при написании современных
программ, единственная вещь, которую программист должен сделать -
это указать флаг
DIPC_IPC.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |