Un système d'exploitation conforme POSIX minimal

8

À des fins éducatives, je voudrais commencer par une base compatible POSIX, y compris un shell, des utilitaires de base et un compilateur C ANSI, puis voir quel type d'environnements je peux créer en assemblant des packages.

Cependant, la plupart des systèmes d'exploitation conformes POSIX minimaux que j'ai rencontrés semblent être intégrés et / ou propriétaires. Existe-t-il de tels systèmes open source que je peux facilement exécuter sous Virtualbox?

J'ai cherché un peu sur la création d'un tel environnement à partir de zéro , mais il semble que cela demande beaucoup de travail d'obtenir simplement un environnement amorçable / utilisable, et encore moins un environnement compatible POSIX. Je pourrais essayer un jour de construire un système d'exploitation POSIX, mais j'aimerais d'abord être un peu plus averti en informatique au préalable.

Remarque:

Je pense avoir entendu quelque part que Linux n'est pas complètement conforme à POSIX, mais tant que je peux compiler et construire certains des outils open source les plus courants et essentiels (comme wget et w3m), je serais plutôt content, que ce soit ou non utilisé le noyau Linux. Il en va de même pour les autres composants de base que j'imagine pourraient venir avec le système d'exploitation (par exemple glibc)

math4tots
la source
Lorsque vous voyez un problème avec «propriétaire», je ne vois pas où est le problème, car le fait d'être propriétaire n'entrave pas la conformité POSIX. Vouliez-vous dire «commercial»?
Hibou57

Réponses:

10

POSIX ne spécifie pas un système d'exploitation complet, de sorte que tout système d' exploitation compatible POSIX aura des commandes qui ne sont pas (comme POSIX init, mkfs, passwd, ...). Mais différents systèmes d'exploitation ont des extensions différentes, et les outils GNU (trouvés sur les systèmes Linux non intégrés) en ont beaucoup.

BusyBox est un ensemble d'outils de ligne de commande destiné aux systèmes Linux embarqués. Il contient la plupart des utilitaires et options mandatés par POSIX (il n'est pas complet, mais il se rapproche). Vous pouvez créer un système Linux en cours d'exécution avec un chargeur de démarrage, un noyau Linux, BusyBox et Dropbear si vous souhaitez vous connecter via SSH. Ajoutez Gcc si vous voulez faire du développement sur le système minimal.

Si vous préférez partir d'une distribution complète mais petite, regardez MINIX 3 . Il s'agit d'un petit système Unix destiné aux systèmes embarqués et à l'enseignement.

Si vous voulez un système plus facilement extensible, regardez OpenBSD . OpenBSD est axé sur la sécurité et est conservateur sur les fonctionnalités, mais le système central comprend des composants majeurs tels que Perl et Apache.

Gilles 'SO- arrête d'être méchant'
la source
Je crois que TCC est plus proche de ANSI C / ISO C99 que GCC, ce qui en ferait une meilleure option pour un compilateur C dans un environnement POSIX strict en évitant les fonctionnalités non conformes.
Hibou57