Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
O Kernel do Linux.pdf

O Kernel do Linux.pdf

Ratings: (0)|Views: 256 |Likes:
Uploaded from Google Docs
Uploaded from Google Docs

More info:

Published by: Antonio Higino Manoel Machado on Sep 02, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/12/2014

pdf

text

original

 
O kernel do Linux
 
Introdução
Independente de qual seja, todo sistema operacional possui um kernel. Trata-se de um item fundamental, queantes do Linux era conhecido apenas por estudantes de computação de grandes universidades ou pordesenvolvedores da área. Após o surgimento do Linux, o termo
kernel 
ficou mais conhecido e qualquer um que já tenha se aventurado no Linux sabe de sua existência. Porém, os conceitos que envolvem o kernel não sãoclaros a muita gente e por isso poucas pessoas sabem exatamente o que é kernel. O objetivo deste artigo é darexplicações sobre isso, mas com ênfase no kernel do Linux.
O que é kernel
Kernel pode ser entendido com uma série de arquivos escritos em linguagem C e em linguagem Assembly queconstituem o núcleo do sistema operacional. É o kernel que controla todo o hardware do computador. Ele podeser visto como uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de permitir quetodos os processos sejam executados pela CPU e permitir que estes consigam compartilhar a memória docomputador.
O kernel do Linux
Para entender melhor tudo o que envolve o kernel do Linux é interessante ver umpouco da história do sistema (para conhecer a história completa,clique aqui). Okernel do Linux foi idealizado pelo finlandês Linus Torvalds, em 1991. Torvalds eraum estudante de ciência da computação que em seus estudos teve a necessidade decriar uma nova versão do Minix, um sistema operacional baseado no Unix edesenvolvido por Andy Tannenbaum.Linus começou a trabalhar nesse projeto e quando desenvolveu algo concreto,enviou uma mensagem para um grupo de usrios do Minix na Usenet (aantecessora da Internet). Na mensagem, Torvalds notificou sobre sua criação eavisou que disponibilizaria o código-fonte do que tinha desenvolvido a todos osinteressados.O que Linus Torvalds tinha criado, na verdade, era a primeira versão do kernel do Linux. Assim, falandogrossamente, bastava juntar uma série de aplicativos com o kernel para que um sistema operacional fossecriado.LInus Torvalds tinha vontade de ter um sistema operacional no qual fosse possível alterar conforme anecessidade. Ao criar a "nova versão" do Minix, Torvalds tinha desenvolvido um meio de usar o hardware deum computador por software e portanto, restava agora a cada interessado adicionar os aplicativos e asfuncionalidades desejadas para assim constituir um sistema operacional. Em outras palavras, o "motor" dosistema estava criado, bastava adicionar a "carroceria".O nome Linux é uma mistura de Linus com Unix. E como Linux é o nome de um kernel, talvez o InfoWesterdeveria dar o nome de "O kernel Linux" ao título deste artigo. Devido a essa questão - sobre o que de fato onome Linux representa - o correto é dar o nome GNU/Linux a todas as distribuições desse sistema, uma vezque essas são constituídas pelo kernel - o Linux - mais uma coleção de programas e aplicativos, sendo que aquase totalidade desses softwares são baseados nos conceitos daGNU. No entanto, por questões decomodidade, convencionou-se a utilizar o nome Linux para toda e qualquer distribuição.
As versões do kernel
Periodicamente, novas versões do kernel do Linux são lançadas. Isso ocorre para prover melhoras em umadeterminada função da versão anterior, para corrigir vulnerabilidades e para adicionar recursos ao kernel,principalmente compatibilidade com novos hardwares.Como o Linux é um sistema operacional aberto, qualquer pessoa pode estudar e/ou alterar seu código-fonte.Devido a isso, tanto as versões estáveis quanto as versões que ainda estão em desenvolvimento sãodisponibilizados a qualquer pessoa. Para que seja posvel distinguir uma versão estável de uma emdesenvolvimento, foi adotada a seguinte convenção:Cada versão do kernel é representada por 3 números distintos separados por ponto. O primeiro e o segundonúmero indicam qual a série daquele kernel, enquanto que o terceiro número indica qual a versão do kernelnaquela série. Se o segundo número da representação for ímpar, significa que aquela série ainda está emdesenvolvimento, ou seja, é uma versão instável e em fase de testes e aperfeiçoamentos. Se o número for par,significa que aquela série possui estabilidade para funcionar. O terceiro número se altera quando algumrecurso é alterado ou adicionado. Para um melhor entendimento, vamos a alguns exemplos:
 
