Você está na página 1de 13

VICTOR HUGO SOARES COSTA BATISTA

SISTEMA OPERACIONAL LINUX: VISO GERAL

UBERABA (MG) 2012

1. Introduo O Linux foi originalmente desenvolvido como um passatempo de Linus Torvalds. Ele queria um sistema operacional que fosse semelhante a um Unix, com todas as suas funcionalidades e, ainda, que pudesse utiliz-lo num PC. A partir dessa idia, Linus comeou a trabalhar nesse que seria o futuro kernel do sistema operacional que hoje denominamos Linux. Isso tudo aconteceu em meados de 1991, quando Linus cursava a faculdade de Computao na Finlndia. Linus Torvalds, quando desenvolveu o Linux, no tinha a inteno de ganhar dinheiro e sim fazer um sistema para seu uso pessoal, que atendesse suas necessidades. Por isso, o estilo de desenvolvimento que foi adotado foi o de ajuda coletiva. Ou seja, ele coordena os esforos coletivos de um grupo para a melhoria do sistema que criou. Milhares de pessoas contribuem gratuitamente com o desenvolvimento do Linux, simplesmente pelo prazer de fazer um sistema operacional melhor. 1.1 Cdigo Aberto ou Software Livre Programas livres, segundo a definio criada pela Free Software Foundation qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribudo sem nenhuma restrio. A liberdade de tais diretrizes central ao conceito, o qual se ope ao conceito de software proprietrio, mas no ao software que vendido almejando lucro (software comercial). O software chamado open source, ou em portugus, cdigo aberto, um tipo de software cujo cdigo fonte visvel publicamente. O software de cdigo aberto respeita as quatro liberdades definidas pela Free Software Foundation, porm, no estabelecem certas restries como as contidas na GPL. As definies "oficiais" de software livre e de cdigo aberto so ligeiramente diferentes, com a definio de

software livre sendo geralmente considerada mais rigorosa, mas as licenas de cdigo aberto que no so consideradas licenas de software livre so geralmente obscuras, ento na prtica todo software de cdigo aberto tambm software livre. 1.2 As Liberdades do Software Livre Software Livre se refere existncia simultnea de quatro tipos de liberdade para os usurios do software, definidas pela Free Software Foundation:
1)

A liberdade de executar o programa, para qualquer propsito (liberdade n. 0).

2)

A liberdade de estudar como o programa funciona, e adapt-lo para as suas necessidades (liberdade n. 1). Acesso ao cdigo-fonte um pr-requisito para esta liberdade.

3)

A liberdade de redistribuir cpias de modo que voc possa ajudar ao seu prximo (liberdade n. 2).

4)

A liberdade de aperfeioar o programa, e liberar os seus aperfeioamentos, de modo que toda a comunidade se beneficie (liberdade n. 3). Acesso ao cdigo-fonte um pr-requisito para esta liberdade. 1.3 GNU ou Linux O projeto GNU e Sistema Operacional LINUX so termos usados para definir a mesma coisa, ou seja, o sistema operacional que usa o kernel Linux, desenvolvido por Linus Torvalds, e diversas ferramentas GNU, desenvolvidas pelo GNU Project, de Richard Stallman. So ferramentas como o gcc, o compilador C que transforma a linguagem dos programas em linguagem binria, de computadores, Richard Stallman luta para que o sistema tenha o nome de GNU/Linux, mas o fato que o nome mais

utilizado Linux, referindo-se apenas ao kernel, o ncleo do sistema sperativo. Algumas distribuies, como a Debian, prestigiam a viso de Stallman, dando o nome ao seu produto de Debian GNU/Linux, mas a maioria utiliza o nome Linux. Resumindo: no existe diferena, so apenas dois nomes dados mesma coisa. 2. Ncleo do Linux Kernel de um sistema operacional entendido como o ncleo deste ou, numa traduo literal, cerne. Ele representa a camada mais baixa de interface com o Hardware, sendo responsvel por gerenciar os recursos do sistema computacional como um todo. no kernel que esto definidas funes para operao com perifricos (mouse, discos, impressoras, interface serial / interface paralela), gerenciamento de memria, entre outros. Resumidamente, o kernel um conjunto de programas que fornece para os programas de usurio (aplicativos) uma interface para utilizar os recursos do sistema. 2.1 Arquitetura do Kernel A arquitetura do kernel pode ser monoltico, em camadas, ou microkernel (tambm conhecido como modelo cliente-servidor). Eis algumas de suas classificaes: Kernel monoltico ou monobloco um kernel que implementa uma interface de alto nvel para possibilitar chamadas de sistema especficas para gesto de processos, concorrncia e gesto de memria por parte de mdulos dedicados que so executados com privilgios especiais. Kernel hbrido define um kernel baseado em microkernel no qual mdulos externos a ele podem executar operaes em modo

