O termo "userland" pode se referir a muitas coisas em diferentes contextos, mas aqui interpreto "GNU userland" vs "BSD userland" como o conjunto mínimo padrão de programas que acompanham uma distribuição.
A grande diferença principal é que as duas terras do usuário 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 de conceito simples, você pode ver que o gato do NetBSD usa sinalizadores de linha de comando tradicionais de uma letra. Os programas GNU tendem a ter sinalizadores de uma letra, mas também as --something-long
opções de tipo. Os programas GNU também tendem à compatibilidade com 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 pensando bem aqui, mas libc e links dinâmicos são estranhamente inter-relacionados. Novamente, código-fonte diferente levará a um comportamento diferente.
Eu acho que, como usuário do shell, você descobriria que ps
agiria diferente e ls
poderia fornecer uma saída ligeiramente diferente da que você está acostumado. Você precisaria encontrar sinalizadores de linha de comando equivalentes para alguns programas, se você usar o --long-option
tipo de sinalizadores de linha de comando.
Historicamente, meu entendimento é que o usuário do BSD descende mais diretamente do Bell Labs Unix V6 e V7, através da porta 32V para o hardware VAX. A área de usuários do GNU é mais recente, escrita pelo menos um pouco em reação às tentativas da AT&T de manter o código em segredo bem guardado no início dos anos 80. Após a alienação do sistema Bell de 1983, a AT&T tentou "monetizar" o Unix. Parte disso foi licenciar o código fonte de uma maneira que impedisse a maioria das pessoas de vê-lo. Richard Stallman e outros tiveram problemas com isso. Seu projeto GNU existia especificamente para criar um sistema do tipo Unix livremente compartilhável.
Enquanto isso, em 1993, a AT&T processou o sistema da Universidade da Califórnia pelo sistema BSD ('B' é Berkeley, onde está localizada a Universidade da Califórnia). As pessoas em Berkeley haviam substituído toda a fonte original da AT&T por um novo código, e esse novo código se tornou o ancestral de pelo menos a terra de usuários do NetBSD. A AT&T e a UCB chegaram a um acordo em 1994, revelado ao público em 2004.
Naturalmente, pelo menos as idéias polinizam, portanto há pelo menos uma similaridade conceitual entre a área de usuário do GNU e o BSD, mas os casos de canto definitivamente diferem.