Qu'est-ce qui fait d'un système d'exploitation un système POSIX? Toutes les versions de Linux sont POSIX, non? Et OSX?
Oui. POSIX est un groupe de normes qui détermine une API portable pour les systèmes d'exploitation de type Unix. Mac OSX est basé sur Unix (et a été certifié comme tel), et conformément à cela, il est conforme à POSIX. POSIX garantit que certains appels système seront disponibles.
Essentiellement, Mac satisfait à l'API requise pour être compatible POSIX, ce qui en fait un système d'exploitation POSIX.
Toutes les versions de Linux ne sont pas conformes à POSIX. Les versions du noyau antérieures à 2.6 n'étaient pas conformes, et aujourd'hui Linux n'est pas officiellement compatible POSIX car ils n'ont pas fait tout leur possible pour obtenir la certification (ce qui n'arrivera probablement jamais). Quoi qu'il en soit, Linux peut être traité comme un système POSIX à presque toutes les fins.
Oui, OS X est basé sur Darwin BSD , et depuis 10.5 (Leopard - 18 mai 2007), toutes les versions Intel/AMD ont été officiellement certifiées conformes au standard Unix 03/POSIX, par exemple.
POSIX est une spécification: http://www.unix.org/what_is_unix/single_unix_specification.html AFAIK, Linux adhère à la spécification, mais n'est pas encore certifié
Non, ça ne l'est pas. MacOS manque un tas de fonctionnalités de POSIX, comme clock_nanosleep()
. Il peut être conforme à un sous-ensemble de POSIX ou à une version vraiment très ancienne de POSIX, mais il n'est certainement pas conforme à POSIX.1-2017. Voir http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_nanosleep.html .