kernel (protegido), a fim de evitar trocas de contexto e melhorar o desempenho geral do sistema. Microkernel um termo usado para caracterizar o sistema cujas funcionalidades saram do kernel e foram para servidores, que se comunicam com um ncleo mnimo, usando o mnimo possvel do 'espao do sistema' (nesse local o programa tem acesso a todas as instrues e a todo o hardware) e deixando o mximo de recursos rodando no 'espao do usurio' (nesse espao, o software sofre algumas restries, no podendo acessar alguns hardwares, no tendo acesso a todas as instrues). O nano kernel ou pico kernel um tipo de kernel extremamente simples, que a camada mais prxima do hardware. Os sistemas operacionais que implementam este paradigma geralmente so utilizados como sendo 'sistemas virtualizados' ou sistema de tempo real, devido sua simplicidade. Ele delega virtualmente todos os servios, inclundo os mais bsicos aos drivers, fazendo com que a memria utilizada por ele seja menor do que a memria utilizada pelo micro-kernel. Exokernels um paradigma de implementao em que existe apenas um Kernel simples que faz apenas gerncia de recursos do sistema e um conjunto de bibliotecas que implementam a abstrao de um sistema operacional. Nesse tipo de Kernel, o aplicativo pode utilizar diretamente os recursos dos dispositivos do sistema ou pode utilizar bibliotecas de software que implementam este processo. O programador, nesse caso, est livre para escolher a abstrao do hardware que desejar.

2.2.1 Ncleo do Linux Kernel monoltico ou monobloco um kernel que programa uma interface de alto nvel para possibilitar chamadas de sistema especficas para gesto de processos, concorrncia e gesto de memria por parte de mdulos dedicados que so executados com privilgios especiais. O Kernel modular, onde o kernel o mais simples possvel e se encarrega de basicamente de coordenar a troca de mensagens e dados entre os diferentes componentes do sistema. Em teoria este sistema mais simples, pois ao invs de um nico e gigantesco Kernel com milhes de linhas de cdigo voc passa a ter vrios componentes menores separados. A idia de kernel monoltico defendida principalmente por Linus Torvalds, que a utiliza no kernel do Linux. O principal argumento a favor do kernel monoltico que embora dividir o kernel em vrios componentes facilite o desenvolvimento, coordenar a troca de informaes entre as partes de uma forma confivel torna-se to complicado que logo supera este ganho inicial. Apesar disso, o kernel do Linux incorporou algumas caractersticas de um kernel modular, o que o torna atualmente uma espcie de kernel 'semi-monoltico'. Todo o kernel, incluindo os drivers de dispositivo e outros componentes ainda formam um nico bloco de cdigo (gigantesco, mais de 30 MB compactado) mas agora eles podem ser compilados separadamente na forma de mdulos. Estes mdulos podem ser carregados e descarregados a qualquer tempo, como seria possvel num kernel modular, porm sem a perda de desempenho ou aumento da complexidade que existiria ao utilizar um kernel realmente modular. 2.2.1. As Diferentes Verses do Linux

O Linux, por ser um software livre, est aberta para receber modificaes/alteraes/adies. As diferentes verses do Linux se do a partir da programao por diferentes profissionais/usurios/empresas e cada uma delas tem suas possibilidades de erros, suas potencialidades e aprimoramentos de diversas funes, que ir depender dos anseios pessoais de quem mudou o cdigo fonte que incrementa as novas funcionalidades ao sistema operacional. Essa diversidade de verses sem acompanhamentos 'oficiais' fazem com que cada uma delas seja nica, em qualidades e defeitos, no havendo um aperfeioamento constante e tambm, pode causar algumas imcompatibilidades entre as verses. importante dizer que as diferentes verses possuem um ncleo comum (kernel). Exemplos de diferentes verses: Kurumim, Red Hat, Debian, Ubuntu, Fedora (Zod), Mandriva Discovery. 2.2.2 Sistemas de Arquivos Suportados no Linux Sistema de arquivos ou sistema de ficheiros a forma de organizao de dados em algum meio de armazenamento de dados em massa frequentemente feito em discos magnticos. Sabendo interpretar o sistema de arquivos de um determinado disco, o sistema operacional pode decodificar os dados armazenados e l-los ou grav-los. O Linux possui suporte de leitura e escrita a vrios sistemas de arquivos, de diversos sistemas operacionais, alm de alguns sistemas nativos. Por isso, quando o Linux instalado em dual boot com outros sistemas (Windows, por exemplo) ou mesmo funcionando como Live CD, ele poder ler e escrever nas parties formatadas em FAT e NTFS. Por isto, Live CDs Linux so muito utilizados na manuteno e recuperao de outros sistemas operacionais. Live CD um CD que contm um sistema operacional (GNU/Linux, BSD ou outro) que no precisa ser instalada no disco rgido

