O que é Linux: Uma visão geral do sistema operacional Linux. |
O que é Linux?
Linux é, em termos mais simples, um sistema
operacional. É o software em um computador que habilita as
aplicações e o operador do computador acessar os dispositivos no
computador e desempenhar funções desejadas. O sistema operacional
(sigla OS) transmite instruções de uma aplicação para, por
exemplo, o processador do computador. O processador desempenha a
tarefa instruída, e então envia os resultados de volta para a
aplicação via o sistema operacional.
Explicado nesses termos, Linux é muito similar à
outros sistemas operacionais, tal qual o Windows e o OS X.
Mas algo separa Linux de outros sistemas
operacionais. O sistema operacional Linux representou um ecossistema
de $25 bilhões em 2.008. Desde o seu principio em 1.991, Linux tem
crescido para se tornado uma força na computação, Rodando em tudo desde a New York Stock Exchange, mobile phones, à
supercomputadores e à dispositivos de consumidores.
Como um sistema operacional aberto, Linux é
desenvolvido colaborativamente, significando que nenhuma empresa é
unicamente responsável pelo seu desenvolvimento ou pelo seu suporte
continuo. Empresas participantes na economia compartilham custos de
pesquisa e desenvolvimento com seus parceiros e concorrentes. Essa
disseminação de desenvolvimento partilhada entre indivíduos e
empresa tem resultado em um ecossistema largo e eficiente e inovação
de software não anunciada.
Mais de 1.000 desenvolvedores, ao menos de 100
diferentes empresas, contribuem para cada lançamento (release) do
kernel. Somente nos últimos dois anos, mais de 3.200 desenvolvedores
de 200 empresas contribuíram para o kerel-- ao qual é apenas um
pequeno pedaço de uma distribuição Linux.
Esse artigo explorará os vários componentes do
sistema operacional Linux, como eles são criados e funcionam juntos,
as comunidades do Linux, e o impacto incrível do Linux no
ecossistema de IT.
aonde está o Linux?
Uma das mais notáveis propriedades do Linux é
aonde ele pode ser utilizado. Windows e OS X são predominantemente
encontrados em dispositivos de computação pessoal como computadores
desktop e laptop. Outros sistemas operacionais, como o Symbian, são
encontrados em pequenos dispositivos como telefones e PDAs, enquanto
mainframes e supercomputadores encontrados nos maiores laboratórios
acadêmico e corporativo utilizam sistemas operacionais
especializados como o AS/400 e o Cray OS.
Linux, que iniciou sua existência como um sistema
operacional para servidores e tem se tornado útil como um sistema
operacional para desktop, pode também ser utilizado em todos esses
dispositivos. De relógios de pulso a supercomputadores‚é a
descrição popular das compatibilidades do Linux.
Uma lista abreviada de alguns dos dispositivos
eletrônicos populares que Linux é utilizado hoje inclui:
Dell Inspiron Mini 9 and 12 |
Garmin Nuvi 860, 880, and 5000 |
Google Android Dev Phone 1 |
HP Mini 1000 |
Lenovo IdeaPad S9 |
Motorola MotoRokr EM35 Phone |
One Laptop Per Child XO2 |
Sony Bravia Television |
Sony Reader |
TiVo Digital Video Recorder |
Volvo In-Car Navigation System |
Yamaha Motif Keyboard |
Esses são apenas os exemplos mais recentes dos
dispositivos baseados em Linux disponíveis para consumidores em todo
o mundo. Esse número real de itens numera-se em milhares. A Linux
Foundation está construindo uma base de dados centralizada que
listará todos os produtos Linux-based oferecidos atualmente, tão
bem quanto arquivar esses dispositivos que atuaram como dispositivos
moveis pioneiros Linux-based.
O Futuro do Linux
Linux já é um sucesso em muitos tipos diferentes
de dispositivos, mas há também muitas áreas tecnológicas onde
Linux está avançando, mesmo com o desenvolvimento para desktop e
servidores continue a crescer mais rápido do que qualquer outro
sistema operacional hoje.
Linux está sendo instalado na BIOS de sistema de
computadores laptop e notebook, que possibilitarão os usuários a
ligar seus dispositivos em questão de segundos, carregando um
sistema Linux com ambiente simplificado. Esse ambiente terá
ferramentas de conectividade com a Internet tal como um web browser e
um cliente de e-mail, permitindo os usuários trabalhar na internet
sem ter que bootar todo o caminho dentro do sistema operacional
primário do dispositivo--mesmo se esse sistema operacional for
Windows.
Ao mesmo tempo, Linux está aparecendo nos
dispositivos moveis para internet [mobile Internet devices (MIDs)].
Isso inclui dispositivos embarcados como smartphones e PDAs, tão bem
quanto dispositivos netbook--pequenas maquinas laptop-type que
caracterizam a funcionalidade central das suas maiores contrapartidas
em um menor, mais eficiente pacote.
O crescimento da computação em nuvem (cloud
computing) é um encaixe natural para Linux, que já roda muitos dos
servidores web da internet. Linux possibiliza os serviços de nuvem
como o Amazon's A3 funcionar com compacidade de entregar aplicações
online e informações aos usuários.
Relacionado ao crescimento do Linux na computação
em nuvem é o sucesso bem conhecido do Linux em supercomputadores,
ambos nas áreas de computação de alta desempenho [high-performance
computing (HPC)] e de alta disponibilidade [high-availability (HA)],
onde pesquisas acadêmicas em física e bioengenharia, e empresa nas
finanças e industrias de energia necessitam de poder de computação
confiável e escalável realizar seus objetivos.
Muitos do serviços Web 2.0 na internet, coomo o
Twitter, Linked In, YouTube, e Google todos confiam no Linux como seu
sistema operacional. Como novos serviços chegam no futuro, Linux
cada vez mais será a plataforma que dirige essas novas tecnologias.
O nascimento do Linux
No dia 25 de Agosto 25 de 1.991, um estudante de
ciências da computação Finlandês chamado Linus Torvalds faz o
seguinte anuncio ao grupo Usenet comp.os.minux:
"Estou fazendo um sistema operacional (livre) (somente um hobby, não será grande e profissional como o gnu) para clones AT 386(486). Ele está amadurecendo desde abril, e está começando a ficar pronto. Eu gostaria de qualquer feedback nas coisas que as pessoas não/gostam no minix, já que meu OS se assemelha a ele um pouco (mesmo layout físico do file-system (deviso a rasões práticas) (entre outras coisas)."
O Minix que Torvalds se referiu é um variante do
sistema operacional UNIX, utilizado como linha de comando por ele o
sistema operacional livre que ele queria rodar nos PCs baseado na
arquitetura x86 da época. GNU‚ refere-se ao conjunto de
ferramentas GNU (GNU Is Not Unix) primeiramente unidas por Richard
Stallman em 1.983. UNIX, o sistema operacional que iniciou tudo isso,
teve suas origens nos antigos laboratórios da Bell Labs nos
principio dos anos 60.
Torvalds construiu o núcleo do sistema
operacional Linux, conhecido como o kernel. Um kernel sozinho não
se torna um sistema operacional, mas as ferramentas GNU do Stallman
eram de um projeto para criar um sistema operacional também--um
projeto que estava faltando um kernel para tornar o sistema
operacional de Stallman completo. A mescla de Torvalds entre as GNU
com o kernel Linux marcou o inicio do sistema operacional Linux como
é conhecido hoje.
Linux está de muitas maneiras somente no começo
do seu potencial, mesmo que ele tenha desfrutado tremendo sucesso
desde a primeira solicitação de ajuda do Torvalds em 1991.
Linux tem ganhado forte popularidade ente os
desenvolvedores do UNIX, que gostam dele por sua portabilidade para
muitas plataformas, sua semelhança com o UNIX, e sua licença de
software livre. Por volta da virada do século, vários
desenvolvedores começaram a distribuir o Linux, incluindo VA Linux,
TurboLinux, Mandrakelinux, Red Hat, e SuSE GMbH. A decisão 2000 da
IBM de investir $2 bilhões no desenvolvimento do Linux e em vendas
foi um evento significantemente positivo para o crescimento do Linux.
Hoje, Linux é uma industria multi-billionária
(em dólares), com empresa e governos em torno do mundo levando
vantagem da segurança e flexibilidade do sistema operacional.
Milhares de empresa utilizam Linux uso diário (day-to-day), atraídos
pelo baixos custos de licenças e suporte. Governos em torno do mundo
estão implantando Linux para economizar dinheiro e tempo, com alguns
governos comissionando sua próprias versões de Linux.
O grupo de analista do IDC tem projetado que Linux
será um negócio de $49 bilhões de até 2011, e há muitas
indicações no market que isso imagem será alcançado.
O Código
Linux também é impar de outros sistemas
operacionais em que ele não tem um único dono. Torvalds ainda
gerencia o desenvolvimento do kernel Linux, mas desenvolvedores
comerciais e privados contribuem com outros software para fazer todo
o sistema operacional linux.
Nessa seção, as partes do sistema operacional
Linux serão analisadas.
O Kernel
Todos os sistemas operacionais possuem kernels,
construídos em torno da metáfora arquitetônica de que deve
existir um conjunto central de instruções para direcionar
dispositivo de hardware, cercador por várias camadas modulares de
funcionalidade. O kernel Linux é único e flexível por que ele é
também modular por natureza.
Modularidade é
desijavel por que permite que os desenvolvedores retirar partes
do kernel que eles não precisam utilizar. Typicamente um kernel
menor é um kernel mais rápido, por que ele não está rodando
processos que não precisa.
Se uma
desenvolvedora quiser que uma versão de Linux rode em um celular,
ela não precisa das funcionalidades do kernel que lidá com
drives de disco, dispositivos de Ethernet, ou telas de monitores
grandes. Ela pode retirar essa peças (e outras), deixando apenas
o kernel otimizado para uso do celular.
 
