Visão Geral sobre o Linux, o Sistema Operacional que é uma Plataforma Universal

Conheça o Linux, um gerador adaptável que serve como base para diversos modelos de uso

Linux está em todo lugar. Se analisar o menor smartphone até a espinha dorsal da Internet ou no maior e mais eficiente supercomputador, você encontrará o Linux. Isso não é algo simples, devido à quantidade de recursos esperada dessas plataformas. Descubra a onipresença do Linux e como ele suporta dispositivos grandes e pequenos e tudo mais que se encontra entre eles.

M. Tim Jones, Independent author, Consultant

M. Tim JonesM. Tim Jones é arquiteto de firmware integrado e autor de Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming (atualmente em sua segunda edição), AI Application Programming (em sua segunda edição) e BSD Sockets Programming from a Multilanguage Perspective. Seu conhecimento em engenharia varia do desenvolvimento de kernels para naves espaciais geossíncronas até a arquitetura de sistemas embarcados e o desenvolvimento de protocolos de rede. Tim é arquiteto de plataforma da Intel e autor em Longmont, Colorado.



30/Mar/2012

Entre em contato com o Tim

Tim é um dos nossos autores mais populares e prolíficos. Navegue na todos os artigos do Tim no developerWorks. Confira o perfil de Tim e comunique-se com ele, outros autores e colegas desenvolvedores na comunidade do developerWorks.

Linux® atingiu a maioridade. Em 2012, Linux completará 21 anos, um sistema operacional maduro com suporte para diversos modelos de uso. Porém, é difícil pensar no Linux como somente um sistema operacional—ele é mais como um camaleão. Sua flexibilidade e kernel modular abordam vários modelos de uso (do maior supercomputador ao menor dispositivo integrado), sendo difícil não classificá-lo uma tecnologia de ativação. Na verdade, o Linux é uma plataforma. É uma tecnologia importante que permite a criação de novos produtos, alguns deles desconhecidos há pouco tempo atrás.

Vamos começar com uma breve exploração do Linux, sua arquitetura básica e alguns de seus princípios mais importantes. Em seguida, veja como o Linux aplica esses princípios a uma diversidade de modelos de uso e por que é uma plataforma e não apenas um sistema operacional.

O que é Linux?

Na superfície, Linux é um sistema operacional. Como mostra a Figura 1, Linux é composto por um kernel (o código base que gerencia os recursos de hardware e software) e uma coleção de aplicativos de usuário (como bibliotecas, gerenciadores de janela e aplicativos).

Figura 1. Linux na superfície
Linux na superfície

Este diagrama simples mostra os princípios mais importantes que são facilmente negligenciados. No final da pilha do Linux há um conjunto de código dependente da arquitetura que ativa o Linux em diversos arrays de plataformas de hardware (ARM, PowerPC, Tilera TILE e mais). Essa funcionalidade, é claro, é ativada pela cadeia de ferramentas GNU, que permite a portabilidade do Linux.

Linux está em uma classe própria no campo da portabilidade. O subsistema do driver (que é vasto em seus recursos) suporta módulos carregados dinamicamente sem afetar o desempenho, permitindo a modularidade (além de uma plataforma mais dinâmica ). Linux também inclui segurança no nível do kernel (em diversos esquemas) permitindo uma plataforma segura . No domínio de sistemas de arquivo externos, o Linux possibilita uma grande quantidade de array de suporte para sistema de arquivos de qualquer sistema operacional, permitindo, por exemplo, flexibilidade por meio da modularidade do design. O Linux implementa não apenas recursos de planejamento padrão, mas também o planejamento em tempo real (incluindo garantias sobre a latência de interrupção).

Finalmente, o Linux é aberto , o que significa que seu código-fonte pode ser visualizado e aprimorado por praticamente qualquer pessoa. Essa abertura também minimiza as oportunidades de explorações negativas, criando uma plataforma mais segura . Muitas empresas colaboram com o Linux, garantindo que ele continuará a abordar vários modelos de uso, enquanto mantém suas propriedades principais.

