O que exatamente queremos dizer quando dizemos que estamos usando Linux?

9

Eu estava passando por um artigo sobre GNU que é algo como abaixo

Realmente existe um Linux, e essas pessoas estão usando, mas é apenas uma parte do sistema que eles usam. Linux é o kernel: o programa no sistema que aloca os recursos da máquina para os outros programas que você executa. O kernel é uma parte essencial de um sistema operacional, mas inútil por si só; ele só pode funcionar no contexto de um sistema operacional completo. O Linux é normalmente usado em combinação com o sistema operacional GNU: todo o sistema é basicamente GNU com Linux adicionado, ou GNU / Linux. Todas as chamadas distribuições “Linux” são realmente distribuições do GNU / Linux.

Eu sempre pensei que o Linux era um kernel e um sistema operacional, mas parece Linux = kernel Linux e GNU OS.

Alguém poderia apontar a funcionalidade exata de cada um na terminologia "Linux" que usamos no dia a dia. Além disso, de acordo com o wiki, o design do GNU é semelhante ao Unix, mas difere do Unix por ser software livre e não conter código Unix. Eu pensei que o Unix é de código aberto. Não é?

Aniket Thakur
fonte
2
O kernel do Linux é como um motor: vital para o carro funcionar, mas quase inútil por si só.
precisa saber é

Respostas:

7

Acredito que o que você está se referindo seja abordado aqui no site da Free Software Foundation (FSF):

De acordo com a FSF, a alegação deles é que o Linux é apenas um Kernel. Um sistema utilizável é composto por um Kernel + as ferramentas como ls, findshells, etc. Portanto, ao se referir a todo o sistema, ele deve ser chamado de GNU / Linux, já que as outras ferramentas juntamente com o Kernel do Linux compõem um sistema completo. sistema utilizável. Eles ainda falam sobre o FSF Unix Kernel, Hurd , argumentando que Hurd e Linux são essencialmente kernels intercambiáveis ​​com o sistema GNU / X.

Acho todo o argumento cansativo e acho que há coisas melhores para fazer com o nosso tempo. Um nome é apenas um nome e o fato de as pessoas considerarem um sistema que inclui o software GNU + o Linux Kernel + outro software não-GNU como Linux ou GNU / Linux é uma questão de gosto e realmente não importa no grande esquema do coisas. Na verdade, acho que o argumento faz mais para prejudicar o Linux e o GNU / Linux, fragmentando a comunidade e confundindo o público em geral sobre o que cada coisa realmente é.

Para mais do que você sempre quis saber sobre esse tópico, dê uma olhada na Wikipedia articulada intitulada: controvérsia de nomes no GNU / Linux .

Todos os Unixes de código-fonte aberto?

Que eu saiba, nem todos os Unixes são de código aberto. A maior parte da funcionalidade do Unix é especificada para que as coisas funcionem, mas implementações específicas dessa funcionalidade estão ou não abertas, dependendo de qual distro faz parte.

Por exemplo, até recentemente o Solaris, um Unix, não era considerado código aberto. Somente quando os principais componentes da Sun Microsystem lançaram no projeto OpenSolaris é que pelo menos os componentes do Solaris se tornaram código aberto.

História do Unix

Como não sou especialista neste tópico, sugiro dar uma olhada na página da Wikipedia do Unix mais sobre o assunto.

História do Linux

Dê uma olhada no diagrama do Unix Lineage para saber mais sobre quais Unixes são considerados de código aberto, misto ou fechado.

  ss da história

Também acho o Projeto de Linha de Tempo de Distribuição GNU / Linux útil ao ter essa conversa.

ss da linha do tempo do linux

