• Пожаловаться

Уильям Стивенс: UNIX: взаимодействие процессов

Здесь есть возможность читать онлайн «Уильям Стивенс: UNIX: взаимодействие процессов» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях присутствует краткое содержание. Город: Санкт-Петербург, год выпуска: 2003, ISBN: 5-318-00534-9, издательство: Питер, категория: Программирование / на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале. Библиотека «Либ Кат» — LibCat.ru создана для любителей полистать хорошую книжку и предлагает широкий выбор жанров:

любовные романы фантастика и фэнтези приключения детективы и триллеры эротика документальные научные юмористические анекдоты о бизнесе проза детские сказки о религиии новинки православные старинные про компьютеры программирование на английском домоводство поэзия

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

Уильям Стивенс UNIX: взаимодействие процессов

UNIX: взаимодействие процессов: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «UNIX: взаимодействие процессов»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга написана известным экспертом по операционной системе UNIX и посвящена описанию одной из форм межпроцессного взаимодействия, IPC, с использованием которой создается большинство сложных программ. В ней описываются четыре возможности разделения решаемых задач между несколькими процессами или потоками одного процесса: передача сообщений, синхронизация, разделяемая память, удаленный вызов процедур. Книга содержит большое количество иллюстрирующих примеров и может использоваться как учебник по IPC, и как справочник для опытных программистов.

Уильям Стивенс: другие книги автора


Кто написал UNIX: взаимодействие процессов? Узнайте фамилию, как зовут автора книги и список всех его произведений по сериям.

UNIX: взаимодействие процессов — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «UNIX: взаимодействие процессов», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Таблица 1.4. Действие fork, exec и _exit на IPC

Тип IPCforkexec_exit
Неименованные и именованные каналыПорожденный процесс получает копии всех дескрипторов родительского процессаВсе открытые дескрипторы остаются открытыми, если для них не установлен бит FD_CLOEXECВсе открытые дескрипторы закрываются, данные из программного канала и FIFO удаляются после последнего закрытия
Очереди сообщений PosixПорожденный процесс получает копии всех открытых родительских процессовВсе открытые дескрипторы очередей сообщений закрываютсяВсе открытые дескрипторы очередей сообщений закрываются
Очереди сообщений System VНе действуетНе действуетНе действует
Взаимные исключения и условные переменные PosixОбщий доступ, если используется разделяемая память с атрибутом разделения между процессамиИсчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделенияИсчезает, если не находится в разделяемой памяти, которая остается открытой и имеет атрибут разделения
Блокировки чтения-записи PosixОбщий доступ, если используется память с общим доступом и атрибутом разделения между процессамиИсчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделенияИсчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения
Семафоры Posix, хранящиеся в памятиОбщий доступ, если используется память с общим доступом и атрибутом разделения между процессамиИсчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделенияИсчезает, если не хранится в разделяемой памяти, которая остается открытой и имеет атрибут разделения
Именованные семафоры PosixВсе открытые в родительском процессе остаются открытыми в порожденномВсе открытые закрываютсяВсе открытые закрываются
Семафоры System VВсе значения semadj в порожденном процессе устанавливаются в 0Все значения semadj передаются новой программеВсе значения semadj добавляются к значению соответствующего семафора
Блокировка записей fcntlБлокировки в родительском процессе не наследуются порожденным процессомБлокировки не изменяются до тех пор, пока не закроется дескрипторВсе несброшенные блокировки, установленные процессом, снимаются
Отображение памятиОтображения памяти родительского процесса сохраняются в порожденномОтображения памяти сбрасываются (unmap)Отображения памяти сбрасываются
Разделяемая память PosixОтображения памяти родительского процесса сохраняются в порожденномОтображения памяти сбрасываютсяОтображения памяти сбрасываются
Разделяемая память System VПрисоединенные сегменты разделяемой памяти остаются присоединенными в порожденном процессеПрисоединенные сегменты разделяемой памяти отсоединяютсяПрисоединенные сегменты разделяемой памяти отсоединяются
Двери (doors)Порожденный процесс получает копии всех открытых дескрипторов родительского процесса, но только родительский процесс является сервером при активизации дверей через дескрипторыВсе дескрипторы дверей должны быть закрыты, потому что они создаются с установленным битом FD_CLOEXECВсе открытые дескрипторы закрываются

1.6. Обработка ошибок: функции-обертки

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

Sem_post(ptr);

Пример функции-обертки приведен в листинге 1.1 [1] Все исходные тексты, опубликованные в этой книге, вы можете найти по адресу http://www.piter.com/download.

Листинг 1.1. Функция-обертка к функции sem_post

// lib/wrapunix.c

387 void

388 Sem_post(sem_t *sem)

389 {

390 if (sem_post(sem) == –1)

391 err_sys("sem_post error");

392 }

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «UNIX: взаимодействие процессов»

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


Отзывы о книге «UNIX: взаимодействие процессов»

Обсуждение, отзывы о книге «UNIX: взаимодействие процессов» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.