Esses sete princípios mais importantes não são de forma alguma os únicos atributos fornecidos pelo Linux, mas eles tornam o Linux uma plataforma universal entra uma ampla variedade de modelos de uso. Além disso, o Linux é o mesmo entre esses modelos de uso—não apenas os princípios de design, mas o próprio código. Isso não pode ser dito de outros sistemas operacionais (como o Windows®— desktop, Server ou integrado—ou Mac OS X ou Apple iOS), que fragmentam suas ofertas para suportar outros modelos de uso.


Onde está o Linux?

Onde está o Linux pode ser mais difícil de responder do que onde ele não está. Linux, com sua capacidade de metamorfosear e escalar, pode ser encontrado em todos os segmentos da computação (e até mesmo em alguns que ainda não estão totalmente definidos). Esta seção explora alguns dos principais segmentos de computação, incluindo desktop/netbook, servidor, cluster, mainframe, supercomputador, portáteis/tablet, integrados, virtualização e experimental (veja a Figura 2).

Figura 2. Atributos do Linux e segmentos abordados
Atributos do Linux e segmentos abordados

Desktop e netbook

O Linux apresenta maiores dificuldades na área de desktops e netbooks, em que muitas pessoas usam Linux. Dados recentes de participação no mercado indicam que o Linux captura cerca de 1,5% do mercado de desktops, mas cerca de 32% do mercado de netbooks. Esses números podem parecer baixos, mas, como desenvolvedor, tenho a tendência de ver o Linux com mais frequência do que qualquer outro sistema operacional.

O Linux começou como um sistema operacional experimental simples e, com a introdução do XFree86 em 1994, um gerenciador de janelas mostrou a promessa de um sistema operacional de desktop novato. Hoje, há diversos gerenciadores de janela disponíveis para Linux (tanto uma benção como uma maldição), permitindo que os usuários padronizem sua personalizada de acordo com suas necessidades. Além disso, o Linux escala automaticamente com recursos de processador (como multicore e multiencadeamento simétrico), planejando de forma eficiente os processos tendo o desempenho em mente.

Linux e o mercado de trabalho

Uma pesquisa recente do Dice.com e da Linux Foundation descobriu que 81% de mais de 2.000 respondentes indicaram que a contratação com experiência em Linux era um prioridade em 2012. O Linux não apenas estimula os segmentos de mercado como também estimula carreiras.

Servidor

O Linux é a melhor opção no mercado de servidores (composto por servidores da web, de correio, de Sistema de Nomes de Domínio, e outros dispositivos backend). Pesquisas recentes descobriram que mais de 60% de todos os servidores executam uma forma do Linux. For dos serviços da web tradicionais, o Linux capacita muitas das maiores propriedades da Internet (Facebook, eBay, Twitter e Amazon, para dar apenas alguns exemplos), com os diversos modelos de uso e requisitos. Além das opções tradicionais (como web ou email), o Linux oferece uma grande quantidade de array de serviços da web (e diversas opções para esses serviços).

Cluster e computação distribuída

Linux não é apenas uma necessidade básica em clusters e modelos de computação distribuída, também é uma força motriz e a base de muitos modelos de uso novos. Dois modelos importantes que estão crescendo rapidamente são computação em nuvem e big data.

A computação em nuvem se trata da entrega de TI como um serviço e depende de um cluster de recursos compartilhados que escalam de acordo com a necessidade de um determinado aplicativo. As nuvens também dependem da virtualização para suportar o gerenciamento automatizado de nós dentro de uma infraestrutura massiva. Nos ambientes na nuvem, 66% dependendo do Linux como sua plataforma principal.

Linux também está se conduzindo como a plataforma para ciência de dados. A Internet escala o volume de dados que pode ser coletado, e novos problemas surgem durante o processamento desses dados para identificar seus padrões valiosos. O que hoje é chamado de Big Data foi desenvolvido em Linux como uma forma escalável de manipular dados que excediam os métodos anteriores tradicionais. Hadoop e seu ecossistema são um resultado da abertura do Linux, junto com um exército de desenvolvedores que dominam a plataforma.

Mainframe

