Ядро 2.6 Одним из больших внутренних изменений стала полностью переписанная инфраструктура нитей, позволившая использовать поверх себя Native POSIX Thread Library (NTPL). Это дало серьезное увеличение производительности на процессорах Pentium Pro и лучше в сильно "распараллеленных" приложениях, многие крупные игроки уровня предприятия требовали этого (фактически, Red Hat портировала эту возможность в ядро 2.4., входящее в состав Red Hat Linux начиная с версии 9.0). Это изменение привнесло новые концепции в Linux, включая группы нитей, локальная память отдельных нитей, сигналы в стиле POSIX и многое другое. Одним из главных недостатков является то, что приложения (такие как Sun Java) написанные без учета данной спецификации и опирающиеся на старый Linux-isms, не будут поддерживаться.
Кто-нибудь слышал о таком? Возможно ли изменить программу,ипользующую нити и семафоры, чтобы она работала в Red Hat 9.0? Если да, то как.
Схема работы такова - создается 6 нитей (pthread_create(&thread_id_i,NULL,&f_i,NULL)) и в каждой стоит sem_wait(&sem_i) i=1..6, запускается таймер и в зависимости от условий разблокирует требуемый семафор, а следовательно и соответствующую нить и так далее. В Red Hat 9.0 она после sem_post(&sem_i) вываливается в основной процесс, т.е нить не получает управления.