Программирование и компьютеры скачать лучшие рефераты, изложения, рефераты, сочинения

Interprocess Communication

Категории рефератов: Рефераты >> Компьютеры >> Программирование и компьютеры скачать реферат
Лекция 17



Interprocess Communication



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



Проблемы именования связаны с тем, что родственных связей нет и по наследству передать ничего нельзя.
Если проблема именования решена, то возникает проблема синхронизации доступа - как организовать обмен с ресурсами, чтобы этот обмен был корректным. Если у нас есть, например, ресурс оперативная память, то когда один процесс еще не дописал информацию, а другой процесс уже прочитал весь блок, то возникает некорректная ситуация.
Решения этих проблем мы и будем рассматривать.



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



#include
#include
keyt ftok(char *s, char c);



Суть ее действия - по текстовой строке и символу генерируется уникальное для каждой такой пары значение ключа. После этого сгенерированным ключом можно пользоваться как для создания ресурса, так и для подтверждения использования ресурса. Более того, для исключения коллизий, рекомендуется указывать в качестве параметра "указателя на строку" путь к некоторому своему файлу. Второй аргумент - символьный, который позволяет создавать некоторые варианты ключа, связанного с этим именем, этот аргумент называется проектом (project). При таком подходе можно добиться отсутствия коллизий.
Давайте посмотрим конкретные средства работы с разделяемыми ресурсами.



Разделяемая память.
Общая схема работы с разделяемыми ресурсами такова - есть некоторый процесс-автор, создающий ресурс с какими-либо параметрами. При создании ресурса разделяемой памяти задаются три параметра - ключ, права доступа и размер области памяти. После создания ресурса к нему могут быть подключены процессы, желающие работать с этой памятью. Соответственно, имеется действие подключения к ресурсу с помощью ключа, который генерируется по тем же правилам, что и ключ для создания ресурса. Понятно, что здесь имеется момент некоторой рассинхронизации, который связан с тем, что потребитель разделяемого ресурса (процесс, который будет работать с ресурсом, но не является его автором) может быть запущен и начать подключаться до запуска автора ресурса. В этой ситуации особого криминала нету, так как имеются функции управления доступом к разделяемому ресурсу, с использованием которых можно установить некоторые опции, определяющие правила работы функций, взаимодействующих с разделяемыми ресурсами. В частности, существует опция, заставляющая процесс дождаться появления ресурса. Это также, может быть, не очень хорошо, например, автор может так и не появиться, но другого выхода нету, это есть некоторые накладные расходы. Вот в общих словах - что есть что.
Давайте рассмотрим те функции, которые предоставляются нам для работы с разделяемыми ресурсами.



Первая функция - создание общей памяти...
Размер: 86 кб
Просмотров: 3644
Закачек: 582
скачать реферат

Добавить комментарий

Ваше имя
Ваш комментарий
Оценка плохо   нормально   хорошо
Код на картинке

Лучшие рефераты Программирование и компьютеры, Компьютеры, Рефераты

размер реферата: 4 кб  |  просмотров: 3499  |  закачек: 2115  |  рейтинг: 1  |  читать полностью  |  скачать работу
 
размер реферата: 18 кб  |  просмотров: 1669  |  закачек: 595  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 29 кб  |  просмотров: 2550  |  закачек: 604  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 10 кб  |  просмотров: 1347  |  закачек: 579  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 66 кб  |  просмотров: 2565  |  закачек: 564  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 15 кб  |  просмотров: 1601  |  закачек: 539  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 49 кб  |  просмотров: 2933  |  закачек: 578  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 10 кб  |  просмотров: 1236  |  закачек: 538  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 7 кб  |  просмотров: 1369  |  закачек: 542  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 42 кб  |  просмотров: 2695  |  закачек: 597  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 62 кб  |  просмотров: 3779  |  закачек: 638  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 35 кб  |  просмотров: 1569  |  закачек: 526  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 17 кб  |  просмотров: 1641  |  закачек: 516  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 31 кб  |  просмотров: 2025  |  закачек: 513  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 49 кб  |  просмотров: 2857  |  закачек: 495  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 69 кб  |  просмотров: 3063  |  закачек: 522  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 39 кб  |  просмотров: 2332  |  закачек: 507  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 8 кб  |  просмотров: 1603  |  закачек: 563  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 86 кб  |  просмотров: 3645  |  закачек: 582  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
размер реферата: 19 кб  |  просмотров: 1693  |  закачек: 466  |  рейтинг: 0  |  читать полностью  |  скачать работу
 
1 2 3 4 5 6 7 8 9 10 >>
Rambler's Top100