[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
IPC с использованием файлов
Рассмотрим использование обычных файлов для межпроцессного
взаимодействия:
. Доступность файлов определяется тремя наборами битов прав
доступа. Процессы, обменивающиеся информацией через файл, не обязаны
быть "родственниками". Под "родством" здесь понимаются отношения
родитель-порожденный или наличие общего родителя.
. Обычные файлы имеют ограничения по размеру. Программные каналы, в
отличие от них, представляют собой непрерывный поток байтов, по
которому может быть передано произвольно большое количество
информации. При этом собственная емкость канала очень невелика. В
качестве аналогии можно предложить тоннель Линкольна, соединяющий Нью-
Йорк и Нью-Джерси, пропускающий через себя миллионы автомобилей, в то
время как в любой заданный момент тоннель вмещает не более чем,
скажем, семь сотен машин.
. Время жизни обычного файла не зависит от времени жизни
использующих его процессов. Файлы могут создаваться и уничтожаться
вовсе не теми программами, которые используют их для взаимодействия.
Кроме того, данные в файле сохраняются и тогда, когда ни одна
программа их не использует.
. Основная проблема, возникающая при обмене информацией через
обычный файл - это отсутствие синхронизации. Если предположить, что
емкость файла не является проблемой, как читающий процесс узнает, что
пишущий процесс окончил запись? Использование сигналов для этой цели -
неудовлетворительное решение. Кроме того, сложность задачи невероятно
возрастает, так как кроме правильности самих процессов вы должны
заботиться и о правильности синхронизации между ними.
IPC С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВ
Характеристики:
. доступность
. ограничения по объему данных
. время жизни
. отсутствие синхронизации