quarta-feira, 28 de agosto de 2013

LINUX



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




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 aportabilidade 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 maisdinâ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 maissegura . 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



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.

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.)

Nenhum comentário:

Postar um comentário