Um sistema operacional mínimo compatível com POSIX

8

Para fins educacionais, eu gostaria de começar com uma base compatível com POSIX, incluindo um shell, utilitários básicos e um compilador ANSI C, e depois ver que tipo de ambientes eu posso construir juntando pacotes.

No entanto, a maioria dos sistemas operacionais mínimos compatíveis com POSIX que encontrei parecem estar incorporados e / ou proprietários. Existem sistemas de código aberto que eu possa executar facilmente no Virtualbox?

Pesquisei um pouco sobre a criação de um ambiente desse tipo do zero , mas parece que é muito trabalhoso obter um ambiente inicializável / utilizável, muito menos um compatível com POSIX. Eu poderia tentar criar um sistema operacional POSIX algum dia, mas primeiro gostaria de ter um pouco mais de conhecimento sobre computadores com antecedência.

Nota:

Acho que ouvi em algum lugar que o Linux não é totalmente compatível com POSIX, mas, desde que eu possa compilar e construir algumas das ferramentas de código aberto mais comuns e essenciais (como wget e w3m), eu ficaria muito feliz, independentemente de usou o kernel do Linux. O mesmo vale para os outros componentes básicos que eu imagino que possam vir com o sistema operacional (por exemplo, glibc)

math4tots
fonte
Quando você vê um problema com "proprietário", não vejo onde está o problema, pois ser proprietário não impede a conformidade com o POSIX. Você quer dizer "comercial"?
precisa saber é o seguinte

Respostas:

10

POSIX não especifica um sistema operacional completo, de modo que qualquer sistema operacional compatível com POSIX terão comandos que não estão em POSIX (como init, mkfs, passwd, ...). Porém, sistemas operacionais diferentes têm extensões diferentes, e as ferramentas GNU (encontradas em sistemas Linux não incorporados) têm muito.

BusyBox é um conjunto de ferramentas de linha de comando destinadas a sistemas Linux embarcados. Ele contém a maioria dos utilitários e opções exigidos pelo POSIX (não está completo, mas chega perto). Você pode criar um sistema Linux em execução com um gerenciador de inicialização, um kernel Linux, BusyBox e Dropbear se desejar efetuar login através do SSH. Adicione o Gcc se você deseja desenvolver o sistema mínimo.

Se você preferir iniciar a partir de uma distribuição completa, porém pequena, consulte o MINIX 3 . Este é um pequeno sistema unix destinado a sistemas embarcados e para ensino.

Se você deseja um sistema mais facilmente extensível, consulte o OpenBSD . O OpenBSD é focado em segurança e conservador em recursos, mas o sistema principal inclui componentes importantes, como Perl e Apache.

Gilles 'SO- parar de ser mau'
fonte
Acredito que o TCC é mais próximo do ANSI C / ISO C99 do que o GCC, o que tornaria uma opção melhor para um compilador C em um ambiente estrito POSIX, evitando recursos não conformes.
precisa saber é o seguinte