Qual a diferença entre Linux e Unix?
robert mcgillivray / Shutterstock. com
O Linux inspirou-se no Unix, mas o Linux não é o Unix, embora seja definitivamente semelhante ao Unix. Explicaremos as principais diferenças entre esses dois sistemas operacionais famosos.
A mesma diferença?
O Linux é um sistema operacional gratuito e de código aberto. O Unix é um produto comercial, oferecido por uma variedade de fornecedores, cada um com sua própria variante, geralmente dedicada ao seu próprio hardware. É caro e fonte fechada. Mas Linux e Unix fazem mais ou menos a mesma coisa da mesma maneira, certo? Mais ou menos, sim.
As sutilezas são um pouco mais complicadas. Existem diferenças além do técnico e arquitetônico. Para entender algumas das influências que moldaram o Unix e o Linux, precisamos entender suas histórias de fundo.
As origens do Unix
O Unix tem mais de 50 anos. Foi desenvolvido na linguagem de montagem da Digital Equipment Corporation (DEC) em um DEC PDP / 7 como um projeto não oficial na Bell Labs, então de propriedade da AT&T. Logo foi portado para um computador DEC PDP / 11/20 e, em seguida, distribuído constantemente por outros computadores da Bell. Uma reescrita na linguagem de programação C levou à versão 4 de 1973 do Unix. Isso foi significativo porque as características da linguagem C e do compilador significavam que agora era relativamente fácil portar o Unix para novas arquiteturas de computadores.
Em 1973, Ken Thompson e Dennis Ritchie apresentaram um artigo sobre o Unix em uma conferência. Como resultado, pedidos de cópias do Unix foram lançados na Bell. Como a venda de sistemas operacionais ficou fora do escopo de operações permitido pela AT&T, eles não puderam tratar o Unix como um produto. Isso levou o Unix a ser distribuído como código fonte com uma licença. Os custos nominais foram suficientes para cobrir o transporte e a embalagem e uma "royalties razoável". O Unix veio "como está", sem suporte técnico e sem correções de bugs. Mas você recebeu o código-fonte — e pode modificá-lo. O Unix viu uma rápida aceitação nas instituições acadêmicas. Em 1975, Ken Thompson passou um período sabático de Bell na Universidade da Califórnia, Berkeley. Junto com alguns estudantes de pós-graduação, ele começou a adicionar e melhorar a cópia local do Unix. O interesse externo pelas adições de Berkeley aumentou, levando ao primeiro lançamento do Berkeley Software Distribution (BSD). Essa era uma coleção de programas e modificações de sistema que podiam ser adicionadas a um sistema Unix existente, mas não era um sistema operacional independente. Versões subseqüentes do BSD eram sistemas Unix inteiros. Agora havia dois grandes sabores do Unix, o fluxo AT & T e o fluxo BSD. Todas as outras variantes do Unix, como AIX, HP-UX e Oracle Solaris, são descendentes delas. Em 1984, algumas das restrições à AT&T foram liberadas e eles foram capazes de produzir e vender o Unix.O Unix foi comercializado.
A gênese do Linux
Vendo a comercialização do Unix como uma erosão adicional das liberdades disponíveis para os usuários de computadores, Richard Stallman decidiu criar um sistema operacional baseado na liberdade. Ou seja, a liberdade de modificar o código-fonte, redistribuir versões modificadas do software e usar o software da maneira que o usuário entender.
O sistema operacional iria replicar a funcionalidade do Unix, sem incluir nenhum código fonte do Unix. Ele nomeou o sistema operacional GNU e fundou o Projeto GNU em 1983 para desenvolver o sistema operacional. Em 1985, ele fundou a Free Software Foundation para promover, financiar e apoiar o projeto GNU.
Todas as áreas do sistema operacional GNU estavam fazendo um bom progresso - além do kernel. Os desenvolvedores do projeto GNU estavam trabalhando em um microkernel chamado GNU Hurd, mas o progresso foi lento. (Ele ainda está em desenvolvimento hoje e se aproximando de um lançamento.) Sem um kernel, não haveria sistema operacional.
Em 1987, Andrew S. Tanebaum lançou um sistema operacional chamado MINIX (mini-Unix) como um auxílio didático para estudantes que estudam design de sistemas operacionais. O MINIX era um sistema operacional funcional, semelhante ao Unix, mas tinha algumas restrições, especialmente no sistema de arquivos. Afinal, o código-fonte tinha que ser pequeno o suficiente para garantir que fosse coberto adequadamente em um único semestre universitário. Alguma funcionalidade teve que ser sacrificada.
Para entender melhor o funcionamento interno da Intel 80386 em seu novo PC, um estudante de ciência da computação chamado Linus Torvalds escreveu um código simples de troca de tarefas como um exercício de aprendizado. Eventualmente, esse código se tornou um proto-kernel elementar que se tornou o primeiro kernel do Linux. Torvalds estava familiarizado com o MINIX. De fato, seu primeiro kernel foi desenvolvido no MINIX usando o compilador GCC de Richard Stallman.
Torvalds decidiu criar seu próprio sistema operacional que superou as limitações do MINIX projetado para o ensino. Em 1991, ele fez seu famoso anúncio no grupo MINIX Usenet, pedindo comentários e sugestões sobre seu projeto.O Linux não é realmente um clone do Unix. Se o Linux fosse um clone do Unix, seria o Unix. Não é, é semelhante ao Unix. A palavra "clone" ” implica que uma pequena parte do original é cultivada em uma nova réplica célula a célula do original. O Linux foi criado novamente, para ter a aparência do Unix e atender às mesmas necessidades. É menos um clone e mais um replicante.
Mas de qualquer forma, o Linux era um kernel procurando por um sistema operacional; O GNU era um sistema operacional que procurava um kernel. Em retrospectiva, o que aconteceu a seguir parece inevitável. Também mudou o mundo.
RELACIONADO: O Grande Debate: É Linux ou GNU / Linux?
Quem faz o desenvolvimento?
Michael Vi / Shutterstock. com
Uma distribuição Linux é a soma de muitas partes diferentes, extraídas de muitos lugares diferentes. O kernel do Linux, o conjunto GNU de utilitários principais e os aplicativos de uso do usuário são combinados para criar uma distribuição viável. E alguém precisa fazer isso combinando, mantendo e gerenciando, assim como alguém precisa desenvolver o kernel, os aplicativos e os principais utilitários. Os mantenedores de distribuição e as comunidades de cada distribuição, todos desempenham seu papel em dar vida a uma distribuição Linux, tanto quanto os desenvolvedores de kernel.
O Linux é o resultado de um esforço colaborativo distribuído realizado por voluntários não remunerados, por organizações como Canonical e Red Hat e indivíduos patrocinados pelo setor.
Cada Unix comercial é desenvolvido como uma única entidade coerente, usando instalações de desenvolvimento internas ou terceirizadas fortemente controladas. Geralmente, eles têm um kernel exclusivo e são projetados especificamente para as plataformas de hardware fornecidas por cada fornecedor.
Os derivados livres e de código aberto do fluxo BSD Unix, como FreeBSD, OpenBSD e DragonBSD, usam uma combinação de código BSD legado e novo código. Agora eles são projetos apoiados pela comunidade e gerenciados como distribuições Linux.
Padrões e conformidade
Em geral, o Linux não é compatível com Single Unix Specification (SUS) nem POSIX. Ele tenta satisfazer os dois padrões sem ser escravo deles. Houve uma ou duas - literalmente, uma ou duas exceções, como o Inspur K-UX, um Linux chinês compatível com POSIX.
Um verdadeiro Unix, como as ofertas comerciais, é compatível. Alguns derivados do BSD, incluindo apenas uma versão do macOS, são compatíveis com POSIX. Os nomes das variantes, como AIX, HP-UX e Solaris, são marcas comerciais de suas respectivas organizações.
Marcas registradas e direitos autorais
Linux é uma marca registrada da Linus Torvalds. A Linux Foundation gerencia a marca comercial em seu nome. O kernel Linux e os utilitários principais são lançados sob várias Licenças Públicas Gerais GNU "copyleft". O código fonte está disponível gratuitamente.Unix é uma marca registrada do Open Group. É protegido por direitos autorais, proprietário e de código fechado.
O FreeBSD é protegido por direitos autorais do Projeto FreeBSD, e o código fonte está disponível.
Diferenças em uso
Do ponto de vista da experiência do usuário, na linha de comando, não há muita diferença visível. Devido aos padrões e à conformidade POSIX, o software escrito em Unix pode ser compilado para um sistema operacional Linux com uma quantidade limitada de esforço de portabilidade. Os scripts de shell, por exemplo, podem ser usados diretamente no Linux em muitos casos, com pouca ou nenhuma modificação.
Alguns dos utilitários de linha de comando têm opções ligeiramente diferentes de linha de comando, mas essencialmente o mesmo arsenal de ferramentas está disponível em qualquer plataforma. De fato, o AIX da IBM possui um AIX Toolbox for Linux Applications. Isso permite que o administrador do sistema instale centenas de pacotes GNU (como Bash, GCC etc.).
Os diferentes tipos de Unix têm diferentes interfaces gráficas de usuário (GUI) disponíveis, assim como o Linux. Um usuário do Linux familiarizado com o GNOME ou o Mate terá que se sentir bem na primeira vez que encontrar o KDE ou o Xfce, mas em breve o entenderá. É semelhante à variedade de GUIs disponíveis no Unix, como Motif, Common Desktop Environment e X Windows System. Eles são todos parecidos o suficiente para serem navegáveis por qualquer pessoa que esteja familiarizada com os conceitos de um ambiente de janela com caixas de diálogo, menus e ícones.
Você aprenderá mais sobre as diferenças ao administrar os sistemas. Por exemplo, existem diferentes mecanismos de inicialização. Derivadas dos fluxos System V Unix e BSD têm diferentes sistemas init. As variantes gratuitas do BSD mantiveram os esquemas de inicialização do BSD. Por padrão, as distribuições Linux usam um sistema init derivado do Unix System V ou systemd.
RELACIONADO: Por que o systemd do Linux ainda é divisivo depois de todos esses anos
Deslocamento da alavanca versus automático
Se você pode dirigir um, pode dirigir o outro — mesmo que seja um pouco parado para começar.
Pondo de lado o preço, as diferenças de filosofia, licenciamento, modelo de desenvolvimento, organização da comunidade e o tipo e estilo de governança são maiores e mais significativos do que as diferenças nos sinalizadores de linha de comando entre, digamos, uma versão do grep e outra.
As maiores diferenças não são as que você vê na tela.
Via: How to Geek
Nenhum comentário