Em 1991, um editor conhecido previu que o último mainframe seria desconectado no início de 1996. Mais de 20 anos depois, os mainframes continuam a ser desenvolvidos e vendidos e muitos executam o Linux. A IBM começou a suportar o Linux em mainframes em 2000 (como no popular IBM® System z®) e fornece uma experiência de usuário comum entre os ambientes. Um artigo recente de Michael Vizard documentou que cerca de 25% das cargas de trabalho de novos mainframes depende do Linux. (Consulte a seção Recursos.)

Supercomputador

Os supercomputadores representam uma constante corrida armamentista para possuir o título de mais rápido, desde o supercomputador Jaguar do Oak Ridge National Laboratory (2009) até o chinês Tianhe-I (2010) e o líder atual, o computador RIKEN Kei do Japão (2011). Em 2012, o supercomputador Sequoia da IBM será lançado e espera-se que exceda o desempenho do RIKEN em duas vezes. O que cada um desses supercomputadores tem em comum é que todos executam Linux. O Linux não é apenas eficiente, também é adaptável às diversas plataformas de hardware que usam seu desempenho. Isso não deve ser uma surpresa, pois mais de 90% dos supercomputadores executam Linux. (Consulte a seção Recursos.)

Dispositivos móveis e tablets

No espectro mais restrito de dispositivos de consumo, os dispositivos móveis e tablets estão demonstrando um crescimento significativo. Esses dispositivos representam um kernel Linux junto a uma interface gráfica com o usuário (GUI) customizada. Um exemplo importante dessa área é o sistema operacional Google Android, que é usado para smartphones e em tablets. Atualmente, mais de 25% dos smartphones executam uma forma do Linux (principalmente o Android), com quase 40% dos tablets executando Android.

Esses dispositivos dependem de processadores baseados em ARM (sistemas em um chip) para obtenção de alto desempenho e baixo consumo de energia. Independentemente da plataforma subjacente, eles são dispositivos Linux, não bifurcações de kernel e de aplicativos.

A Microsoft® confirmou recentemente que para seu tablet Windows on ARM (WOA), os únicos aplicativos que serão suportados serão aqueles que estão desenvolvidos para a plataforma (em outras palavras, não é possível executar aplicativos antigos no tablet). Compare isso com o Linux, que suporta aplicativos com alta capacidade de portabilidade em vez de um ecossistema de aplicativos restrito e fechado. (Consulte a seção Recursos.)

Integrado

Na parte inferior do espectro estão dispositivos integrados, com diversos níveis de restrições (desempenho do processador, recursos como memória e muito mais). Linux é ideal na maioria desses casos, devido à sua capacidade de ser escalável e usar qualquer um dos processadores integrados disponíveis no mercado. Essa flexibilidade torna o Linux uma plataforma altamente usada em televisões, entretenimento em automóveis, sistemas de navegação e muitos outros tipos de dispositivos.

O Linux é altamente customizável e tem o foco no baixo consumo de energia. Para garantir o foco em energia, a iniciativa Less Watts controla o consumo de energia de versões de kernel Linux. Esse projeto se concentra principalmente em plataformas Intel, mas também pode ser útil para outros processadores.

Linux é uma oferta razoavelmente padrão para dispositivos integrados e pode determinar o sucesso ou falha do dispositivo (para suportar uma criação e desenvolvimento mais ágil). Um dispositivo recente e interessante chamado Raspberry Pi, um computador do tamanho de um cartão de crédito baseado em ARM, executa como o Linux e foi projetado como um dispositivo de aprendizado para o ensino de programação. O preço desse dispositivo deverá ser US$ 35, mas ainda não está disponível para compra. (Consulte a seção Recursos.)

Plataforma de virtualização

Uma das áreas mais interessantes na qual o Linux gera inovação é o domínio de virtualização. Linux é a base de sistema operacional para todo tipo de solução de virtualização disponível, quer seja uma plataforma ou paravirtualização, virtualização de sistema operacional ou ideias mais obscuras como virtualização cooperativa. Linux como um sistema operacional é capaz de se transformar em um hypervisor (como o Kernel Virtual Machine [KVM]) e também hospedar diversos hipervisores de pesquisa. Para levar uma eficiência adicional à virtualização, o Linux implementa o Kernel SamePage Merging para deduplicar as páginas da memória de forma eficiente.