slm
fonte
2
Nenhum UNIX é de código aberto e o Linux não é Unix. Ao contrário do FreeBSD, que é um descendente direto e já continha o código ATT UNIX, o Linux não tem conexão direta e é apenas semelhante ao Unix. OSX é UNIX.
Rob
1
O @Rob FreeBSD não contém mais código ATT: foi o que o tornou gratuito. Ele não tem mais ou menos reivindicação do nome Unix que Linux ou MINIX ou OSF / 1.
Gilles 'SO- stop be evil'
1
@Rob - por favor, referências do site. Tenho certeza de que você não quer dizer que esse comentário pareça um troll, mas é, pelo menos, um pouco 8. -) Todo o debate sobre Linux e Unix já foi abordado aqui. Por favor, veja este tópico: unix.stackexchange.com/questions/4091/is-linux-a-unix . Acho esse argumento cansativo. É como argumentar como pronunciar tomate.
slm
@ Gilles Como tudo o que eu disse não é verdade? Por que você sentiu a necessidade de comentar sobre isso?
Rob
@slm Eu apenas respondi ao seu comentário que "Nem todos os Unixes são de código aberto" e a verdade é que nenhum Unix é de código aberto. UNIX é um nome comercial, uma validação e certificação. Isso também significa que há conformidade com o POSIX em um grau que o Linux e outros sistemas não podem validar (mas o OSX pode). Eu não estava discutindo nada, exceto o UNIX é o UNIX e o Linux não é o UNIX, o que sua postagem parecia dizer, iirc. (Eu não estava ciente do segmento anterior, ou de qualquer outro.
Rob
3

Normalmente, o que geralmente chamamos de sistema operacional é uma combinação de software que envolve um kernel , cuja tarefa é gerenciar os recursos da máquina e alguns aplicativos executados no topo do kernel, denominados userland (que contém navegadores, compiladores, leitores de pdf, qualquer coisa que não seja o kernel, ou um driver, ou talvez um hypervisor vm).

O restante desta pergunta não pode ser respondido sem algum contexto histórico. Richard Stallman anunciou o Projeto GNU em 27 de setembro de 1983. O objetivo era fornecer o software necessário para desenvolver um sistema operacional semelhante ao UNIX (e a terra do usuário que o acompanha) como software livre . Em 1992, o Projeto GNU havia completado quase todas as peças essenciais para seu software - exceto uma: o kernel. Ao mesmo tempo, Linus Torvalds lançou seu kernel Linux (versão 0.12) como software livre, licenciado sob a licença GPL . Portanto, pela primeira vez, seria possível executar um computador composto (quase) inteiramente por software livre.

Linux (como mencionado) é um kernel e, embora seja a base definitiva do software que permite que você use seu computador, não é de muita utilidade sozinho. Você deve emparelhá-lo com algum tipo de aplicativo (userland) para que ele seja executado. É o que as distribuições GNU / Linux como Debian ou Ubuntu e similares fazem.

Vale ressaltar que um kernel é importante e sem importância ao mesmo tempo. Permita-me explicar. A maioria das pessoas que usa um computador está acostumada com a terra do usuário e não com o kernel. O kernel é principalmente transparente, e a maioria das pessoas usaria outro kernel com a mesma área de usuário e pode nem perceber a diferença (a menos que, é claro, estejam dependendo de um recurso fornecido por um kernel específico).

Portanto, quando você usa Linux , você realmente está usando uma realização do sistema operacional GNU; esse é o kernel do Linux e a área de usuário do GNU (GNOME, GNU Compiler Collection, depurador GNU, GNU Coreutils, GNU binutils, etc). É por isso que a FSF insiste em chamá-la GNU / Linux (na minha opinião, um pedido justo).

Você pode, é claro, usar o Linux sem a terra do usuário GNU (dica: Android, Busybox ) e, é claro, usar a terra do usuário GNU sobre outros kernels (kfreebsd, hurd, etc.).

Quanto ao Unix é open source e afins, essa é uma pergunta que pode envolver bastante discussão. No entanto, você pode encontrar algumas informações úteis aqui

NlightNFotis
fonte
2

O kernel linux é um programa que contribui com as seguintes funções para o sistema operacional:

   imagem de mapa do kernel do linux

link original para a imagem: http://www.makelinux.net/kernel_map/

O kernel é essencial e, além disso, você possui utilitários e todo o restante do software empacotado. A diferença entre o sistema operacional completo e o kernel é igual ao restante do software e como ele é organizado pelos mantenedores da distribuição.

Esses mantenedores não criam necessariamente todo esse software extra, eles o montam e modificam às vezes e juntam tudo para fornecer o que a experiência do Linux é para a maioria das pessoas hoje em dia - eles adicionam o "sabor" por assim dizer e geralmente há linhagem para distribuições muito estabelecidas, como Debian e Redhat, etc. O importante é que uma proporção significativa dos utilitários e softwares iniciais empacotados nas distribuições Linux inclui software adaptado do projeto GNU. Muito desse software foi elaborado pelo projeto GNU usando seus recursos antes mesmo que o kernel do linux fosse inventado. E é gratuito e muitos desses softwares ajudaram a construir a popularidade do linux, pois ambos eram software livre e de código aberto vinculado pela licença GPL. O libc framwework, o Gnome Desktop e o compilador gcc são exemplos de software mantido pelo GNU.

Certamente não é trivial e reconhecer que não deve ser tão político, mas há pessoas de voz de ambos os lados e há um debate. Quaisquer que sejam as aplicações práticas, saber mais sobre a história do software nas distribuições que usamos e seus criadores é um empreendimento válido.

slm
fonte
Você pode fornecer um link para a imagem original?
precisa
1
@ heinrich5991 - adicionei o link ao original.
Slm