UNIX vs Linux: como eles são diferentes?

UNIX vs Linux: como eles são diferentes?

O UNIX é um poderoso sistema operacional (SO) multiusuário que definiu como fazemos a computação por mais de 40 anos. Ele forneceu muitos recursos e abstrações que consideramos normais hoje. Isso inclui a ideia de arquivos sendo uma sequência não interpretada de bytes, bem como a noção de um sistema de arquivos hierárquico.

Este artigo mostrará algumas das diferenças entre o sistema operacional UNIX original e seu sucessor espiritual moderno: o Linux. Além disso, ele também mostrará um breve resumo da história e dos recursos notáveis ​​de cada sistema.

O que é UNIX?

Desde o final dos anos 1970, o UNIX estabeleceu o padrão para o que pode ser considerado um sistema operacional moderno e poderoso. Desenvolvido nos Laboratórios Bell, tornou-se o veículo que impulsionou a pesquisa de sistemas operacionais para algumas das mentes mais brilhantes da ciência da computação.

Uma captura de tela do shell raiz do 7th Edition Research Unix.

O sistema operacional UNIX de pesquisa original pode ser dividido em sete edições separadas. Cada um dos quais introduziu inúmeras inovações sobre como o sistema UNIX, junto com seus utilitários, funciona. Por exemplo, os programas awke sedforam lançados pela primeira vez no 7th Edition Research UNIX.

Uma captura de tela da página de manual awk do 7th Edition Research Unix.

Na década de 1980, a AT&T reformulou o UNIX de pesquisa original junto com outras variantes internas para criar um sistema comercial para empresas e instituições. Isso ficou conhecido como Sistema III e Sistema V UNIX. Ele incluía recursos como o comando uname e o Korn Shell. Eventualmente, essas duas versões se tornaram a base para derivados modernos do UNIX, como ilumos , OmniOS e IBM AIX .

Um console mostrando um prompt básico do OmniOS.

O que é Linux?

O Linux é uma implementação de sala limpa de um kernel semelhante ao UNIX compatível com POSIX para arquiteturas de sistema modernas. Linus Torvalds o criou em 1991 como um pequeno projeto que fornecia um kernel de código aberto alternativo ao System V UNIX de código fechado.

Uma captura de tela mostrando um desktop Ubuntu Linux.

A maioria das pessoas pensa no Linux como um sistema operacional em si. No entanto, ele corresponde apenas ao binário do kernel do sistema. Uma máquina Linux geralmente é uma coleção de projetos de software liderados pela comunidade que os mantenedores agrupam como uma única “distribuição”. Cada distribuição fornece seus próprios processos de compilação exclusivos, juntamente com um conjunto básico de programas.

Um terminal mostrando a versão atual do kernel do Linux no Ubuntu 22.04.

Por exemplo, tanto o Red Hat Enterprise Linux quanto o Devuan Linux usam o kernel do Linux, mas têm utilitários de espaço de usuário extremamente diferentes.

Uma captura de tela da área de trabalho RHEL 8 básica.

Hoje em dia, o Linux é um nome familiar em quase todos os níveis da computação. Além de ser a espinha dorsal da Internet, você pode encontrar o Linux em placas SoC, bem como distribuições de alto desempenho executadas em clusters de supercomputadores.

Uma captura de tela da página da distribuição Ubuntu SoC Linux.
Fonte da imagem: https://ubuntu.com

Comandos UNIX vs. Linux

Embora o UNIX e o Linux compartilhem um paradigma de computação comum, ambos os sistemas operacionais divergem quanto aos comandos e opções que você pode usar dentro deles.

Visão geral básica do comando UNIX

Em geral, os comandos do UNIX geralmente são concisos e contêm poucas ou nenhuma opção adicional. Isso está de acordo com a origem focada em pesquisa do sistema operacional, onde se espera que seus usuários possam programar os recursos que desejam da máquina.

Uma captura de tela da página man cat do 7th Edition Research UNIX.

Por exemplo, o catcomando no UNIX possui apenas um único sinalizador enquanto lscontém apenas 11. Além disso, o sistema UNIX original não possui opções longas para seus comandos. Isso pode tornar o sistema pouco intuitivo no início, mas rápido quando você estiver familiarizado com suas opções de formato curto.

Uma captura de tela da página de manual ls do 7th Edition Research UNIX.

Como os sistemas derivados do UNIX tentam manter o código e os programas herdados, a maioria de seus comandos de nível inferior agora são ligeiramente diferentes de uma distribuição regular do Linux. Como exemplo, OmniOS usa o bootloader BSD e System V Init em vez de GNU GRUB e systemd.

Uma captura de tela do carregador de inicialização OmniOS BSD.

Visão geral dos comandos básicos do Linux

