Comentários
- Esta pergunta foi possivelmente respondida pela resposta a Todos os comandos Unix foram reescritos no Linux? .
Resposta
Essa é uma pergunta difícil de responder.
Primeiro, “Unix Like” ou “* nix” geralmente significa POSIX. Todos os sistemas listados são sistemas POSIX. POSIX é um conjunto de padrões a serem implementados.
Agora, para as questões mais difíceis.
GNU não é realmente um sistema operacional. É mais um conjunto de regras ou filosofias que governam o software livre, que ao mesmo tempo deu origem a um monte de ferramentas ao tentar criar um sistema operacional. Portanto, as ferramentas GNU são basicamente versões abertas de ferramentas que já existiam, mas foram refeitas para obedecer aos princípios do software aberto. GNU / Linux é uma malha dessas ferramentas e do kernel Linux para formar um sistema operacional completo, mas existem outros “GNU” s. GNU / Hurd por exemplo.
Unix e BSD são implementações “mais antigas” do POSIX que são vários níveis de “código fechado”. O Unix geralmente é um código totalmente fechado, mas existem tantos sabores de Unix quanto Linux, se não mais. O BSD não é normalmente considerado “aberto” por algumas pessoas, mas na verdade é muito mais aberto do que qualquer outra coisa que existisse. Seu licenciamento também permite o uso comercial com muito menos restrições, já que as licenças mais “abertas” são permitidas.
O Linux é o recém-chegado. Estritamente falando, é “apenas um kernel”, no entanto, em geral é pensado como um sistema operacional completo quando combinado com GNU Tools e um monte de outras coisas.
A principal diferença governante são os ideais. Unix, Linux e BSD têm ideais diferentes que eles implementam. Eles são todos POSIX e são basicamente intercambiáveis. Eles resolvem alguns dos mesmos problemas de maneiras diferentes. Portanto, além dos ideais e como eles optam por implementar os padrões POSIX, há pouca diferença.
Para mais informações, Eu sugiro que você leia um breve artigo sobre a criação do GNU, OSS, Linux, BSD e UNIX. Eles serão inclinados para suas idéias individuais, mas quando você ler, terá uma boa idéia das diferenças.
Este diagrama genealógico do Unix mostra claramente a história do Unix, BSD, GNU e Linux ( da Wikimedia ):
Comentários
- observação: nem tudo é POSIX. por exemplo. consulte
man unimplemented
(IIRC, pode serman security
) em um sistema GNU / Linux. - Strugee está correto. Eles não são totalmente compatíveis, mas estão tentando ser. Não tenho certeza de como trabalhar isso na resposta. O Unix-Like também é tecnicamente diferente do POSIX, mas em geral quando as pessoas dizem Unix-Like, geralmente querem dizer POSIX.
- Algumas informações complementares neste Q & A .
- não, os desenvolvedores do kernel Linux não ' nunca pretendem ser compatíveis com POSIX . Eu esqueci onde li isso (eu olhei nas páginas de manual, mas não consegui ' encontrar), mas existem certas syscalls que nunca serão implementadas devido a considerações de segurança.
- Acredito que o GNU foi originalmente concebido para ser um sistema operacional.
Resposta
Linux não é um sistema operacional, é um kernel. O Linux por si só não tem um ambiente “userland” (nenhum aplicativo, nenhum comando, nenhum … etc …).
Se você deseja um sistema operacional completo, é necessário adicione um espaço de usuário ao seu kernel. Historicamente, para Linux, é GNU. Todas (?) As distribuições Linux não são distribuições “Linux reais”. São distribuições GNU / Linux (GNU + Linux).
O BSD é um sistema operacional completo “semelhante ao unix”, com seu próprio kernel e sua própria área de usuário (sem kernel do Linux nem GNU).
GNU / Linux e * família BSD (FreeBSD, OpenBSD e NetBSD) são sistemas operacionais “tipo unix”, eles se comportam como Unix.
Aqui está uma comparação entre (GNU) / Linux e * BSD: http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html
Comentários
- seu link não funciona
- @Anthon, está funcionando