do usurio uma vez que o sistema operacional completo executado diretamente a partir do CD e da memria RAM. A maioria dessas distribuies tambm permite que se instale o sistema operacional no disco rgido com as mesmas configuraes do sistema que roda no CD, caso o usurio deseje. O Linux possui tambm suporte de leitura e escrita nos sistemas de arquivos JFS, XFS, HPFS, Minix e ISO 9660, nos sistemas nativos Ext2, Ext3, Ext4, ReiserFS e Reiser4 e ainda nos sistemas de arquivos com caractersticas especiais so SWAP, UnionFS, SquashFS, Tmpfs, Aufs e NFS, dentre outros. No Linux, os dados do arquivo so armazenados em unidades chamadas 'blocos'. Estes blocos podem ser numerados seqencialmente. Um arquivo tambm tem um inode. Como os blocos, os inodes so numerados seqencialmente, embora tenham uma seqncia diferente. Uma entrada de diretrio consiste do nome do arquivo e um nmero de inode. O inode tambm armazena o local dos blocos de dados. Cada partio de sistema de arquivos dividida em grupos de blocos. Estruturas como tabelas de inode so alocadas entre os grupos de blocos para que os blocos que so acessados juntos possam ser armazenados prximos uns dos outros no disco. Esse agrupamento aumenta a velocidade de acesso ao arquivo e reduz o tempo de procura por blocos do mesmo arquivo. Inodes so entradas de tabelas de comprimento fixo, cada uma das quais armazenam informaes sobre um arquivo existente no sistema de arquivos.

2.2.3 Aplicativos do Linux Atualmente ao menos um programa Linux que consegue ler e escrever arquivos do Microsoft Office. Denominado de OPEN OFFICE, este

programa um conjunto de aplicativos livres. Est disponvel para diferentes plataformas, incluindo: Microsoft Windows, Unix, Solaris, Linux e Mac OS X. A suite compatvel com o Microsoft Office. O OpenOffice.org baseado em uma antiga verso do StarOffice, o StarOffice 5.1, adquirido pela Sun Microsystems em Agosto de 1999. O cdigo fonte da suite foi liberado dando incio a um projeto de desenvolvimento de um software de cdigo aberto em 13 de outubro de 2000, o OpenOffice.org. O principal objetivo era fornecer uma alternativa de baixo custo, de alta qualidade e de cdigo aberto. O OpenOffice.org compatvel com os formatos de arquivo do Microsoft Office. No Brasil, mesmo o nome "OpenOffice.org" gerou uma disputa judicial com outra empresa do Rio de Janeiro que j havia registrado a marca "Open Office", e por isso o programa passou a ser chamado de BrOffice.org e foi criada uma ONG homonima.J a partir da verso 2.1.0 foi adotado o novo nome "BrOffice" em detrimento do anterior "OpenOffice.org". 3. Segurana Os vrus no Linux tem vida curta. Para que um vrus infecte um programa executvel num sistema com kernel Linux, numa distribuio GNU/Linux (Debian, RedHat, Suse, Ubuntu, Kurumin, Mandriva...), por exemplo, o executvel precisa estar em arquivo com permisso de escrita para o usurio que esteja ativando o vrus. Tal situao incomum. Numa instalao desktop, via de regra os arquivos executveis tm como dono (owner) o administrador do sistema (root) e rodam em processo de usurio comum. Ou seja, a partir de uma conta no-privilegiada. Alm do que, quanto menos experiente for o usurio, menos provvel que tenha ele mesmo feito instalao do executvel e, portanto, que seja o owner do arquivo correspondente. Assim, os usurios de Linux que menos entendem