|
O kernel do sistema operacional Window (que poucas
pessoas fora da Microsoft são permitas olhar sem pagar por
privilegio) é uma peça de código solidamente conectada, incapaz de
ser facilmente quebrado em pedaços. É difícil (se não impossível)
aparar o kernel Windows para ajustar em um celular ou smartphone.
Essa modularidade é significante para o sucesso
do Linux. A habilidade de reduzir (ou ampliar) para encontrar as
necessidades de uma plataforma especifica é uma vantagem grande
sobre outros sistemas operacionais embaraçados apenas a poucas
plataformas possíveis.
Modularidade também gera efeito de estabilidade
e segurança. Se acontece de falhar uma peça do kernel, o resto não
irá colidir (crash). Similarmente, um ataque ilícito em uma parte
do kernel (ou o resto do sistema operacional) pode embaraçar aquela
parte do código, mas não deve comprometer a segurança de todo o
dispositivo.
O sistema operacional
Desenvolvedores precisam de ferramentas especiais
(como compiladores e linhas de comando encontradas no GNU) para
escrever aplicações que podem conversar com o kernel. Eles também
precisam de ferramentas e aplicações que tornam fáceis aplicações
acessar o kernel depois que a aplicação for escrita e instalada.
Esse conjunto de ferramentas, combinados com um
kernel, é conhecido como o sistema operacional. É geralmente a
camada mais lenta do software do computador que é acessível pelo
usuário mediano. Usuários gerais acessam o sistema operacional
quando acessam a linha de comando.
Linux fornece ferramentas poderosas com qual
escreve-se suas aplicações: ambiente para desenvolvedores,
editores, e compiladores são projetadas para levar o código dos
desenvolvedores e converte-lo para algo que possa acessar o kernel e
realizar as tarefas.
Como o kernel, o sistema operacional Linux é
também modular. Desenvolvedores podem obter e escolher as
ferramentas de operação para fornecer aos usuários e
desenvolvedores um novo saber de Linux projetado para agrupar tarefas
específicas.
Os ambientes
As janelas, menus, e caixas de dialogo que muitas
pessoas imaginam como parte do sistema operacional são na verdade
camadas separadas, conhecidas como sistema de janelas (windowing
system) e o ambiente de área de trabalho (desktop environment).
Essas camadas fornecem interface grafica
[human-oriented graphical user interface (GUI)] que possibilitam os
usuários facilmente trabalhar com as aplicações no sistema
operacional e as aplicações terceiras (third-party applications)
serem instaladas no sistema operacional.
No Linux, Há um monte de escolhas para a qual
sistema de janelas e ambiente de área de trabalho podem ser
utilizadas, algo que o Linux permite aos usuários decidirem. Isso
não pode ser feito no Windows e é difícil fazer isso no OS X.
Como o sistema operacional e o kernel, há
ferramentas e bibliotecas de código disponíveis que permitem
desenvolvedores de aplicações mais facilmente trabalhar com esses
ambientes (ex., gtk+ para GNOME, Qt para KDE).
As Aplicações
Sistemas operacionais tem dois tipos de
aplicações: Aquelas que são componentes essenciais do sistema
operacional em si, e aquelas que os usuários instalarão mais tarde.
Sistemas operacionais fechados, como Windows e OS X, não permitirão
aos usuários (ou desenvolvedores) escolher e obter as aplicações
de componentes essenciais que eles querem utilizar. Desenvolvedores
do Windows devem utilizar o compilador da Microsoft, sistemas de
janelas, e assim por diante.
Desenvolvedores de aplicações Linux tem um maior
conjunto de escolhas para desenvolver suas aplicações. Isso permite
mais flexibilidade para construir uma aplicação, mas isso significa
mesmo que um desenvolvedor precisará decidir qual componentes Linux
utilizar.
As Distribuições
Essa é a camada mais alta do sistema operacional
Linux: o container para todas as camadas supracitadas. Uma criador de
uma distribuição tem que decidir qual kernel, ferramentas de
sistema operacional, ambientes, e aplicações incluir e aprontar
para os usuários.
Distribuições são mantidas por entidades de
indivíduos privados e comerciais. Uma distribuição pode ser
instalada utilizando um CD que contem software especifico da
distribuição para instalação e configuração inicial do sistema.
Para os usuários, distribuições mais populares oferecem sistemas
de gerenciamento de aplicações maduras que permitem aos usuários
buscar, encontrar, e instalar novas aplicações com apenas alguns
cliques do mouse. Há, pela ultima conta, mais de 350 distribuições
distintas do Linux.
Licenciamento
O código é contribuído para o kernel Linux sob
um número de licenças,mas todo código deve ser compatível com a
versão 2 do GNU General Public License (GPLv2), que é a licença
cobrindo o a distribuição do kernel como um todo. Na prática, isso
significa que todas as contribuições de código são cobertas tanto
pela GPLv2 (com, opcionalmente, idioma permitindo distribuição sob
versões posteriores da GPL) ou a licença three-clause BSD.
Quaisquer contribuições que não sejam cobertas por uma licença
compatível não serão aceitas no kernel.
Atribuições a direitos autorais não exigidas
(ou solicitadas) para o código contribuído para o kernel. Todo
código fundido no mainline kernel conserva seu proprietário
original; como um resultado, o kernel agora tem milhares de
proprietários.
Uma aplicação dessa estrutura de propriedade é
que qualquer tentativa de alterar o licenciamento do kernel está
condenada à quase certeza de falhar. Há poucos cenários práticos
onde o acordo de todos os detentores de direitos autorais puderam ser
obtidos (ou seu código pode ser removido do kernel). Então, em
particular, não há prospecto de migração para a versão 3 da GPL
em um futuro previsível.
É imperativo que todo código contribuído para o
kernel seja legitimamente software livre (free software). Por essa
rasão, código contribuidores de anônimos (ou pseudônimos) não
serão aceitos. É exigido que todos os contribuidores "assinem
(sign off)" no seu código, declarando que o código pode ser
distribuído com o kernel sob a GPL. O código que não tem sido
licenciado como software livre pelo seu proprietário, ou que coloca
em risco criando problemas relacionados a direitos autorais
(copyright-related) para o kernel (como código que deriva de
esforços de engenharia reversa (reverse-engineering) faltando as
devidas salvaguardas) não podem ser contribuídos.
Perguntas a respeito de questões de direitos
autorais são comuns nas listas de e-mail (mailing lists) do
desenvolvimento do Linux. Tais perguntas normalmente não receberão
escassez de respostas, mas a pessoa deve ter em mente que as pessoas
respondendo as essas perguntas não são advogados e não podem
fornecer conselho legal. Se você tem perguntas legais relacionando
ao código fonte do (Linux source code), não há substituto por
falar com um advogado que entenda esse campo. Confiar nas resposta
obtidas nas mailing lists técnicas é um negócio arriscado.
Comunidade
As comunidades Linux vem em duas formas básicas:
comunidades de desenvolvedores e de usuários.
Um dos recursos mais convenientes de Linux é que
ele é acessível a desenvolvedores; qualquer um habilidades
necessárias pode melhorar o Linux e influenciar a direção do seu
desenvolvimento. Produtos Proprietários não podem oferecer esse
tipo de abertura, a qual é uma característica do processo de
software livre.
Comunidades de desenvolvedores podem se
voluntariar para manter e apoiar as distribuições, como projetos
Debian ou Gentoo. Novell e Red hat também apoiam versões de
comunidades dirigidas dos seus produtos, openSUSE e Fedora,
respectivamente. Os melhoramentos para essas distros comunidade são
então incorporadas nos produtos de servidores comerciais e desktop
dessas empresas.
O kernel Linux em si é primeiramente mantido por
sua comunidade de desenvolvedores tão bem quanto um dos maiores e
mais ativos projetos de software livre na existência. Um ciclo de
desenvolvimento de três meses do kernel pode envolver mais de 1000
desenvolvedores trabalhando para mais de 100 empresas diferentes (ou
para empresa alguma).
Com o crescimento do Linux vem um crescimento de
número de desenvolvedores (e empresas) desejando participar nesse
desenvolvimento. Fornecedores de Hardware querem assegurar que Linux
tem suporte aos seus produtos também, tornando esses produtos
atrativos aos usuários de Linux. Fornecedores de sistemas
Embarcados, que utilizam Linux como um componente em um produto
integrado, querem que o Linux seja tão capaz e bem adequado à sua
tarefa na mão quanto possível. Distribuidores e outros fornecedores
de software que baseiam seus produtos em Linux tem um claro interesse
na capacidade, desempenho, e confiabilidade do kernel Linux.
Outras comunidades de desenvolvedor foca em
aplicações em ambientes diferentes que rode no Linux, como o
Firefox, OpenOffice.org (Nota do tradutor: hoje temos o LibreOffice e
o Apache OpenOffice.), GNOME e KDE.
Usuários finais, também, podem fazer
contribuições valiosas para o desenvolvimento do Linux. Com
comunidades online como a Linux.com, LinuxQuestions, e as muitas e
variadas comunidades hospedadas por distribuições e aplicações, a
base de usuários Linux é frequente um guia sincero, geralmente
defensor positivo para o sistema operacional Linux.
A comunidade Linux não é somente uma presença
online. Grupos locais conhecidos como Linux Users Groups (LUGs)
frequenmente se encontram para discutir questões em relação ao
sistema operacional Linux, e prove outros and proporciona aos
usuários locais demonstrações livres, treinamentos, suporte
técnico, e installfests.
Desenvolvimento
Linux é um sistema operacional que é constituído
de linguagens de desenvolvimento diferentes. Um enorme percentual do
código de distribuições é escrito ou na linguagens C (52.86%) ou
C++ (25.56%). Todo o resto do código cai para percentuais de dígitos
únicos, com Java, Perl, e Lisp completando o resto da top 5
linguagens.
O kernel Linux em si tem uma presença mais
dominante em C, com mais de 95 porcento do do código do kernel
escrito nessa linguagem. Mas outras linguagens compõem o kernel
também, tornando-o mais heterogêneo do que outros sistemas
operacionais.
A comunidade do kernel tem envolvido seus próprios
meios distintos de operar que a permite funcionar suavemente (e
produzir um produto de alta qualidade) em um ambiente aonde milhares
de linhas de código estão sendo alteradas todos os dias. Isso
significa que o processo de desenvolvimento do kernel Linux
diferencia enormemente dos métodos de desenvolvimento proprietário.
O processo de desenvolvimento do kernel pode ser
deparado como estranho e intimidante para os novos desenvolvedores,
mas há boas rasões e experiencias solidas por trás disso. Um
desenvolvedor que não entende os os meios das comunidade do kernel
(ou, pior, que tenta desrespeitá-los ou burlá-los) terá uma
experiencia frustrante no seu fornecimento (store). A comunidade de
desenvolvimento, enquanto for útil à aqueles que estão tentando
aprender, tem pouco tempo para aqueles que não ouvirão ou que não
se importam com o processo de desenvolvimento.
Enquanto muitos desenvolvedores do Linux as
ferramentas baseadas em texto como o Emacs ou o Vim para desenvolver
seu código, o Eclipse, Anjuta, e Netbeans todos proveem ambientes
integrados mais robustos para o Linux.
O negócio do Linux
Em 2008, o analista da IDC Al Gillen citou uma
taxa de crescimento anual para a industria Linux próximo, que poe
uma tecnologia $21 bilhões em 2007 à $49 bilhões em 2011. As
empresas envolvidas no Linux incluem as industrias lideres como IBM,
Fujitsu, Hewlett-Packard, Oracle, Intel, Hitachi, NEC, e Novell.
Todas tem investido tempo, talento, e recursos para o melhoramento do
Linux por si próprias e através da Linux Foundation.
Se o Linux é livre de custo, como uma empresa
Linux gera receita? Como exemplo de como um negócio Linux funciona:
Enquanto quase todo o código da distribuição Linux está
disponível para download de graça, o tempo e custo envolvido na
verdade em baixar todo o código e juntar tudo em uma maneira coesiva
e funcional é significantemente alta.
Para evitar desperdício de tempo e a curva de
aprendizado necessário para realizar tal tarefa, usuários podem
simplesmente pagar para um fabricante de uma distribuição pela
comodidade de não ter que construir um Linux livre do início (free
Linux from scratch). Usuários de negócios e individuais se
beneficiam da especialidade dos distribuidores de colocarem todo o
código livre do Linux em um conjunto de pacotes fáceis de utilizar
(easy-to-use set of packages).
Uma outra fonte de receita para as empresa é
suporte comercial para o linux ongoing. De fato, algumas
distribuições permitirão aos usuários baixar seu software, livre
de despesa e construir seu modelo de receita inteiro em cima de um
plano de serviços e suporte empresarial.
Linux é uma plataforma que pode gerar recita,
tudo enquanto for livre. Clientes ganham o conhecimento que eles
estão pagando diretamente pelo suporte e conveniência, e sempre
terão a escolha de quais sistemas Linux funcionarão melhor para si.
Iniciando
Para informações gerais de Linux, visite
http://www.linux.com.
Para vídeo tutoriais e informações, visite
http://video.linuxfoundation.org
Para conhecimento e info em desenvolvimento para
Linux, verifique a rede de desenvolvedores de Linux em
http://ldn.linuxfoundation.org
Para aprender mais sobre os negócios de Linux e a
fundação Linux (Linux Foundation), pare em
http://linuxfoundation.org.
Se você estiver interessado em atender eventos ao
vivo sobre Linux e tecnologias relacionadas, visite
http://events.linuxfoundation.org e http://www.diolinux.com.br/search/label/DioCast.
Fonte: Linux.com
E não esqueçam de conferir também o meu mini curso de atributos no LinuxPodem estar disponíveis autorizações adicionais às concedidas no âmbito desta licença emhttp://creativecommons.org/licenses/.
QUER APRENDER A UTILIZAR LINUX DE VERDADE, ENTÃO VENHA APRENDER COMIGO ;) |
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.