[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 IPC с использованием файлов

Рассмотрим   использование    обычных   файлов    для   межпроцессного
взаимодействия:

.    Доступность файлов определяется тремя наборами битов прав
доступа. Процессы, обменивающиеся информацией через файл, не обязаны
быть "родственниками". Под "родством" здесь понимаются отношения
родитель-порожденный или наличие общего родителя.
.    Обычные файлы имеют ограничения по размеру. Программные каналы, в
отличие от них, представляют собой непрерывный поток байтов, по
которому может быть передано произвольно большое количество
информации. При этом собственная емкость канала очень невелика. В
качестве аналогии можно предложить тоннель Линкольна, соединяющий Нью-
Йорк и Нью-Джерси, пропускающий через себя миллионы автомобилей, в то
время как в любой заданный момент тоннель вмещает не более чем,
скажем, семь сотен машин.
.    Время жизни обычного файла не зависит от времени жизни
использующих его процессов. Файлы могут создаваться и уничтожаться
вовсе не теми программами, которые используют их для взаимодействия.
Кроме того, данные в файле сохраняются и тогда, когда ни одна
программа их не использует.
.    Основная проблема, возникающая при обмене информацией через
обычный файл - это отсутствие синхронизации. Если предположить, что
емкость файла не является проблемой, как читающий процесс узнает, что
пишущий процесс окончил запись? Использование сигналов для этой цели -
неудовлетворительное решение. Кроме того, сложность задачи невероятно
возрастает, так как кроме правильности самих процессов вы должны
заботиться и о правильности синхронизации между ними.
                     IPC С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВ
Характеристики:

.    доступность
.    ограничения по объему данных
.    время жизни
.    отсутствие синхронизации