dos perigos de infeco viral so os que tm pastas pessoais (diretrio home) menos frteis para isso. Prosseguindo, ainda que um vrus consiga infectar um programa executvel, sua misso de proliferar-se esbarra em dificuldades das quais os limites nas permisses do dono do arquivo infectado so apenas o comeo (para nefitos, em sistemas com um s usurio, esses limites podem desaparecer se a conta root for usada descuidadamente). As dificuldades continuam nos programas para conectividade, por serem esses no Linux construdo conservadoramente, sem os recursos de macros em alto nvel que tm permitido, por exemplo, h recentes vrus de Windows propagar-se to rapidamente. Produtos distribudos apenas em formato executvel so ali raros e encontram mais dificuldade para firmar presena. Isso tem dois efeitos no ecossistema viral, se considerarmos que a propagao ocorre em formato executvel. Primeiro programas com cdigo fonte aberto so lugares difceis para vrus se esconderem. Segundo, a (re) instalao por compilao do cdigo-fonte corta completamente um dos principais vetores de propagao dos vrus. Na plataforma Linux, cada um desses obstculos reduz significativamente a taxa de reproduo. E se a taxa de reproduo cai abaixo do nvel necessrio para substituir a populao erradicada, o vrus est condenado extino nesse ambiente. Pedro (04/07/2008) alerta que o sistema operacional Linux no mais seguro que o MS-Windows. O Linux precisa das mesmas ferramentas de segurana do que o Windows (antivrus, firewall,...), caso no as tenha sofrer ataques e invases digitais. H certo equvoco quando se compara o Linux com o Windows, ao se afirmar que o primeiro mais seguro que o ltimo. Na realidade ambos possuem fragilidades. Entretanto, por ser a Microsoft a detentora do mercado (90%) mais interessante atingir uma maior quantidade de usurios e o Windows acaba sendo mais visado que o

Linux. Alm disso, o Linux Software Livre, por isso h uma motivao maior em atacar o Windows. 4. Mitos Existem muitos mitos sobre o Linux, e a maior parte deles j foi verdade no passado. Com a popularizao da plataforma, o desenvolvimento se acelerou e muitos recursos novos surgiram, mas alguns mitos permanecem como as negativas abaixo, que j foram derrubadas: O Linux no tem bons pacotes de Office (h pacotes office como, porexemplo, o StarOffice). O Linux no toca MP3. O Linux no tem editores HTML (h diversas solues). O Linux no capaz de fazer modelagem 3D ou manipulao de imagens/fotos (h timas solues como o GIMP-GNU Image manipulation Program, tente em http://www.gimp.org/).

O Linux no tem gerenciadores de download nativos. O Linux no tem vrus (h vrus para Linux). O Linux totalmente seguro (no h sistema 100% seguro). O Linux complicado para o usurio final (h distribuies simplificadas com interfaces grficas sem necessidade de instalao, prprias para usurios leigos).

5. Linux vs. Windows Abaixo uma lista com as principais diferenas existentes entre os sistemas operacionais Linux e Windows:

1. O Windows pago. O Linux software free. 2. O Linux um sistema aberto, vc pode conhecer todo o cdigo fonte e, se tiver capacidade, edit-lo. O Windows fechado. Pouqussimas pessoas tm acesso a todo cdigo fonte. 3. A maioria dos softwares que rodam no Windows pagos. Enquanto no Linux so free. 4. O Windows mais disseminado. Entretanto, o Linux est aumentando seu percentual de uso, mas ainda bem distante do Windows. 5. Embora haja controvrsias, o Windows mais simples de instalar e operar. O Linux exige mais conhecimento, se bem que a instalao do Kurumim muito simples, mas vc pode ter dificuldades em configurar alguns drivers de hardware. 6. Windows Software Proprietrio (o uso restrito licena) Linux Software Livre (voc pode compartilhar vontade). 7. Windows tem uma opo: Windows Linux tem mais de Distros ou pacotes de distribuio. 8. Windows alvo de mais de 100.000 vrus e parasitas virtuais Linux praticamente imune vrus. 9. Windows tem muitos acordos com fabricantes de hardwares, e, portanto, usa drivers binrios proprietrios que do bom suporte multimdias e jogos grficos 3D. Linux desenvolve seus drivers de forma livre e com cdigo fonte (compilveis) via engenharia reversa ou com base nas informaes que so disponibilizadas por fabricantes que apiam o software livre, que ainda so em nmero inferior aos parceiros de cdigo fechado do Windows.

10. Windows requer hardware topo de linha Linux funciona desde computadores Pentium-100 at os modernos Quad-Cores ou ainda Clusters de Supercomputadores. 11. Windows menos usado em servidores e mais usado em desktops Linux mais usado em servidores e menos usado em desktops. 12. Windows exige mais reboots e reformataes devido instalao de novos programas e a instabilidades do sistema e aquelas induzidas por vrus. Linux foi projetado para no necessitar de reboot (quando instala um programa no precisa reiniciar a mquina) e muito menos reformataes peridicas. 6. Concluses Finais Apesar de ser um software livre e diminuir os custos com instalao e compra de licenas, e possibilitar a montagem de um pacote que atenda nica e exclusivamente um usurio atravs da publicao do cdigo fonte; principal barreira criada para disseminao e implantao do Linux como principal sistema operacional do mercado exatamente aquela que consideram sua maior vantagem. Para um programador o Linux, um sonho ele pode alterar o cdigo fonte at estrag-lo. Mas, para o usurio que consome os produtos Windows e no busca recriar um sistema, por mais que o considere imperfeito, para este usurio o que importa a comodidade encontrada em qualquer servio pago.