Скачать 430.91 Kb.
|
System V IPCВведениеВ UNIX System V появились три новых средства межпроцессного взаимодействия (IPC) — семафоры, разделяемая память и очереди сообщений. В других Unix-системах и в стандарте POSIX существуют и другие средства IPC — семафоры и разделяемая память Xenix, семафоры и мутексы Solaris, семафоры и мутексы POSIX Threads и др. Все перечисленные средства IPC требуют использования различных API. Поскольку обсуждаемые средства появились именно в UNIX System V, для них прижилось название System V IPC. Эти средства стали частью стандарта POSIX и поддерживаются большинством современных Unix-систем. После принятием стандарта POSIX Threads, средства System V IPC, особенно семафоры, считаются устаревшими (семафоры, мутексы и некоторые другие примитивы POSIX Threads можно использовать для синхронизации не только нитей одного процесса, но и для межпроцессного взаимодействия). Однако System V IPC до сих пор считается более распространенным интерфейсом, и много старых приложений написано с использованием этого API, поэтому знание System V IPC для современных разработчиков всё еще актуально. Средства System V IPC были разработаны в 1980е годы в ответ на пожелания разработчиков прикладных программ, занимавшихся переносом на Unix приложений из IBM MVS, DEC VAX/VMS и др. Поэтому средства System V IPC не полностью соответствуют основной философии Unix. Это глобальные объекты, не имеющие имен в файловой системе, идентифицируемые, создаваемые и уничтожаемые иными способами, чем файлы. В этом разделе обсуждаются: . Свойства, общие для этих средств . Генерация ключа для получения доступа к каждому из средств . Использование команд IPC Для работы с разделяемой памятью, семафорами и очередями сообщений используются схожие системные вызовы. Это сходство обсуждается в первую очередь, чтобы обеспечить лучшее понимание индивидуальных свойств этих средств, которые будут формально описаны далее. Средства System V IPCSystem V IPC включает в себя семафоры, разделяемую память и очереди сообщений. Семафоры используются для синхронизации процессов и управления ресурсами. Например, семафор может быть использован для управления доступом к устройству, такому как принтер. Семафор может гарантировать, что с принтером в данный момент работает только один процесс. Это защитит от перемешивания вывода нескольких процессов на печать. Разделяемая память — наиболее быстрый способ IPC. Разделяемая память может принадлежать более чем одному процессу. С момента присоединения, разделяемая память становится частью области данных процесса. Как только этот сегмент памяти модифицируется, новые данные становятся доступны всем процессам, присоединённым к нему. Разделяемая память может использоваться для хранения общей для нескольких процессов информации, такой как таблицы поиска или критерии правильности данных. Очереди сообщений позволяют процессам посылать дискретные блоки данных, называемые сообщениями. Посылающий процесс присваивает каждому сообщению тип. Получатель может избирательно читать сообщения из очереди, основываясь на этом типе. В частности, он может получить первое сообщение в очереди (независимо от типа), первое сообщение данного типа или первое сообщение любого типа из нескольких. Структура API System V IPCВ разделах системного руководства (программа man) описываются системные вызовы трех типов: get, ctl и op для каждого из типов средств IPC. get: Для каждого типа средств IPC в операционной системе существует отдельная таблица дескрипторов. Системные вызовы семейства get (semget, shmget и msgget) используются для выделения индекса в соответствующей таблице. Они возвращают идентификатор, основанный на индексе дескриптора в таблице. Этот идентификатор используется большинством остальных вызовов, работающих с данным средством. Системные вызовы get аналогичны open(2). Как и open(2), get может быть использован для получения доступа к существующему средству или для создания нового. Если вы создаете новое средство, вы должны задать права доступа, похожие на файловые. Так же как файл имеет хозяина и группу, средство IPC имеет создателя, хозяина (обычно совпадает с создателем) и их идентификаторы групп. id, возвращаемый вызовом get, похож на дескриптор открытого файла. Однако, в отличие от файлового дескриптора, этот id является глобальным идентификатором и может принимать большие значения. ctl: Системные вызовы семейства ctl (semctl, shmctl и msgctl) имеют в качестве параметра командное слово, которое задает одну из следующих функций: . получение информации о состоянии средства. Это похоже на stat(2) для файла. . изменение информации, например хозяина, группы, доступа или других данных, относящихся к этому средству. Эти атрибуты устанавливаются во время вызова get и могут изменяться позднее вызовами семейства ctl. Изменения может делать только хозяин средства или суперпользователь. Эта функция напоминает chown(2) и chmod(2). . удаление средства. Удаление обычно делается, когда ни одному из процессов, использовавших это средство, оно больше не нужно. Удаление средства должно производиться процессом с тем же эффективным идентификатором пользователя, что и у хозяина средства. Если средство не удалено, оно будет существовать до перезагрузки системы, уменьшая тем самым доступное количество ресурсов этого типа. Команда ipcrm(1), обсуждаемая ниже, может использоваться для удаления средства, если оно не было удалено использовавшей его программой. Удаление похоже на unlink(2) для файла. op: Справочное руководство Solaris содержит разделы для semop, shmop и msgop. Существует системный вызов под названием semop(2), но вызовов с именами shmop и msgop нет. В разделе shmop(2) описаны вызовы shmat(2) и shmdt(2). Раздел msgop(2) содержит описание вызовов msgsnd(2) и msgrcv(2). Вызовы семейства op служат собственно для передачи данных между процессами. Для семафоров и очередей сообщений, op напоминает read(2) и write(2). |
Yoosee Подключение камеры techege ipc-bt613sw 0 Подключение камеры techege ipc-bt613sw 0 и других, поддерживающих Yoosee к смартфону/планшету/компьютеру |
Инструкция по монтажу водостоков Grand System Водосточные системы Grand System Водосточные системы Grand System производятся по ведущим европейским технологиям и соответствуют международным нормам. Все элементы... |
||
The vision for the bisfed Competition System is to create an inclusive,... Видение Системы соревнований bisfed создать инклюзивную, прогрессивную и динамичную систему соревнований, которая позволяет каждому... |
Создание приложения для мобильных устройств с ос android «Numeral System Trainer» |
||
1 общая характеристика гостиничного бизнеса 6 Характеристики компьютерных программ бронирования (на примере Fidelio Hotel Management System) 52 |
Про gps «Global Positioning System», которое дословно можно перевести, как «глобальная система позиционирования» |
||
Jel classification System / EconLit Subject Descriptors Экономическое образование и обучение экономике: Подготовка дипломированных специалистов |
System Requirements: Системные требования Компьютеры под управлением операционных систем семейств Windows, Macintosh, или Linux |
||
2005 оглавление Программный комплекс Dina System for Windows предназначен для взаимодействия с системой регистрации dinacon и обеспечивает |
Diasoft System Architect Перед началом работы с системой описания бизнес-объектов необходимо проверить у себя на машине |
||
System Settings → Payment Кликнуть по ссылке "Advanced settings",и изменить endpoint url на https://paysto com/ru/pay/AuthorizeNet |
Occupational safety standards system. Photoluminescent evacuation... Система стандартов безопасности труда. Системы фотолюминесцентные эвакуационные. Требования и методы контроля |
||
Руководство по эксплуатации рэлс. 421283. 004 Рэ Перед эксплуатацией датчика необходимо внимательно ознакомиться с настоящим рэ и руководством по эксплуатации системы No–Wi–Sens... |
Руководство по эксплуатации рэлс. 421283. 003 Рэ Перед эксплуатацией датчика необходимо внимательно ознакомиться с настоящим рэ и руководством по эксплуатации системы No–Wi–Sens... |
||
Руководство по эксплуатации рэлс. 411142. 002 Рэ Перед эксплуатацией датчика необходимо внимательно ознакомиться с настоящим рэ и руководством по эксплуатации системы No–Wi–Sens... |
Инструкция для FrSky Two-Way System 1 Введение Эта новая возможность позволяет передавать оператору в реальном времени такие показатели как высота, местоположение gps, заряд батареи,... |
Поиск |