2.6.2 -Esta versão do kernel é estável, pois sua série é par (6).2.4.5 -
 
Esta versão do kernel é estável, pois sua série é par (4).2.5.19 -
 
Esta série é instável, pois sua série é ímpar (5).
É importante frisar que você não precisa usar sempre a última versão do kernel. Só é recomendável fazer umaatualização em casos de necessidade de compatibilidade com novo hardware ou em casos de melhorias derecursos. Em alguns casos, principalmente com computadores antigos, o desempenho é melhor se usado umkernel antigo. Em situações simples, talvez seja melhor apenas aplicar um patch (uma correção para umproblema) do que adicionar um kernel novo.
Compatibilidade
O kernel do Linux permite que o sistema operacional seja compatível com uma série de plataformas, desdepalmtops até mainframes. Até mesmo nos computadores da Apple é possível instalar o Linux. As principaisplataformas compatíveis são: Apple, Sun, Sparc, Alpha, PowerPC, i386 (Intel), ARM, entre outras.Também existe compatibilidade com sistemas de arquivos. Acredite, apesar de não ser recomendável porquestões de desempenho, é possível instalar o Linux até mesmo em partições FAT32. As principaiscompatibilidades neste aspecto são com os seguintes sistemas de arquivos: FAT, FAT32, ext2, ext3, ReiserFS,JFS, NTFS, entre outros.
Atuação do kernel
Obviamente, o kernel "começa a trabalhar" no processo de inicialização (boot) do sistema, a partir dasinstruções que são lidas na MBR (Master Boot Record), um recurso responsável por indicar ao BIOS docomputador como e onde carregar o sistema operacional. Quando isso ocorre, o kernel começa a detectar osdispositivos de hardware essenciais do computador, como a placa de vídeo. Se até aqui tudo ocorrer semproblemas, toda a imagem do kernel passa a ser carregada. Findo esse processo, o kernel checa a memória e aprepara para o uso através de uma função de paginação. As interrupções (IRQs), os discos, memória-cache,entre outros, são acionados em seguida.Após realizar todas essas etapas, o sistema operacional está pronto para funcionar. O kernel carrega asfunções responsáveis por checar o que deve ser inicializado em nível de software e processos, como, porexemplo, o conteúdo do arquivo /etc/init. Geralmente o que é carregado é a tela de login do usuário.Usuário logado, sistema operacional trabalhando. O kernel agora executa suas funções, como a de controlar ouso da memória pelos programas ou a de atender a chamada de uma interrupção de hardware.É interessante notar que as distribuições Linux montam o kernel com recursos e drivers básicos para hardware,afinal carregar o suporte a todo tipo de dispositivo é algo inviável. O kernel ficaria extremamente grande esomente os drivers relacionados ao hardware do computador em questão é que seriam usados. Para lidar comesse tipo de problema, os drivers são carregados como módulos após o kernel ser ativado. A questão é quecarregar recursos por módulo gera uma queda de desempenho (pouco significativa em computadores rápidos)e por isso, muitos usuários preferem recompilar o kernel de seus sistemas para que esse carregue os drivers junto com sua inicialização, ou seja, sem usar módulos.
Imagem do

Activity (3)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
roudger liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->