Linux também está gerando a mais alta tecnologia em um novo aprimoramento em virtualização chamado de virtualização aninhada.Aninhamento, como indica o nome, permite que um hypervisor hospede um hypervisor convidado, que, por sua vez, hospeda um conjunto de máquinas virtuais convidadas. Embora inicialmente possa parecer um caso de uso estranho, a virtualização aninhada mudará a computação em nuvem e ampliará os tipos de aplicativos que podem ser hospedados nesse local. Hoje, o Linux KVM suporta a virtualização aninhada.

Plataforma experimental

Por último, mas não menos importante, está a base do próprio Linux—uma plataforma experimental por meio da qual muitas das novas ideias estão sendo exploradas. Em 1991, o Linux foi apresentado como um sistema operacional de brinquedo, 20 anos depois da primeira versão do UNIX®. Hoje, o Linux serve como uma plataforma para a experimentação na pesquisa de sistema de arquivo, computação em cluster, nuvem, avanços de virtualização e aumenta os limites sobre os quais um único kernel de sistema operacional pode ser aplicado a tantos modelos de uso. Linux como uma plataforma possibilita a experimentação acelerada por meio do uso do Linux e de array compacto de componentes de software livre. O resultado é um array de tecnologias interessantes desenvolvidas a partir do Linux, incluindo HP webOS, Google Chrome OS e Android.

Uma mudança interessante apresentada pelo Linux é a crescente irrelevância da plataforma de hardware subjacente. O Linux apresenta a mesma experiência de uso independentemente da arquitetura de hardware subjacente. Portanto, se uma nuvem estiver cheia com servidores AMD x86 ou ofertas baseadas em ARM de baixo consumo de energia, os aplicativos em execução no Linux são abstraídos da arquitetura física. Essa abstração permite que os consumidores tomem decisões sobre plataformas com base em suas necessidades, em vez de ficarem presos a arquiteturas comuns, mas arcaicas e ineficientes. Linux é igual à opção de escolha

Linux também é um ambiente de desenvolvimento integrado (IDE) autocontido. Além de hospedar uma cadeia de ferramentas de compilação de alto nível (o GNC Compiler Collection), ele hospeda um espectro de ferramentas que vão desde depuradores, editores, sistemas de controle de versão, ferramentas de arquivo e shells e intérpretes para ajudar a automatizar tarefas de desenvolvimento. O Linux, nesse sentido, se torna um ambiente ideal para o desenvolvimento e pesquisa de software. (Consulte a seção Recursos.)


Versatilidade do Linux

O suporte dos diversos modelos de uso definidos aqui é simplesmente uma opção de pacote para o Linux. As distribuições do Linux englobam os mercados de desktop e servidor, onde as distribuições especializadas se concentram em integrados (como uClinux, se seu dispositivo integrado não tiver uma unidade de gerenciamento de memória). Qualquer pessoa pode pegar um kernel Linux e agrupar um conjunto de aplicativos de usuário para um modelo de uso específico, aproveitando as vantagens dos diversos benefícios do Linux (o array de protocolos de rede e sistemas de arquivo, kernel configurável e dinâmico, interfaces de programação de aplicativo padrão). Esse é um dos motivos para o uso do Linux em plataformas de smartphone de rápido crescimento (com uma interface com o usuário customizada para sua personalidade).


Indo além

Se você comparar o Linux a uma ponte, ele seria uma maravilha da engenharia moderna. Seu modelo de desenvolvimento distribuído desafiou o status quo e o resultado é um dos produtos de software mais flexíveis já criado, envolvendo uma variedade de modelos de uso desde pequenos dispositivos integrados a enormes supercomputadores. O Linux moldou os segmentos de mercado e liderou o caminho da pesquisa de tecnologia de ponta em computação de cluster, sistemas de arquivo, nuvens e virtualização. Qualquer ambiente de computação que surja, o Linux estará lá.

Recursos

Aprender

Obter produtos e tecnologias

  • Avalie produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto on-line, use-o em um ambiente de nuvem ou passe algumas horas na SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de modo eficiente.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux, Software livre
ArticleID=807304
ArticleTitle=Visão Geral sobre o Linux, o Sistema Operacional que é uma Plataforma Universal
publish-date=03302012