Технические средства автоматизации и управления

kontroller.gif
Межпроцессорные коммуникации
Оглавление
Межпроцессорные коммуникации
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9
Страница 10
Страница 11
Страница 12
Страница 13
Страница 14
Страница 15
Страница 16
Страница 17
Страница 18
Страница 19
Страница 20
Страница 21
Страница 22
Страница 23
Все страницы

Лекция 17

Interprocess Communication

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

  1. Именование;
  2. Синхронизация;

Проблемы именования связаны с тем, что родственных связей нет и по наследству передать ничего нельзя.
Если проблема именования решена, то возникает проблема синхронизации доступа — как организовать обмен с ресурсами, чтобы этот обмен был корректным. Если у нас есть, например, ресурс “оперативная память”, то когда один процесс еще не дописал информацию, а другой процесс уже прочитал весь блок, то возникает некорректная ситуация.
Решения этих проблем мы и будем рассматривать.
Проблема именования решается за счет ассоциирования с каждым ресурсом некоторого ключа. В общем случае это целочисленное значение. То есть при создании разделяемого ресурса его автор приписывает ему номер и определяет права доступа к этому ресурсу. После этого любой процесс, который укажет системе, что он хочет общаться с разделяемым ресурсом с ключом N, и обладает необходимыми правами доступа, будет допущен для работы с этим ресурсом.
Однако такое решение не является идеальным, так как вполне возможна коллизия номеров — когда совпадают номера разделяемых ресурсов. В этом случае процессы будут путаться, что неизбежно приведет к ошибкам. Поэтому в системе предусмотрено стандартное средство генерации уникальных ключей. Для генерации уникального ключа используется функция ftok

#include <sys/types.h>
#include <sys/ipc.h>
key_t ftok(char *s, char c);


 
автоматизация торговли автоматизация предприятия вот это интереснее автоматизация звуков ну это просто какой-то бред автоматизация процессов производства ну это у всех такое правда автоматизация технологического производства ну опять хоть бы чо интересно придумали автоматизация и управление еееее вот оно, только без толку автоматизация технологических процессов и производств такое даже вводят?! вот бред 1с комплексная автоматизация ну конечно комплексно все хотят технологии автоматизации нет никаких технологий, одни киборги схема автоматизации ну это какая-то вообще хуета проект автоматизации бери да пиши вот те и проект промышленная автоматизация и такое, да, бывает автоматизация проектирования ооо автоматизация чо реал есть такое ооо??!?!