Межпроцессное взаимодействие и организация критических секций
Описание
Расмотрены вопросы межпроцессного взаимодействия: основные механизмы передачи информации между процессами; такие технологии, как разделяемая память, передача сообщений, посылка сигналов, сокеты и каналы. Кроме описания функций, приведены примеры создания потоков передачи данных, позволяющие уверенно начинать применение средств межпроцессного взаимодействия. Для обеспечения синхронизации и доступа к общим Данным рассматриваются вопросы организации критических секций. В разделе, посвященном организации критических секций, рассмотретны вопросы применения различных методов организации секции: активное ожидание, семафоры, мониторы и мьютексы. Представлены "классические" задачи синхронизации процессов: производители и потребители, писатели и читатели, обедающие философы. Теоретические сведения подкреплены примерами на языках С++ и Ruby. Особое внимание уделяется полному написанию кода с созданием многопоточных приложений и организации критических секций в рамках одной программы. Для студентов, обучающихся по направлениям 09.03.01 и 09.03.04, дисциплине "Системное программное обеспечение".