Уильям Ричард Стивенс - UNIX: взаимодействие процессов
Название: | UNIX: взаимодействие процессов | |
Автор: | Уильям Ричард Стивенс | |
Жанр: | Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Unix, Параллельное и распределенное программирование | |
Изадано в серии: | Мастер-класс | |
Издательство: | Питер | |
Год издания: | 2003 | |
ISBN: | 5-318-00534-9 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "UNIX: взаимодействие процессов"
Книга написана известным экспертом по операционной системе UNIX и посвящена описанию одной из форм межпроцессного взаимодействия, IPC, с использованием которой создается большинство сложных программ. В ней описываются четыре возможности разделения решаемых задач между несколькими процессами или потоками одного процесса: передача сообщений, синхронизация, разделяемая память, удаленный вызов процедур.
Книга содержит большое количество иллюстрирующих примеров и может использоваться как учебник по IPC, и как справочник для опытных программистов.
Читаем онлайн "UNIX: взаимодействие процессов" (ознакомительный отрывок). Главная страница.
- 1
- 2
- 3
- . . .
- последняя (7) »
Уильям Стивенс UNIX: взаимодействие процессов МАСТЕР-КЛАСС
Всему сообществу Usenet, где можно найти много ЧаВо с ответами на все вопросы и случаи жизни
Предисловие
Введение
Большинство нетривиальных программ пишутся с использованием одной из форм межпроцессного взаимодействия (IPC — Interprocess Communication). Это естественное следствие принципа разработки, заключающегося в том, что лучше создавать приложение, состоящее из отдельных взаимодействующих элементов, чем одну большую программу. Исторически разработка приложений пережила следующие этапы развития:1. Сначала были большие цельные программы, которые делали все необходимое. Отдельные части программы реализовывались в виде функций, обменивавшихся информацией через аргументы, возвращаемые значения и глобальные переменные.
2. Потом стали создаваться небольшие программы, взаимодействующие друг с другом посредством различных средств IPC. Многие стандартные утилиты Unix были разработаны именно таким образом, причем для передачи информации использовались каналы интерпретатора.
3. Наконец, сейчас появилась возможность писать цельные программы, состоящие из взаимодействующих между собой потоков. В данном случае мы все равно применяем термин IPC, хотя процесс имеется только один.
Комбинация последних двух вариантов также возможна: несколько процессов, каждый из которых состоит из нескольких потоков, вполне могут взаимодействовать между собой.
Мы описываем возможность разделения решаемых задач между несколькими процессами или даже между потоками одного процесса. В мультипроцессорной системе такое приложение сможет выполняться гораздо быстрее, поэтому разделение задач между процессами способно повысить его быстродействие.
В этой книге подробно описываются четыре формы IPC:
1. Передача сообщений (каналы, FIFO, очереди сообщений).
2. Синхронизация (взаимные исключения, условные переменные, блокировки чтения-записи, блокировка файлов и записей, семафоры).
3. Разделяемая память (неименованная и именованная).
4. Удаленный вызов процедур (двери, Sun RPC).
Здесь не рассматриваются вопросы написания программ, взаимодействующих по сети. Такая форма взаимодействия обычно подразумевает использование интерфейса сокетов и стека протоколов TCP/IP; эти темы были подробно разобраны в первом томе книги ([24]).
Нам могут возразить, что средства IPC, не предназначенные для взаимодействия по сети, вообще не следует использовать и что вместо этого следует изначально разрабатывать приложения с расчетом на использование в сети. Однако на практике средства IPC, работающие только в пределах одного узла, функционируют гораздо быстрее, чем сетевые, да и программы с их использованием оказываются проще. Разделяемая память и средства синхронизации обычно не могут использоваться по сети — они доступны только в пределах одного узла. Опыт и история показывают, что существует потребность в наличии как несетевых, так и сетевых форм IPC.
В этой книге используется материал первого тома и других моих книг:
■ UNIX Network Programming, том 1, 1998 [24];
■ Advanced Programming in the UNIX Environment, 1992 [21];
■ TCP/IP Illustrated, том 1, 1994 [22];
■ TCP/IP Illustrated, том 2, написанной в соавторстве с Гари Райтом (Gary Wright),1995, [27];
■ TCP/IP Illustrated, том 3, 1996 [23].
Может показаться странным, что я описываю средства IPC в книге, заглавие которой содержит слова «Network Programming». Замечу, что IPC часто используется и в сетевых приложениях. Как говорилось в предисловии к книге «UNIX Network Programming» 1990 года издания, «для понимания методов разработки сетевых приложений необходимо понимание средств межпроцессного взаимодействия (IPC)».
Изменения со времени первого издания
Этот том содержит полностью переписанные главы 3 и 18 книги «UNIX Network Programming» 1990 года издания. Если подсчитать количество слов, объем материала увеличился в пять раз. Ниже перечислены основные отличия данного издания:■ В дополнение к трем формам System V IPC (очереди сообщений, семафоры, разделяемая память) рассматриваются более новые функции Posix, реализующие эти же три формы IPC. О стандартах Posix более подробно говорится в разделе 1.7. В будущем можно ожидать перехода к использованию функций Posix, обладающих определенными преимуществами по сравнению с аналогами System V.
■ Рассматриваются средства синхронизации Posix: взаимные исключения, условные переменные, --">- 1
- 2
- 3
- . . .
- последняя (7) »
Книги схожие с «UNIX: взаимодействие процессов» по жанру, серии, автору или названию:
Андрей М Робачевский - Операционная система UNIX Жанр: Unix Год издания: 1997 |
Ноа Гифт, Джереми М. Джонс - Python в системном администрировании UNIX и Linux Жанр: Современные российские издания Год издания: 2009 |
Галина Алексеевна Серикова - Секреты резьбы по дереву Жанр: Современные российские издания Год издания: 2011 Серия: Мастер-класс |
Другие книги из серии «Мастер-класс»:
Дмитрий Михайлович Липскеров - Сорок лет Чанчжоэ Жанр: Современная проза Год издания: 2005 Серия: Мастер-класс |
Дмитрий Михайлович Липскеров - Осени не будет никогда Жанр: Современная проза Год издания: 2005 Серия: Мастер-класс |
Владимир Онищенко - Соление, вяление, сушка и копчение рыбы Жанр: Кулинария Год издания: 2009 Серия: Мастер-класс |
Владимир Онищенко - Изделия из лозы Жанр: Хобби и ремесла: прочее Год издания: 2006 Серия: Мастер-класс |