Qual é a diferença fundamental entre Unix, Linux, BSD e GNU? O Unix foi o sistema operacional mais antigo, então o termo 'como o Unix' é compreensível, pois eles têm kernel, estrutura do sistema de arquivos, a maioria dos comandos, usuários etc. são iguais ao Unix. Ainda por que eles são diferentes? O que os separou? É o kernel?
27
Respostas:
Essa é uma pergunta difícil de responder.
Primeiro "Unix Like" ou "* nix" geralmente significa POSIX. Todos os sistemas que você listou são sistemas POSIX. POSIX é um conjunto de padrões a serem implementados.
Agora, para as perguntas 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 várias 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 se adequar aos princípios do software aberto. GNU / Linux é uma malha dessas ferramentas e do kernel do Linux para formar um sistema operacional completo, mas existem outros "GNU" s. GNU / Hurd por exemplo.
O Unix e o BSD são implementações "mais antigas" do POSIX, com vários níveis de "código fechado". O Unix geralmente é um código totalmente fechado, mas existem tantos sabores do Unix quanto o Linux, se não mais. O BSD geralmente não é considerado "aberto" por algumas pessoas, mas, na verdade, é muito mais aberto do que qualquer outra coisa que existia. Seu licenciamento também é permitido para uso comercial com muito menos restrições, pois as licenças mais "abertas" são permitidas.
Linux é o novato. Estritamente falando, é "apenas um kernel", no entanto, em geral, é pensado como um sistema operacional completo quando combinado com o GNU Tools e várias 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 de como eles escolhem implementar os padrões POSIX, há pouca diferença.
Para mais informações, 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 completamente, 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 ):
fonte
man unimplemented
(IIRC, pode serman security
) em um sistema GNU / Linux.Linux não é um sistema operacional, é um kernel. O Linux por si só não possui um ambiente de 'terra do usuário' (sem aplicativos, sem comandos, sem ... etc ...).
Se você deseja ter um sistema operacional completo, adicione uma terra de usuário ao seu kernel. Historicamente, para Linux, é GNU. Todas as distribuições (?) Linux não são distribuições 'reais'. Eles são distribuições GNU / Linux (GNU + Linux).
O BSD é um sistema operacional 'unix-like' completo, com seu próprio kernel e sua própria área de usuário (sem kernel do linux nem GNU).
A família GNU / Linux e * BSD (FreeBSD, OpenBSD e NetBSD) são SO 'unix-like', 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
fonte