Se você é um desenvolvedor de software em seus 20 ou 30 anos, você cresceu em um mundo dominado pelo Linux. Tem sido um jogador significativo no data center por décadas, e embora seja difícil encontrar relatórios definitivos de Market share do sistema operacional, a quota do Linux nos sistemas operacionais do data center pode chegar a 70%, com as variantes do Windows Carregando quase toda a porcentagem restante. Os desenvolvedores que usam qualquer nuvem pública pode esperar que o sistema alvo execute Linux., Evidências de que o Linux está em toda parte tem crescido nos últimos anos, quando você adiciona sistemas embutidos baseados em Android e Linux em smartphones, TVs, Automóveis e muitos outros dispositivos.
mesmo assim, a maioria dos desenvolvedores de software, mesmo aqueles que cresceram durante esta venerável “Revolução Linux” têm pelo menos ouvido falar de Unix. Parece semelhante ao Linux, e você provavelmente já ouviu as pessoas usarem esses termos de forma intercambiável. Ou talvez você tenha ouvido Linux chamado de sistema operacional “Unix-like”.
So, what is this Unix?, As caricaturas falam de “graybeards” de Mago sentados atrás de telas verdes brilhantes, escrevendo código C e scripts de conchas, movidos por café à moda antiga, feito por gotejamento. Mas o Unix tem uma história muito mais rica além dos programadores de C Barbados da década de 1970. enquanto artigos detalhando a história das comparações Unix e “Unix vs. Linux” abundam, este artigo irá oferecer um fundo de alto nível e uma lista de grandes diferenças entre esses mundos complementares.,
unix’s beginnings
the history of Unix begins at&T Bell Labs in the late 1960s with a small team of programmers looking to write a multi-tasking, multi-user operating system for the PDP-7. Dois dos membros mais notáveis desta equipe no Bell Labs research facility foram Ken Thompson e Dennis Ritchie. Enquanto muitos dos conceitos do Unix foram derivados de seu antecessor (Multics), a decisão do time Unix no início da década de 1970 para reescrever este pequeno sistema operacional na linguagem C é o que separou o Unix de todos os outros., Na época, os sistemas operacionais eram raramente, se alguma vez, portáteis. Em vez disso, por natureza de seu design e linguagem fonte de baixo nível, os sistemas operacionais estavam estreitamente ligados à plataforma de hardware para a qual eles tinham sido escritos. Ao refactorar o Unix na linguagem de programação C, O Unix pode agora ser portado para muitas arquiteturas de hardware.
além desta nova portabilidade, o que permitiu Unix rapidamente expandir-se para além da Bell Labs para outras pesquisas, acadêmicas e até mesmo comerciais, vários chave do sistema operacional princípios de design foram atraentes para os usuários e programadores., Por um lado, a filosofia Unix de Ken Thompson tornou-se um poderoso modelo de design de software modular e computação. A filosofia do Unix recomendou a utilização de pequenos programas construídos com o propósito de fazer tarefas globais complexas. Desde que o Unix foi projetado em torno de arquivos e tubos, este modelo de “piping” Entradas e saídas de programas juntos em um conjunto linear de operações na entrada ainda está em voga hoje. Na verdade, o atual modelo de computação sem servidor de nuvens deve muito de sua herança à filosofia Unix.,
crescimento rápido e competição
até o final dos anos 1970 e 80, Unix tornou-se a raiz de uma árvore genealógica que se expandiu através da pesquisa, academia, e um crescente negócio de Sistema Operacional comercial Unix. Unix was not open source software, and the Unix source code was licensable via agreements with its owner, AT& T. The first known software license was sold to the University of Illinois in 1975.
Unix cresceu rapidamente na academia, com Berkeley tornando-se um importante centro de atividade, dada a sabática de Ken Thompson lá nos anos 70., Com toda a atividade em torno do Unix em Berkeley, uma nova entrega de software Unix nasceu: a Berkeley Software Distribution, ou BSD. Initially, BSD was not an alternative to AT &t’s Unix, but an add-on with additional software and capabilities. Quando o 2BSD (a segunda distribuição de software Berkeley) chegou em 1979, Bill Joy, Um estudante graduado em Berkeley, adicionou programas famosos como vi
e o C shell (/bin/csh).,
In addition to BSD, which became one of the most popular branches of the Unix family, Unix’s commercial offerings exploded through the 1980s and into the ’90s with names like HP-UX, IBM AIX, Sun’S Solaris, Sequent, and Xenix. Como os ramos cresceram a partir da raiz original, as” guerras Unix ” começaram, e a padronização tornou-se um novo foco para a comunidade. O padrão POSIX nasceu em 1988, bem como outros seguimentos de padronização através do grupo aberto na década de 1990.,
nesta época em&T e Sun lançou System V Release 4 (SVR4), que foi adotado por muitos vendedores comerciais. Separadamente, a família de sistemas operacionais BSD tinha crescido ao longo dos anos, levando a algumas variações de código aberto que foram liberadas sob a agora familiar licença BSD. Isso incluiu FreeBSD, OpenBSD e NetBSD, cada um com um mercado alvo ligeiramente diferente na indústria de servidores Unix. Estas variantes Unix continuam a ter algum uso hoje, embora muitos tenham visto sua quota de mercado de Servidores a diminuir para os dígitos únicos (ou mais baixos)., O BSD pode ter a maior base de instalação de qualquer sistema Unix moderno atualmente. Além disso, todas as unidades de hardware Apple Mac enviadas na história recente podem ser reivindicadas pela BSD, como seu sistema operacional OS X (agora macOS) é um derivado BSD.embora a história completa do Unix e suas variantes acadêmicas e comerciais pudessem levar muitas mais páginas, para o bem de nosso foco de artigo, vamos avançar para a ascensão do Linux.
Enter Linux
o que chamamos de Sistema Operacional Linux hoje é realmente a combinação de dois esforços do início dos anos 1990., Richard Stallman estava procurando criar uma alternativa verdadeiramente livre e de código aberto para o sistema Unix proprietário. Ele estava trabalhando nos utilitários e programas sob o nome GNU, um acrônimo recursivo que significa ” GNU não é Unix!”Embora houvesse um projeto do kernel em andamento, acabou por ser difícil ir, e sem um kernel, o sonho do sistema operacional livre e de código aberto não poderia ser realizado. Foi o trabalho de Linus Torvald-produzindo um kernel funcional e viável que ele chamou de Linux-que trouxe o sistema operacional completo à vida. Dado que Linus estava usando várias ferramentas GNU (e.g.,, a coleção GNU de compiladores, ou GCC), o casamento das ferramentas GNU e o kernel Linux foi uma combinação perfeita.
distribuições Linux ganharam vida com os componentes do GNU, o kernel Linux, A GUI X-Windows do MIT, e outros componentes BSD que poderiam ser usados sob a licença open source BSD. A popularidade inicial de distribuições como Slackware e, em seguida, Red Hat deu ao “usuário comum de PC” da década de 1990 acesso ao Sistema Operacional Linux e, com ele, muitas das capacidades proprietárias do sistema Unix e utilitários que eles usaram em seu trabalho ou vida acadêmica.,
Por Causa da posição livre e de código aberto de todos os componentes Linux, qualquer um poderia criar uma distribuição Linux com um pouco de esforço, e logo o número total de distros chegou às centenas. É claro que muitos desenvolvedores utilizam Linux através de provedores de nuvem ou usando distribuições livres populares como Fedora, Ubuntu da Canonical, Debian, Arch Linux, Gentoo, e muitas outras variantes., Commercial Linux offerings, which provide support on top of the free and open source components, became viable as many enterprises, including IBM, migrated from proprietary Unix to offering middleware and software solutions atop Linux. A Red Hat construiu um modelo de suporte comercial em torno da Red Hat Enterprise Linux, assim como o provedor Alemão SUSE com a SUSE Linux Enterprise Server (SLES).
comparando Unix e Linux
até agora, nós temos olhado para a história do Unix e a ascensão do Linux e da GNU/Free Software Foundation fundamentos de uma alternativa livre e de código aberto ao Unix., Vamos examinar as diferenças entre estes dois sistemas operacionais que compartilham muito do mesmo patrimônio e muitos dos mesmos objetivos.
de uma perspectiva de experiência do Usuário, não muito é diferente! Grande parte da atração do Linux era a disponibilidade do sistema operacional em muitas arquiteturas de hardware (incluindo o PC moderno) e a capacidade de usar ferramentas familiares aos administradores e usuários do sistema Unix.
Por causa dos Padrões POSIX e conformidade, o software escrito no Unix poderia ser compilado para um sistema operacional Linux com uma quantidade limitada de esforço de portagem., Scripts Shell poderiam ser usados diretamente no Linux em muitos casos. Enquanto algumas ferramentas tinham opções de flag/linha de comando ligeiramente diferentes entre Unix e Linux, muitas operavam o mesmo em ambas.
uma nota lateral é que a popularidade do hardware e sistema operacional macOS como uma plataforma para o desenvolvimento que principalmente tem como alvo o Linux pode ser atribuída ao sistema operacional macOS tipo BSD. Muitas ferramentas e scripts significados para um sistema Linux funcionam facilmente dentro do terminal macOS. Muitos componentes de software de código aberto disponíveis no Linux são facilmente disponíveis através de ferramentas como o Homebrew.,
As diferenças restantes entre Linux e Unix estão relacionadas principalmente com o modelo de licenciamento: open source vs. proprietário, software licenciado. Além disso, a falta de um kernel comum dentro de distribuições Unix tem implicações para fornecedores de software e hardware. Para o Linux, um fornecedor pode criar um driver de dispositivo para um dispositivo de hardware específico e esperar que, dentro da razão, ele irá operar através da maioria das distribuições., Devido aos ramos comerciais e acadêmicos da árvore Unix, um fornecedor pode ter que escrever diferentes drivers para variantes do Unix e ter licenciamento e outras preocupações relacionadas ao acesso a um SDK ou um modelo de distribuição para o software como um driver de dispositivo binário em muitas variantes do Unix.como ambas as comunidades amadureceram na última década, muitos dos avanços no Linux foram adotados no mundo Unix. Muitos utilitários GNU foram disponibilizados como add-ons para sistemas Unix onde os desenvolvedores queriam recursos de programas GNU que não fazem parte do Unix., Por exemplo, o AIX da IBM ofereceu uma caixa de ferramentas AIX para aplicações Linux com centenas de pacotes de software GNU (como Bash, GCC, OpenLDAP e muitos outros) que poderiam ser adicionados a uma instalação AIX para facilitar a transição entre sistemas AIX baseados em Linux e Unix.
Unix proprietário ainda está vivo e bem e, com muitos grandes fornecedores prometendo suporte para seus lançamentos atuais bem na década de 2020, escusado será dizer que o Unix estará em torno de um futuro previsível., Além disso, o ramo BSD da árvore Unix é open source, e NetBSD, OpenBSD, e FreeBSD todos têm bases de usuários fortes e comunidades de código aberto que podem não ser tão visíveis ou ativos como Linux, mas estão mantendo seus próprios em relatórios recentes de compartilhamento de servidores, com muito acima dos números proprietários Unix em áreas como web serving.
Onde o Linux tem mostrado uma vantagem significativa sobre o Unix proprietário está em sua disponibilidade através de um vasto número de plataformas de hardware e dispositivos., O Raspberry Pi, popular entre hobbyists e entusiastas, é dirigido por Linux e abriu a porta para todo um espectro de dispositivos IoT rodando Linux. Já mencionamos dispositivos Android, autos (com Automotive Grade Linux) e TVs inteligentes, onde o Linux tem uma grande quota de mercado. Todos os provedores de nuvem do planeta oferecem servidores virtuais executando Linux, e muitas das mais populares pilhas nativas de nuvem de hoje são baseadas em Linux, quer você esteja falando sobre o tempo de execução de contêineres ou Kubernetes ou muitas das plataformas sem servidor que estão ganhando popularidade.,
uma das representações mais reveladoras da ascendência do Linux é a transformação da Microsoft nos últimos anos. Se você disse aos desenvolvedores de software há uma década atrás que o Sistema Operacional Windows iria “executar Linux” em 2016, a maioria deles teria rido histericamente. Mas a existência e popularidade do Subsistema Windows Para Linux (WSL), bem como as capacidades mais recentemente anunciadas, como a porta do Windows do Docker, incluindo o suporte LCOW (Linux containers on Windows), são evidências do impacto que o Linux teve—e claramente continuará a ter—em todo o mundo do software.,este artigo foi originalmente publicado em maio de 2018 e foi atualizado pelo editor.