Un sistema operativo conforme POSIX minimo


8

A scopo educativo, vorrei iniziare con una base conforme a POSIX, tra cui una shell, utility di base e un compilatore ANSI C, quindi vedere che tipo di ambienti posso creare mettendo insieme i pacchetti.

Tuttavia, la maggior parte dei sistemi operativi conformi POSIX minimi che ho incontrato sembrano essere integrati e / o proprietari. Esistono tali sistemi open source che posso eseguire facilmente in Virtualbox?

Ho cercato un po 'di tempo per costruire un tale ambiente da zero , ma sembra che sia un sacco di lavoro per ottenere semplicemente un ambiente avviabile / utilizzabile, tanto meno uno conforme a POSIX. Un giorno potrei provare a costruire un sistema operativo POSIX, ma prima vorrei essere un po 'più esperto di computer.

Nota:

Penso di aver sentito da qualche parte che Linux non è completamente conforme a POSIX, ma finché potrò compilare e costruire alcuni degli strumenti open source più comuni ed essenziali (come wget e w3m), sarei abbastanza felice, che lo faccia o no usato il kernel Linux. Lo stesso vale per gli altri componenti di base che immagino possano venire con il sistema operativo (ad es. Glibc)


Quando vedi un problema con "proprietario", non vedo dove sia il problema, poiché essere proprietario non impedisce la conformità POSIX. Volevi dire "commerciale"?
Hibou57,

Risposte:


10

POSIX non specifica un sistema operativo completo, in modo che qualsiasi sistema operativo POSIX-compliant avrà comandi che non sono in POSIX (come init, mkfs, passwd, ...). Ma diversi sistemi operativi hanno estensioni diverse e gli strumenti GNU (disponibili su sistemi Linux non incorporati) ne hanno molti.

BusyBox è un set di strumenti da riga di comando destinato ai sistemi Linux incorporati. Contiene la maggior parte dei programmi di utilità e delle opzioni richiesti da POSIX (non è completo, ma si avvicina). È possibile creare un sistema Linux in esecuzione con un bootloader, un kernel Linux, BusyBox e Dropbear se si desidera accedere tramite SSH. Aggiungi Gcc se vuoi fare lo sviluppo sul sistema minimo.

Se preferisci iniziare da una distribuzione completa ma piccola, guarda MINIX 3 . Questo è un piccolo sistema unix destinato a sistemi embedded e per l'insegnamento.

Se vuoi un sistema più facilmente estensibile, guarda OpenBSD . OpenBSD è focalizzato sulla sicurezza ed è conservativo sulle funzionalità, ma il sistema principale include i componenti principali come Perl e Apache.


Credo che TCC sia più vicino a ANSI C / ISO C99 di GCC, il che lo renderebbe un'opzione migliore per un compilatore C in un ambiente POSIX rigoroso, evitando funzionalità non conformi.
Hibou57,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.