Если быть точнее нужно переделать семафоры и разделяемую память в стандарт POSIX. Программу добавляю в закладке!