Ao contrário do UNIX, cada comando no Linux contém uma variedade de opções que estendem os recursos de suas contrapartes originais. Isso torna o sistema acessível a não programadores, pois a maior parte do que você precisa já está nos programas por padrão.

Um terminal mostrando a página do manual cat do Linux.

Além disso, o kernel do Linux também fornece recursos adicionais, como o KVM, que pode ser exposto como comandos ao usuário. Por exemplo, o libvirtd da Red Hat permite que você use seu sistema operacional como um Hypervisor Tipo 1.

Uma captura de tela mostrando o console RHEL VM Cockpit usando libvirtd.

Por fim, o Linux também oferece opções de formato longo para alguns de seus principais utilitários. Esses são sinalizadores memoráveis ​​e detalhados que permitem aos usuários especificar rapidamente o recurso que desejam sem memorizar opções obscuras de uma única letra.

Uma captura de tela das opções de formato longo no Linux.

Diferenças entre UNIX e Linux

Com isso em mente, o UNIX e o Linux também diferem em algumas implementações e detalhes específicos do sistema. Isso inclui o status de copyright de cada sistema operacional, bem como seu desempenho e usabilidade gerais. A tabela a seguir destaca algumas das principais diferenças entre os dois sistemas operacionais:

UNIX Linux
Status de direitos autorais A maioria das variantes é de código fechado. Além do antigo UNIX, apenas um punhado é de código aberto. A maioria das distribuições é de código aberto e de uso gratuito.
Suporte da comunidade Pode ser difícil obter o apoio adequado da comunidade. A maioria das distribuições Linux tem uma base de usuários ativa para suporte baseado na comunidade.
Resolução de problemas O UNIX de código aberto pode ser lento para resolver problemas não críticos no sistema. As distribuições populares podem resolver rapidamente até problemas não críticos.
Desenvolvimento do Kernel O kernel e a userland estão sendo desenvolvidos pela mesma equipe. Isso pode levar a atualizações mais lentas, mas a um código mais confiável. O kernel e a userland são projetos diferentes liderados por pessoas diferentes. Isso pode resultar em problemas e incompatibilidade.
Desempenho geral As melhorias de desempenho no código do kernel podem demorar um pouco para serem desenvolvidas e enviadas. O kernel do Linux geralmente é mais rápido que outras alternativas.
Segurança O UNIX de código aberto é relativamente seguro para tarefas normais de computação. O SELinux é a barra de ouro para tarefas de missão crítica, bem como um requisito para conformidade com os padrões.
Fácil de usar As opções de comando do UNIX podem não ser intuitivas, pois não usam nomes longos. O Linux pode ser mais fácil de usar para um iniciante, pois possui comandos intuitivos.
Suporte Binário Pode ser difícil encontrar software fora do repositório padrão. As distribuições do Linux oferecem várias maneiras de instalar pacotes.
Suporte de hardware O suporte geralmente se concentra no hardware de nível empresarial atual e legado. O Linux oferece suporte para hardware de nível empresarial e de consumo.
Sistemas de arquivos disponíveis Os sistemas geralmente vêm com ZFS, UFS, JFS e FFS. Linux vem com EXT2, 3 e 4 junto com XFS, BTRFS e JFS.
Interfaces Gráficas Disponíveis A maioria dos sistemas hoje usa GNOME ou Openbox. A maioria das distribuições usa GNOME, KDE ou XFCE, mas há muitos outros ambientes de desktop para escolher.
Shell padrão Atualmente, os sistemas UNIX usam o shell Bourne original (Bsh) da 7ª Edição Research UNIX. A maioria dos sistemas hoje usa a implementação gratuita do shell Bourne: Bourne Again Shell (Bash).

perguntas frequentes

O Windows é um sistema UNIX?

Não. O Windows é um sistema operacional totalmente diferente do UNIX e do Linux. A Microsoft originalmente desenvolveu o Windows como um shell gráfico para o sistema operacional MS-DOS, mas desde então se tornou seu próprio sistema com a introdução do kernel do Windows NT.

O macOS é UNIX?

Sim. A versão atual do macOS usa o sistema operacional Darwin que roda no kernel XNU. Este é um kernel semelhante ao UNIX que a Apple desenvolve ao lado de Darwin. O XNU usa principalmente a base de código FreeBSD para seus sistemas de arquivos, pilha de rede e bibliotecas de sistema.

O que é mais rápido: Linux ou UNIX?

Na maioria dos casos, o Linux é um sistema operacional mais rápido em comparação com o UNIX. No entanto, há casos em que o UNIX é mais rápido e eficiente, especialmente em arquiteturas de nível empresarial, como SPARC.

Crédito da imagem: Maksym Zakharyak via Unsplash . Todas as alterações e screenshots por Ramces Red.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *