Вопросы к Поиску с Алисой
Некоторые отличия реализации POSIX API на разных операционных системах:
Подход к реализации многопоточности. intuit.ru Стандарт POSIX допускает три основных подхода: intuit.ru
В пользовательском адресном пространстве. intuit.ru Нити в пределах процесса переключаются собственным планировщиком. intuit.ru
При помощи системных нитей. intuit.ru Переключение между нитями осуществляется ядром, так же, как и переключение между процессами. intuit.ru
Гибридная реализация. intuit.ru Процессу выделяют некоторое количество системных нитей, но процесс имеет собственный планировщик в пользовательском адресном пространстве. intuit.ru
Реализация программ, использующих оператор select или его вариации. www.linux.org.ru В Windows более жёсткие ограничения на количество объектов, которые может обработать select. www.linux.org.ru
Реализация системных вызовов. unix.stackexchange.com Разные ОС могут иметь разное сопоставление номера системного вызова с POSIX API. unix.stackexchange.com
Например, в Linux нити выглядят как отдельные записи в таблице процессов и отдельные строки в выводе команд, имеют собственный идентификатор процесса. intuit.ru В большинстве Unix-систем завершение процесса системным вызовом exit приводит к немедленному завершению всех его нитей. intuit.ru В Linux вплоть до версии 2.4 завершалась только текущая нить. intuit.ru В версии 2.6 в ядро внесли изменения, которые приблизили семантику многопоточности к стандарту POSIX. intuit.ru
В Windows для поддержки POSIX API ввели специальный модуль, который обеспечивает конвертацию и передачу вызовов из пользовательской программы к ядру системы и обратно. studfile.net www.stud24.ru При этом WinAPI не является POSIX-совместимым. studfile.net www.stud24.ru