Quais são as principais diferenças entre o usuário do BSD e o GNU / Linux?

36

Eu li muito no Unix & Linux sobre BSDs e GNU, etc. Mas eu ainda não entendo quais são as diferenças práticas entre os usuários BSD e GNU, apesar do fato de que eles são frequentemente mencionados. Alguém pode elaborar?

Ao responder, explique por completo as conexões históricas, tendo em mente que eu não tenho estado vivo o suficiente para ter um tempo em que o GNU / Linux não era o UNIX principal (exceto o OS X).

    
por strugee 14.06.2013 / 02:45

1 resposta

26

O termo "userland" pode se referir a muitas coisas em diferentes contextos, mas aqui eu interpreto "GNU userland" vs "BSD userland" como o conjunto mínimo padrão de programas que vêm com uma distribuição.

A grande diferença principal é que as duas userlands começam com um código-fonte completamente diferente. código-fonte do gato GNU código-fonte do gato NetBSD . Apenas a partir desse programa simples em conceito, você pode ver que o gato do NetBSD usa sinalizadores de linha de comando tradicionais, de uma única letra. Os programas GNU tendem a ter flags de uma única letra, mas também as opções --something-long type. Os programas GNU também tendem à compatibilidade POSIX.

Essa diferença no código-fonte emprestará aos dois usuários diferentes comportamentos em alguns casos.

Também parece que o NetBSD (pelo menos) usa sua própria versão da libc, a biblioteca C padrão. Estou passando por cima da minha cabeça aqui, mas libc e links dinâmicos são estranhamente inter = relacionados. Mais uma vez, código-fonte diferente levará a um comportamento diferente.

Acho que, como usuário do shell, você acharia que ps agiria de forma diferente e ls poderia resultar em uma saída ligeiramente diferente da que você está acostumado. Você teria que encontrar sinalizadores de linha de comando equivalentes para alguns programas, se você usa o tipo --long-option de sinalizadores de linha de comando.

Historicamente, o meu entendimento é que o universo de usuários do BSD descende mais diretamente do V6 e V7 Bell Labs Unix, através da porta de 32V para o hardware VAX. A userland GNU é mais recente, escrita pelo menos de alguma forma em reação às tentativas da AT & T de manter o código um segredo bem guardado no início dos anos 80. Após o desinvestimento da Bell System em 1983, a AT & T tentou "rentabilizar" o Unix. Parte disso era licenciar o código-fonte de uma forma que impedia a maioria das pessoas de vê-lo. Richard Stallman e outros tiveram problemas com isso. Seu projeto GNU existia especificamente para criar um sistema semelhante ao Unix, livre de compartilhamentos.

Enquanto isso, em 1993, a AT & T processou o sistema da Universidade da Califórnia sobre os sistemas BSD ('B' é Berkeley, onde a Universidade da Califórnia está localizada). As pessoas em Berkeley substituíram toda a fonte original da AT & T por um novo código, e esse novo código tornou-se o ancestral de pelo menos o território do NetBSD. A AT & T e a UCB chegaram a um acordo em 1994, revelaram ao público em 2004.

Naturalmente, pelo menos as idéias se polinizam, então há pelo menos similaridade conceitual entre o GNU e a BSD, mas os casos de canto definitivamente diferem.

    
por 14.06.2013 / 03:44

Tags