Qu'est-ce qui fait qu'un système d'exploitation est un système POSIX ? Toutes les versions de Linux sont POSIX, non ? Et pour OSX ?
Réponses
Trop de publicités?Oui. POSIX est un groupe de normes qui déterminent 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 conforme à POSIX, ce qui en fait un OS POSIX.
Toutes les versions de Linux ne sont pas conformes à POSIX. Les versions du noyau antérieures à la 2.6 n'étaient pas conformes, et aujourd'hui Linux n'est pas officiellement conforme à POSIX parce qu'il n'a pas fait l'effort d'être certifié (ce qui n'arrivera probablement jamais). Quoi qu'il en soit, Linux peut être traité comme un système POSIX à toutes fins utiles.
Oui, OS X est basé sur Darwin BSD Depuis 10.5 (Leopard - 18 mai 2007), toutes les versions Intel/AMD ont été officiellement certifiées conformes à la norme Unix 03 / POSIX, par exemple.
Non, ce n'est pas le cas. Il manque à MacOS tout 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 .
OSX POSIX
SUS
- Spécification UNIX unique. Il s'agit d'un ensemble de normes à utiliser UNIX
marque.
POSIX
- Interface de système d'exploitation portable. Il s'agit d'un sous-ensemble de SUS
. Il définit l'API entre le système d'exploitation et l'application ainsi que d'autres outils et utilitaires. Il comprend des éléments tels que les processus, les entrées/sorties, les threads, la sécurité, le shell, etc.
UNIX 03
est une marque de norme de produit qui est conforme SUS
version 3
Derniers produits UNIX d'Apple Inc.
MAC OS(depuis 10.5 Leopard) est une UNIX 03
qui est certifié par The Open Group.
Linux
est le nom général d'un noyau pour d'autres systèmes d'exploitation.
Linux n'est pas certifié POSIX (sauf certains d'entre eux comme Huawei EulerOS - UNIX 03 ). Mais Linux est principalement conforme à POSIX parce qu'il essaie de respecter ces normes, et même davantage
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'a pas encore été certifié.