Засоби взаємодії процесів в стандарті POSIX

Десятиліття успішного використання UNIX виявили, тим не менше, ряд недоліків у вихідній архітектурі цієї системи. Одним з найпомітніших прогалин була явна слабкість механізму синхронізації процесів, заснованого фактично лише на сигналах і на функції wait. На практиці в більшості реалізацій UNIX вводилися додаткові, більш зручні засоби взаємодії між процесами, однак виникала проблема несумісності таких засобів для різних версій UNIX. Різнобій був припинений на початку 90-х років з виробленням стандарту POSIX, який об'єднав все найкраще, що до того часу було запропоновано в різних версіях UNIX.

До засобів, які, згідно POSIX, повинна підтримувати будь-яка сучасна реалізація UNIX, належать, зокрема:

· Сигнали;

· Безіменні і іменовані канали;

· Черги повідомлень;

· Семафори;

· Спільно використовувані (розділяються) області пам'яті.

Сигнали та канали були розглянуті вище. Використання семафорів, черг повідомлень і розділяється пам'яті дає приблизно ті ж функціональні можливості, що аналогічні засоби Windows, хоча і містить багато цікавих особливостей, які доведеться, на жаль, залишити за рамками даного курсу.