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.