Vous êtes sur la page 1sur 66

I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I

1
w w w . e d i t o r a n o v a t e r r a . c o m . b r
I N T R O D U O
GUI A DE E S T UDOS PA RA COMP T I A
L I NUX + P OWE RE D BY L P I & L P I
C e r t i f i c a o L i n u x
2
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Sempre existiu e vai existir uma lacuna no mercado de TI: os profissionais que saem
das faculdades nem sempre esto preparados para aquilo que o mercado quer e preci-
sa. Ainda mais no mercado de TI, onde a velocidade muito grande e as tecnologias
mudam e se aprimoram a cada 6 meses.
Desta maneira, a indstria de TI, formada por grandes empresas, como IBM, HP, SuSe,
Microsoft, Cisco, Intel, RedHat, Apple, dentre outras, se reuniram atravs de associa-
es ou programas prprios de certificaes para preencher essa lacuna no mercado
de profissionais capazes de trabalhar com eficcia nas suas plataformas, equipamen-
tos e tecnologias.
Duas grandes organizaes reconhecidas mundialmente para cumprir esse papel de certi-
ficar os profissionais de TI so a CompTIA e a LPI.
A LPI surgiu em 1999 com o objetivo de criar uma certificao independente
da distribuio Linux, de forma que seus profissionais certificados esto aptos
a trabalhar com qualquer verso de Linux. O LPI conta com trs nveis de certi-
ficao: LPIC-1, LPIC-2 e LPIC-3. Cada nvel pretende certificar um profissional
apto a desempenhar tarefas que devam ser executadas com um crescente grau de
dificuldade e complexidade.
A CompTIA tem um programa de certificao h 25 anos mais abrangente, que abraa
diversas tecnologias, no s o Linux.
Em 2012, essas duas organizaes resolveram unir suas foras no mundo Linux para
criar uma certificao dupla, de forma que o profissional que se certificar no Comp-
TIA Linux+ Powered by LPI, alm de receber o certificado da CompTIA, recebe o
certificado da LPI, LPIC-1.
Isso, alm de ser um grande incentivo, garante a entrada e sustentabilidade dos tcni-
cos no mercado de trabalho capazes de realizar tarefas no Linux. Desta forma, as duas
provas da CompTIA Linux+ LX0-101 e LX0-102 foram desenvolvidas para certificar a
competncia do sistema de administrao usando o sistema operacional Linux e suas
ferramentas associadas. Foi desenvolvido para ser neutro em termos de distribuio,
seguindo o Linux Standard Base entre outros padres e convenes relevantes.
I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I
3
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Desta forma, voc far as provas da CompTIA Linux+ e receber dois certificados, um
da CompTIA e outro da LPI. Mas veja que essa parceria s funciona se voc fizer as
provas da CompTIA e no da LPI.
Se voc est lendo esse livro, com certeza quer ter uma certificao de peso reconhe-
cida internacionalmente no seu currculo e no seu carto de visitas. O mercado de
software livre est em crescimento e procura de profissionais certificados. E isso
timo para voc, sua carreira e tambm seu bolso.
A primeira edio deste livro, publicado em 2005, foi aclamada como o melhor livro
de estudos para a certificao LPI pela comunidade do BR-LINUX. Este sucesso
fruto de muito trabalho e empatia da comunidade Linux.
Esta edio foi ampliada e revisada para contemplar a reformulao da prova da LPI
em abril de 2012 e tambm contempla os contedos da CompTIA Linux+, de forma
que voc vai poder fazer as provas da CompTIA e ter dois certificados em mos.
Este um livro de Linux objetivo, didtico e focado nos temas das provas CompTIA
Linux+ e LPI LPIC-1. Voc ir encontrar exatamente aquilo que precisa estudar e na
medida certa para o exame.
E, para cumprir com os objetivos, preciso que voc saiba todos os tpicos das provas
101 e 102.
Os tpicos de cada prova da certificao LPIC-1 so:
PROVA 101:
Tpico 101 Arquitetura do Sistema;
Tpico 102 Instalao do Linux e Gerenciamento de Pacotes;
Tpico 103 Comandos GNU e UNIX;
Tpico 104 Dispositivos e Sistema de Arquivos.
Amars o Senhor teu Deus de todo o teu corao,
e ao prximo, como a ti mesmo."
Jesus - Mateus, 22: 36 a 40
C e r t i f i c a o L i n u x
4
w w w . e d i t o r a n o v a t e r r a . c o m . b r
PROVA 102:
Tpico 105 Shell, Shell Scripts e Gerenciamento de Dados;
Tpico 106 Interface de Usurio e Desktop;
Tpico 107 Tarefas Administrativas;
Tpico 108 Servios Essenciais do Sistema;
Tpico 109 Fundamentos e Servios de Rede;
Tpico 110 Segurana e Criptografia.
Veja que de tempos em tempos os tpicos so reordenados entre as provas 101 e 102.
Em abril de 2012 houve mudanas na distribuio dos tpicos entre o exame 101 e
o 102, alguns contedos foram retirados dos exames e outros poucos acrescentados.
Hoje tambm no mais possvel escolher entre o exame para distribuies baseadas
em RPM/YUM ou Debian, devendo o candidato ser fluente em ambos os sistemas de
distribuio de pacotes de software. Os novos temas que antes no eram abordados so:
Gerenciamento de dados SQL;
Acessibilidade;
Internacionalizao e regionalizao;
Criptografia de dados;
Mais tratamento de erros e segurana;
Gerenciamento de dispositivos udev;
Cobertura do sistema de arquivos EXT4;
Gerenciador de boot GRUB2;
Cobertura do systemd;
Gerenciador de volumes LVM;
IPv6.
I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I
5
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Em compensao, alguns itens no fazem mais parte do exame 101 e 102, tais como:
Estratgias de Backup;
Configurao de servidor de DNS;
Customizar e recompilar o Kernel;
Configurao de servidor Apache;
Configurao de compartilhamento de arquivos via Samba;
Configurao de compartilhamento de arquivos via NFS;
Configurao de Servidor de DHCP;
Configurao de cliente PPP;
Gerenciador de boot LILO.
O exame 101 a primeira prova requerida para a certificao LPIC Nvel 1. Nesta pro-
va so abordados 4 tpicos.
O exame 101 tem 90 minutos de durao e aproximadamente 60 questes. Cerca de 75%
das questes so de mltipla escolha onde existe somente uma opo correta. Algumas iro
apresentar um cenrio onde alguma medida administrativa precisa ser tomada e em outras
se pergunta qual o comando apropriado para uma determinada tarefa.
Outros 10% das questes so de mltipla escolha com mais de uma opo correta.
Este tipo de questo sem dvida mais difcil porque apenas uma opo incorreta
invalida toda a questo.
Este exame ir testar seu conhecimento terico, comandos e suas opes comuns,
localizao de arquivos importantes, sintaxe de configuraes e procedimentos mais
usados. Uma vez que voc tenha conseguido solidificar os conceitos bsicos do sis-
tema operacional, esta no ser uma prova difcil e geralmente no existem questes
com respostas ambguas ou maldosas.
O exame de certificao Linux LPI 102 o segundo requerido para obter o certificado
LPIC Nvel 1.
C e r t i f i c a o L i n u x
6
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Este exame costuma ser 20% maior que o exame 101 e cobre uma boa parte da administra-
o de sistemas Linux. Ele no tem a inteno de fazer perguntas de dupla interpretao e
nem maldosas, mas os tpicos abordados so mais complexos e exigem maior experincia
do candidato. Uma ateno especial deve ser dada nos tpicos relativos a segurana.
Como Marcar a Prova?
Pessoalmente eu prefiro marcar a prova em um centro Pearson Vue. Primeiro porque quase
sempre existir um prximo de voc e voc quem manda quando quer fazer a prova.
Para receber as duas certificaes CompTIA e LPI, voc primeiro precisa ter um LPI-ID,
que pode ser conseguido atravs de um cadastro gratuito no http://www.lpi.org. Voc vai
precisar informar o seu LPI-ID quando for fazer a prova da CompTIA Linux+.
Onde encontrar um centro Pearson Vue? Escolha pelo site deles: http://www.pearsonvue.
com. Selecione Tecnologia da Informao, Linux Professional Institute e depois Brasil.
Da voc poder escolher por estado e cidade. As cidades com mais de 100 mil habitantes
geralmente tm um centro destes.
Como o ambiente da prova? Ela feita pelo computador. Ento este computador
fica em uma pequena sala fechada e isolada do som e distraes. Parece um biombo
pequeno. Voc no pode levar nada. Deve deixar celular, agenda, papel, tudo. Eles vo
te dar papel, lpis e um dicionrio ingls-portugus se a prova for em ingls. Qualquer
movimentao estranha eles anulam seu teste.
Outro detalhe importante da prova em computador que, se voc errar alguma questo de
algum tpico, o computador seleciona mais questes do mesmo tpico para testar ainda
mais seus conhecimentos sobre o tema. Isto tem um lado bom e outro ruim. O lado bom
que, se voc tiver errado de bobeira, ter outra chance de redimir seu erro. Mas se voc
de fato no estiver devidamente preparado para o tema, est lascado.
A Importncia de Fazer Exerccios
O crebro um msculo. Quanto mais exercitado, mais forte e resistente ele fica.
Portanto, faa muitos exerccios sobre os tpicos. Exercite os comandos. Veja suas
opes e argumentos. Teste as funcionalidades de cada um deles.
I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I
7
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Muitas pessoas me perguntam sobre qual distribuio de Linux a mais adequada
para a certificao, testar os comandos, etc. Eu sempre respondo: aquela que voc
gostar mais. Diferentemente das outras certificaes de Linux, a LPI preza pela inde-
pendncia das distribuies. A prova focada em LINUX, seja ele qual for.
A LPI no utiliza na prova nenhum wizard ou configurador automtico que algumas
distribuies tm. De forma que toda configurao e manejo do servidor so feitos
com comandos no Shell e diretamente nos arquivos de configurao. Isto muito bom
porque o profissional fica experiente em qualquer Linux e no fica viciado em alguma
ferramenta amigvel.
Mas existe alguma que eu indico? Sim. Mas se trata de minha opinio pessoal. Eu
gosto do OPEN-SUSE. uma distribuio muito estvel, feita por alemes que prezam
muito pela obedincia completa aos padres do Linux Standard. Os comandos, arqui-
vos e estrutura so exatamente como manda o figurino. S um detalhe importante:
voc precisar se familiarizar com os gerenciadores de pacote Debian e RedHat. E
geralmente uma distribuio adota um OU outro. E para preparar-se para a prova
bom voc estar afiado nos dois modelos. Portanto, escolha uma distribuio baseada
em Debian e outra em RedHat.
Aprendendo de Acordo com o
Funcionamento do seu Crebro
Voc tambm precisa se conhecer um pouco para que o aprendizado seja efetivo. Nos-
sa mente trabalha basicamente com 3 tipos de estilos de aprendizagem: fsico, visual
e lingustico/sonoro. Como voc fixa melhor aquilo que aprendeu?
Veja como so estes estilos e tente se identificar neles:
Fsico
As pessoas com estas caractersticas so os inquietos, so os fuadores, os desmonta-
dores de equipamentos e brinquedos, os que querem saber como funciona e ver por
dentro, os que no conseguem ficar sossegados em seu lugar.
C e r t i f i c a o L i n u x
8
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Eles so pessoas que no conseguem ficar sentadas por muito tempo. Eles simples-
mente raciocinam melhor quando seus corpos esto em movimento. Eles interagem
melhor com o mundo atravs do contato manual e corporal. Os Aprendizes fsicos
adoram esportes, inventar, construir e danar.
Quando esto aprendendo ou adquirindo capacitao acadmica, essas pessoas se
beneficiaro mais com atividades de expresso corporal, manipulando e tocando ob-
jetos, realizando exerccios, etc.
Dicas para voc aprender melhor:
Realize seus estudos com montagens e construes de objetos
e simulaes;
Inclua aulas virtuais em computadores;
Alterne sees tericas e prticas durante o estudo.
Lingustico / Sonoro
So aquelas pessoas que vivem cantando ou entoando algum som mesmo com a boca
fechada, os cantores e aqueles descritos com tendo um ouvido musical. Veem sons em
tudo. Eles podem no ser os melhores cantores ou msicos, mas eles tm uma habili-
dade natural para interagir e entender os sons, musicais ou no.
Sua relao com o mundo atravs dos sons e ritmos sonoros. As atividades que po-
dem ser mais proveitosas para elas so ouvir msicas, tocar instrumentos, interpretar
sons e cantar.
Quando esto aprendendo ou adquirindo capacitao acadmica, essas pessoas se
beneficiaro mais escrevendo letras e canes para msicas, tocando instrumen-
tos para acompanhar seus trabalhos ou de outros, ou desenvolvendo projetos de
multimdia.
MENU
NOTA
DICA
ATENO
CUIDADO
PRATIQUE
I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I
9
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Dicas para voc aprender melhor:
Tente transformar aquilo que voc est aprendendo em msica;
Grave aquilo que est aprendendo para escutar depois;
Utilize msica agradvel durante os estudos.
Visual
Estas pessoas so os modernos Picassos e Renoirs, os grafiteiros e rabiscadores, e in-
divduos que tm um talento natural para as cores e para harmonizar ambientes. Os
indivduos Visuais parecem ter um senso artstico que faz com que tudo que criem
parea agradvel aos olhos. Sua relao com o mundo atravs de pinturas e imagens.
As atividades que podem ser mais proveitosas para elas incluem pintura, escultura e a
criao de artes grficas. Quando esto aprendendo ou adquirindo capacitao acad-
mica, essas pessoas se beneficiaro mais com desenho e criao de diagramas, inclusive
grficos, leitura cartogrfica, criao de mapas ou realizando demonstraes.
Dicas para voc aprender melhor:
Crie apresentaes multimdia;
Utilize interpretao de mapas, diagramas e grfcos;
Use e abuse de ilustraes, grfcos, slides, flmes etc.
Uma vez que voc tenha se identificado em pelo menos um destes estilos, faa uso das
potencialidades do seu crebro. Isso facilita seu aprendizado.
Como exerccio, execute cada comando de cada tpico pelo menos mais de uma vez, exer-
citando as possveis situaes. Faa as seguintes perguntas para cada comando estudado:
A cincia da computao no mais sobre computadores,
da mesma forma que a astronomia no mais sobre telescpios.
E. W. Dijkstra
MENU
NOTA
DICA
ATENO
CUIDADO
PRATIQUE
MENU
NOTA
DICA
ATENO
CUIDADO
PRATIQUE
C e r t i f i c a o L i n u x
10
w w w . e d i t o r a n o v a t e r r a . c o m . b r
FIGURA 1 Esquema de espinha de peixe
Para que serve este comando?
Como ele usado?
Quando ele usado?
Quais arquivos ele afeta?
Eu sugiro que voc faa um esquema de espinha de peixe para os comandos, de forma
que voc trabalhe com todas as potencialidades de aprendiazado do seu crebro: visual,
fsico, e leia o texto em voz alta para tambm exercitar o lado sonoro.
Neste tipo de esquema atente a pelo menos dois tipos de estilo de aprendizagem: o fsico
pois voc est fazendo movimentos ao escrever; visual pois voc est fazendo um diagra-
ma. Tambm ajuda na lgica e memorizao pois voc est categorizando a informao em
COMO, O QUE, QUANDO e ARQUIVOS. Se possvel compre fichas pautadas 10x15cm
que so excelente para fazer consultas rpidas e podem te ajudar na memorizao.
Tente imaginar as situaes em que os comandos so usados e teste os diversos tipos
de opes que eles tm. Isto importante porque uma opo de um comando pode
inverter o resultado.
COMO
DIGITADO NO PROMPT
O QU
MOSTRA O ESPAO LIVRE EM DISCO
ARQUIVOS
/etc/fstab (LEITURA)
/PROC/PARTITIONS
QUANDO
- QUANDO OS SERVIOS
PARAM INESPERADAMENTE;
- VERIFICAO EM MANUTENES PERIDICAS
df
I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I
11
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Por exemplo, o comando grep uira texto.txt vai filtrar todas as ocorrncias da palavra
uira no arquivo texto.txt. J o grep com a opo -v inverte, de forma que o coman-
do ir mostrar todas as linhas que no tm a palavra uira no texto.txt.
Outro detalhe importante. Leia os MAN dos comandos de cada tpico. Eles tm in-
formaes importantes que o programador que desenvolveu o software deixou ali de
forma especial para voc.
Voc Precisa Fazer Simulados!
Este item um complemento do anterior, mas to importante que resolvi separ-lo
para que voc d mais ateno a ele.
Um simulado vai te dar uma ideia exata do tipo de questes das provas com que voc
vai se deparar pelo caminho. H questes que so maldosamente formuladas para que
voc caia na vala do senso comum.
Veja que existem questes que vo priorizar pela simples memorizao, outras vo
exercitar sua capacidade de anlise em entender um problema do mundo real e sua
capacidade de transpor para o mundo computacional; outras vo exercitar seu jul-
gamento diante de um problema em questo e outras vo te apresentar um problema e
a soluo e voc dever avaliar se a soluo a correta ou no e por que.
A prova feita para no ser fcil. E isto de suma importncia para atestar a
qualidade das pessoas que so certificadas. Se qualquer um com pouco preparo
pode ser certificado, de que adianta exibir este ttulo no currculo? Mas se para
os poucos que realmente se dedicaram e estudaram a fundo, ora, uma certifi-
cao de peso.
Existem simulados em livros e em sites na Internet. A maioria na lngua de Shakes-
peare. Faa todos que encontrar pela frente. E, principalmente quando voc errar uma
questo, anote para saber qual foi seu erro e qual seria a resposta correta e por que. O
aprendizado se constri desta maneira.
C e r t i f i c a o L i n u x
12
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Localizando Ajuda na Internet
Existem boas pginas Internet Nacionais e Internacionais sobre o GNU/Linux e as-
suntos relacionados com este sistema. Elas trazem documentos e explicaes sobre
configurao, instalao, manuteno, documentao, suporte, etc.
http://www.tdpl.org/: Este site mantm a documentao do Linux Documentation Pro-
ject LDP. sem dvida o local ideal para encontrar informaes sobre o Linux;
http://www.linux.org/: Pgina oficial do GNU/Linux. Documentao, livros, cursos,
links para distribuies e download de aplicativos podem ser encontrados neste site;
http://counter.li.org/: Este um servio que tem o objetivo de contar os usurios,
mquinas, grupos de usurios Linux existentes ao redor do mundo;
http://metalab.unc.edu/: O ponto de referncia mais tradicional de softwares GNU/
Linux. Voc pode encontrar desde dicas, documentao How-Tos at algumas dis-
tribuies GNU/Linux.
Listas de Discusso
As listas de discusso so grupos de usurios que trocam mensagens entre si, resol-
vem dvidas, ajudam na configurao de programas, instalao etc. Algumas listas
so especficas a um determinado assunto do sistema, algumas so feitas para usu-
rios iniciantes ou avanados, outras falam praticamente de tudo.
O site http://www.certificacaolinux.com.br
O treinamento para certificao LPI + CompTIA que ofereo a distncia, com aulas
totalmente multimdia e com garantia de 95% de aprovao. Voc ir assistir as aulas
quando desejar, quantas vezes quiser, de qualquer lugar, pois o curso individualiza-
do, dinmico, gostoso de fazer e muito prtico.
O curso aborda todos os tpicos das provas LPIC e CompTIA, sempre atu-
alizado. Convido o leitor a fazer o Simulado para a prova e baixar o Mapa
Mental gratuitamente no site. E se desejar complementar o estudo do livro
I n t r o d u o G u i a d e E s t u d o s P a r a C o mp T I A L i n u x + P o w e r e d b y L P I & L P I
13
w w w . e d i t o r a n o v a t e r r a . c o m . b r
com aulas multimdia, tem um desconto especial na aquisio do curso para
quem j tem o livro.
No link http://www.certificacaolinux.com.br/ voc ir ver uma aula demonstrativa e
tambm os detalhes, valores e formas de pagamento. E a matrcula rpida e fcil.
Eu tambm fiz um GUIA de estudos e um MAPA MENTAL que esto no site. D uma
olhadinha. grtis.
S as estrelas podem iluminar nosso caminho.
Olhe para elas...
via Corneli
P R O V A I
O E x a me L P I 101
C e r t i f i c a o L i n u x
16
w w w . e d i t o r a n o v a t e r r a . c o m . b r
O exame 101 tem 90 minutos de durao e aproximadamente 60 questes. Cerca
de 75% das questes so de mltipla escolha onde existe somente uma opo
correta. Algumas iro apresentar um cenrio onde alguma medida administrativa
precisa ser tomada e em outras se pergunta qual o comando apropriado para uma
determinada tarefa. Outros 10% das questes so de mltipla escolha com mais de
uma opo correta.
Atualmente existem cinco tpicos chaves para o exame 101:
Tpico 101 Arquitetura do Sistema: Este tpico aborda determinar e configurar o
hardware, sistema de boot e mudar nveis de execuo de runlevel.
Tpico 102 Instalao do Linux e Gerenciador de Pacotes: Neste tpico faz-se
saber como proceder com o layout de disco, a instalao do gerenciador de boot,
a instalao de programas a partir do cdigo fonte, o gerenciamento de bibliotecas
compartilhadas e a usar o sistema de pacotes Debian, RPM e YUM.
Tpico 103 Comandos GNU e Unix: Este tpico cobre comandos usados no dia a
dia da administrao do sistema, sintaxe dos comandos, filtros de texto, processos,
prioridades de processos, gerenciamento de arquivos e diretrios, redirecionamen-
tos, expresses regulares e trabalhar com o vi.
Tpico 104 Dispositivos e Sistemas de Arquivos: Os objetivos deste tpico in-
cluem criar parties e sistemas de arquivos, controlar e manter integridade do
sistema de arquivos, configurar quotas de disco, permisses e links simblicos.
Este exame ir testar seu conhecimento terico, comandos e suas opes comuns,
localizao de arquivos importantes, sintaxe de configuraes e procedimentos
mais usados.
T P I C O 1 0 1
A RQUI T E T URA DE HA RDWA RE
C e r t i f i c a o L i n u x
18
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Este tpico aborda o conhecimento de arquitetura de hardware de um PC, bem como
os requerimentos necessrios para uma instalao do Linux bem-sucedida.
Neste captulo abordaremos a configurao de BIOS, IRQs, portas de entrada e sada
(I/O) para alguns dispositivos como modems, placas de rede, placas SCSI, portas pa-
ralelas, portas seriais e dispositivos USB.
Ajustar estes dispositivos placa-me do computador pode requerer alguma configu-
rao na BIOS. Outros dispositivos, especialmente os mais antigos, podem requerer
configuraes de portas I/O, IRQ, DMA atravs de interruptores especiais localizados
na sua placa chamados jumpers.
importante que voc conhea bem a configurao dos dispositivos do sistema para saber iden-
tificar e corrigir possveis problemas de conflitos e fazer ajustes caso seja necessrio.
101.1 Determinar e Configurar o Hardware
De forma simplista os sistemas operacionais podem ser entendidos como programas
especiais que controlam todos os recursos do computador e fornecem toda a base para a
execuo de outros programas e aplicaes. No incio, quando no existiam os sistemas
operacionais, os aplicativos tinham de cuidar de tudo. Era preciso que o programador
tivesse grande conhecimento da plataforma em que seus programas iriam rodar.
Para que o desenvolvimento fosse facilitado, criou-se uma camada de software que
iria lidar com o hardware e fornecer uma interface amigvel para os programadores
interagirem com a mquina e cujo objetivo era oferecer funes simples para as diver-
sas tarefas que um computador pode fazer, tais como somar, ler um dado, gravar algo,
imprimir etc.
No incio, os primeiros sistemas operacionais eram simples e monopro gramados, com
um nico programa de usurio em execuo. A necessidade de mais programas serem
executados ao mesmo tempo fez com que eles evolussem para a multiprogramao,
suportando a execuo de mltiplos programas de usurios de forma concorrente.
Isso foi possvel porque o tempo do processador foi distribudo entre os programas em exe-
cuo. Cada programa executado em uma fatia de tempo, ou at que um evento solicite a
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
19
w w w . e d i t o r a n o v a t e r r a . c o m . b r
troca do controle do processador. Esse processo de troca de controle do processador pelos
diversos programas chamado de escalonamento e a parte do sistema responsvel por
decidir qual deles vai ser executado primeiro chamada de escalonador.
O escalonamento dos primeiros sistemas baseados em cartes perfurados e unidades
de fita era simples. A regra era executar o prximo processo na fita ou na leitora de
cartes. Nos novos sistemas multiusurio de tempo compartilhado o algoritmo de
escalonamento mais complexo.
Imagine que cada processo nico e imprevisvel. Alguns passam a maior parte do tem-
po esperando por leitura e gravao de arquivos, enquanto outros utilizam a CPU por
horas, se tiverem chance. Desta forma, quando o escalonador inicia a execuo de um
processo, ele nunca sabe com certeza quanto tempo esta demanda vai demorar.
Para que a execuo de um processo no demande tempo demais, os computadores
possuem um mecanismo de relgio que causam interrupes peridicas. A cada inter-
rupo de relgio o sistema operacional assume o controle e decide se o processo pode
continuar executando ou se j ganhou tempo de CPU suficiente.
O escalonamento altera a prioridade em funo do tipo de espera a que o processo
estava submetido. Desta forma um processo que exige muito processamento tende
a ter mais prioridade que a de um processo que exige muita leitura e gravao. Este
esquema permite balancear o uso do processador entre todos os tipos de processos.
A eficincia dos sistemas operacionais modernos est na forma em que o escalona-
mento e a gerncia de memria esto implementados.
Existem ainda os sistemas operacionais conhecidos como de tempo real. Eles so
usados para controlar um dispositivo em uma aplicao dedicada, como controle de
experimentaes cientficas, imagens mdicas, controle industrial, robtica, aviao,
dentre outros. Sua principal caracterstica a necessidade do tempo de resposta aos
eventos ser crtica.
Quem se interessaria em ouvir os atores falar?
H.M. Warner, do estdio Warner Brothres, em
1927, no ltimo ano dos flmes mudos.
C e r t i f i c a o L i n u x
20
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Kernel dos Sistemas Operacionais
Sem dvida o Kernel a parte mais importante de qualquer sistema operacional sen-
do considerado o ncleo do sistema. Ele responsvel pelas funes de baixo nvel,
como gerenciamento de memria, gerenciamento de processos, subsistemas de ar-
quivos, rede, suporte aos dispositivos e perifricos conectados ao computador. Os
ncleos dos sistemas operacionais podem ser implementados de duas formas bsicas:
Kernel monoltico e o microkernel.
O Kernel monoltico estruturado em um nico arquivo binrio, um nico processo que
executa inteiramente em modo protegido. Ele possui desempenho superior na passagem
de mensagens, mas apresenta inmeras desvantagens como a dificuldade de alteraes no
ncleo e o desperdcio de recursos, pois os drivers de dispositivos permanecem constante-
mente em memria, mesmo quando os dispositivos no esto sendo utilizados.
FIGURA 2 Estrutura do Kernel Monoltico.
No microkernel apenas uma pequena parte do ncleo executa em modo protegido
para acessar diretamente o hardware, como tambm responsvel pela comunicao
entre processos e gerncia de memria.
COMPILADOR TELNET eml vi ftp
SHELL & WINDOWS
KERNEL
HARDWARE
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
21
w w w . e d i t o r a n o v a t e r r a . c o m . b r
O restante do sistema roda em modo usurio, uma vez que executa tarefas que no
necessitam acessar diretamente o hardware, e seus servios clssicos so assegurados
por processos servidores.
FIGURA 3 - Microkernel.
SHELL
CHAMADAS DE SISTEMA
CONTROLE DE HARDWARE
HARDWARE
BUFFER
DRIVER DE DISPOSITIVO
SUBSISTEMA DE
ARQUIVOS
SUBSISTEMA DE
CONTROLE DE PROCESSOS
ESCALONADOR
GERNCIA DE MEMRIA
C e r t i f i c a o L i n u x
22
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Os recursos do sistema so acessados atravs de um protocolo cliente/servidor, e para
incluir um novo servio basta acrescentar um novo servidor. O microkernel possui um
desempenho inferior ao modelo monoltico, mas podem-se alterar suas partes sem a
necessidade de reiniciar a mquina permitindo a expanso para um sistema distribu-
do de forma mais fcil.
Pode-se entender o microkernel paralelo como um conjunto de microkernels locais
cooperativos, um em cada n da mquina paralela. O ponto crucial a comunica-
o entre processos sobre um mesmo processador ou em processadores diferentes,
de acordo com um protocolo cliente/servidor. O mdulo responsvel pela comunica-
o possui as funes bsicas para receber mensagens originrias de outros proces-
sadores, receber resultados de operaes executadas remotamente e enviar mensagens
destinadas a outros processadores.
Sua organizao baseada no modelo cliente/servidor, onde os servios do sistema
so implementados por servidores especializados. Os Clientes, que so programas de
aplicao, solicitam os servios ao sistema operacional que os encaminham aos pro-
cessos servidores. Estes recebem a solicitao e a executam, enviando o resultado de
volta ao microkernel e ento aplicao.
Interrupes
Para que tudo esteja funcionando corretamente necessrio que os dispositivos
estejam alocando recursos do computador. Estes recursos podem ser portas de en-
trada e sada, requisies de interrupo (IRQ) e acesso direto a memria (DMA).
Veja estes conceitos:
As portas de entrada e sada so endereos de memria reservados no microprocessa-
dor para os dispositivos realizarem entrada e sada de informaes. Estes endereos
de memria so utilizados para troca de dados entre o processador e os dispositivos
de forma simplificada. Os dispositivos podem usar mais de uma porta de entrada/sa-
da ou uma faixa de endereos. Por exemplo, uma placa de som padro usa as portas
0x220, 0x330 e 0x388. Cada dispositivo possui um endereo de porta nico, que no
pode ser compartilhado entre outros dispositivos.
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
23
w w w . e d i t o r a n o v a t e r r a . c o m . b r
O Acesso Direto a Memria (DMA) usado para permitir a transferncia de dados
entre dispositivos e a memria sem a interveno do processador. Este acesso feito
atravs de canais (channels). A maioria dos computadores tem dois controladores
de DMA. O primeiro controla os canais 0, 1, 2, 3 e o segundo, os canais 4, 5, 6, 7,
totalizando 8 canais.
As Requisies de Interrupo (IRQ) so chamadas que os dispositivos podem fazer para
requerer ateno especial do processador. A maioria dos computadores oferece apenas
16 interrupes de hardware. Pode parecer pouco para as modernas configuraes com
os mais diferentes dispositivos. Felizmente os IRQs podem ser compartilhados.
O mecanismo de tratamento das interrupes faz com que a CPU esteja atenta aos even-
tos externos sequncia de instrues que ela est executando, para quando for neces-
sria uma quebra do processamento normal para atender a uma outra solicitao.
Em grandes sistemas multiusurio, uma constante rajada de interrupes direciona-
da ao processador. Respostas rpidas a essas interrupes so essenciais para manter
os recursos do sistema bem utilizados, e para prover tempos de resposta aceitveis
pelos usurios.
importante saber que estes recursos so limitados e precisam ser gerenciados para
que conflitos entre os dispositivos sejam evitados.
Desta forma, os sistemas operacionais reagem a eventos que representam as solicita-
es de servios. Por exemplo, se uma aplicao necessita da leitura de um arquivo,
ela faz a solicitao a uma funo executada pelo sistema operacional. Este ir acessar
o controlador do perifrico e requisitar a transferncia dos dados para o endereo de
memria informado no pedido do servio. O controlador do perifrico ao terminar avi-
sa o processador atravs de uma requisio de interrupo que far com que o sistema
operacional execute uma rotina para seu tratamento.
As interrupes podem ser geradas pelos seguintes eventos:
Geradas pelo programa aplicao que so implementadas com o uso de instrues
especiais;
Por erro, como na diviso por zero, referncia memria fora do espao permitido etc;
C e r t i f i c a o L i n u x
24
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Por tempo, como no escalonamento;
Falha de hardware;
Por eventos de entrada e sada de dados sinalizando o final de operao ou condi-
o de erro.
Ento, os eventos gerados pelas interrupes provocam a execuo da rotina de trata-
mento correspondente fonte da interrupo no sistema operacional.
Ao fazer o tratamento das interrupes de hardware, o dispositivo solicitante inter-
rompe processador. Este acaba a execuo da instruo atual, testa existncia de in-
terrupo e salva o estado atual do processo que perder o controle do processador
na memria. O processador carrega o contador de programa com endereo da rotina
de tratamento da interrupo e transfere seu controle para a rotina de tratamento da
interrupo. A rotina de tratamento da interrupo executa e, ao trmino, restaura o
estado anterior para retornar execuo da rotina interrompida.
FIGURA 4 Tratamento de Interrupes.
Um ncleo simples desabilita o tratamento de interrupes enquanto ele responde a uma
interrupo. Elas so novamente habilitadas aps o processamento estar completo.
SISTEMA OPERACIONAL
COLOCA PROCESSO 1 EM ESPERA
EXECUTA PROCESSO 2
COLOCA PROCESSO 2 EM ESPERA
VOLTA A EXECUTAR PROCESSO 1
INTERRUPO OU CHAMADA DE SISTEMA
INTERRUPO OU CHAMADA DE SISTEMA
EXECUTANDO
EXECUTANDO
EXECUTANDO
ESPERANDO
ESPERANDO
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
25
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Se houver um fluxo permanente de interrupes, como nos sistemas multiusurio, este
esquema pode ocasionar interrupes desabilitadas por um grande tempo e em respostas
insatisfatrias. Para evitar isso, o Kernel precisa estar atento ao tempo mximo de proces-
samento permitido para cada interrupo. Se essa fatia de tempo estourar, ele passa o res-
tante do processamento da interrupo para um outro processo apropriado do sistema que
ir terminar de trat-las, enquanto o ncleo continua apto a receber novas interrupes.
Isto significa que elas podem ficar habilitadas durante muito tempo, e o sistema torna-se
mais eficiente em responder a requisies das aplicaes dos usurios.
BIOS
A BIOS (Basic Input Output System) um software especial gravado em memria flash
situada na placa-mo do computador. Este software responsvel por realizar todos os
testes de hardware e reconhecer os dispositivos ligados placa-me. Alm de testar a
memria e reconhecer os discos, ela responsvel por manter o registro de hora e data.
Nem sempre as placas de vdeo, som, rede, SCSI, placas aceleradoras, dentre outras,
so reconhecidas e configuradas automaticamente pela BIOS. Alguns destes disposi-
tivos requerem configurao manual.
Alguns poucos anos atrs, a maioria dos PCs baseados na arquitetura X86 e X86-64
utilizavam a BIOS como seu principal sistema de entrada e sada. Desde 2011 um
novo tipo de software vem instalado nas placas me, chamado de Extensible Firmware
Interface (EFI) ou Unified EFI (UEFI) como padro. Existem pequenas diferenas na
carga do sistema operacional quando tratamos das antigas BIOS ou dos novos EFIs,
que ser abordado no captulo de carga do sistema operacional.
Para que tudo esteja funcionando corretamente, necessrio que os dispositivos estejam
alocando recursos do computador. Estes recursos podem ser portas de entrada e sada, re-
quisies de interrupo (IRQ) e acesso direto a memria (DMA). Vejamos estes conceitos.
O maior empresrio de todos os tempos foi Tutankamon,
que construiu as pirmides h 5 mil anos
e elas at hoje produzem riqueza.
Peter Drucker, pai da administrao moderna.
C e r t i f i c a o L i n u x
26
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Portas de Entrada/Sada (Input / Output)
As portas de entrada e sada so endereos de memria reservados no microprocessa-
dor para os dispositivos realizarem entrada e sada de informaes. Estes endereos
de memria so utilizados para troca de dados entre o processador e os dispositivos
de forma simplificada. Os dispositivos podem usar mais de uma porta de entrada/sa-
da ou uma faixa de endereos. Por exemplo, uma placa de som padro usa as portas
0x220, 0x330 e 0x388. Cada dispositivo possui um endereo de porta nica que no
podem ser compartilhados entre outros dispositivos.
Os endereos de E/S em uso no sistema podem ser visualizados com o comando:
# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
(...)
Requisio de Interrupo (IRQ)
Os IRQs so chamadas que os dispositivos podem fazer para requerer ateno especial do
processador. A maioria dos computadores oferece apenas 16 interrupes de hardware
para os mais diversos dispositivos.
Pode parecer pouco para as modernas configuraes com os mais diferentes dispositi-
vos. Felizmente os IRQs podem ser compartilhados.
As interrupes do sistema podem ser visualizadas no Kernel com o comando:
# cat /proc/interrupts
CPU0
0: 604694 XT-PIC timer
1: 35746 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 13546 XT-PIC orinoco_cs
11: 15 XT-PIC ALi Audio Accelerator
14: 38759 XT-PIC ide0
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
27
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Acesso Direto a Memria (DMA)
A DMA usada para permitir a transferncia de dados entre dispositivos e a memria
sem a interveno do processador. Este acesso feito atravs de canais (channels). A
maioria dos computadores tem dois controladores de DMA. O primeiro controla os
canais 0, 1, 2, 3 e o segundo os canais 4, 5, 6, 7, totalizando 8 canais.
Os canais de DMA em uso no sistema podem ser visualizados com o comando:
# cat /proc/dma
4: cascade
importante que voc saiba que estes recursos so limitados e precisam ser gerencia-
dos para que conflitos entre os dispositivos sejam evitados.
Alguns dispositivos como portas seriais e paralelas j utilizam os recursos no padro
a seguir:
TABELA 1 - Referncia de dispositivos no Linux
Nome do Dispositivo no Linux Nome do Dispositivo no MS-DOS Porta E/S DMA IRQ
ttyS0 COM1 0x3F8 - 4
ttyS1 COM2 0x2F8 - 3
ttyS2 COM3 0x3E8 - 4
ttyS3 COM4 0x2E8 - 3
lp0 LPT1 0x378 - 7
lp1 LPT1 0x278 - 5
/dev/hda1 C: 0x1F0 - 14
/dev/fd0 A: 0x3F0 2 6
No exame pode ser que voc tenha que resolver algum possvel conflito de recursos
em portas seriais ou paralelas.
Dispositivos PCI
Durante o processo de carga do sistema, o Kernel detecta os dispositivos PCI conecta-
dos no micro. A lista das placas de expanso encontradas poder ser lida atravs do
arquivo especial /proc/pci.
C e r t i f i c a o L i n u x
28
w w w . e d i t o r a n o v a t e r r a . c o m . b r
# cat /proc/pci
PCI devices found:
Bus 0, device 0, function 0:
Host bridge: PCI device 10b9:1644 (Acer Laboratories Inc. [ALi]) (rev 1).
Prefetchable 32 bit memory at 0xf0000000 [0xf3ffffff].
Bus 0, device 1, function 0:
PCI bridge: Acer Laboratories Inc. [ALi] M5247 (rev 0).
Master Capable. No bursts. Min Gnt=8.
Bus 0, device 2, function 0:
USB Controller: Acer Laboratories Inc. [ALi] M5237 USB (rev 3).
IRQ 11.
Master Capable. Latency=64. Max Lat=80.
Non-prefetchable 32 bit memory at 0xf7eff000 [0xf7efffff].
Bus 0, device 4, function 0:
IDE interface: Acer Laboratories Inc. [ALi] M5229 IDE (rev 195).
Master Capable. Latency=64. Min Gnt=2.Max Lat=4.
I/O at 0xeff0 [0xefff].
Bus 0, device 6, function 0:
Multimedia audio controller: Acer Laboratories Inc. [ALi] M5451
Utilitrio lspci
O lspci til para mostrar todas as informaes sobre os barramentos PCI do sistema
e os dispositivos conectados a eles.
Suas opes mais comuns so:
-v Mostra informaes detalhadas sobre todos os dispositivos.
-vv Mostra ainda mais informaes sobre os dispositivos.
-n Mostra os cdigos dos fabricantes e dispositivos.
-x Mostra os primeiros 64 bytes da configurao PCI em hexadecimal.
-xxx Mostra toda a configurao PCI em hexadecimal.
# lspci
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
29
w w w . e d i t o r a n o v a t e r r a . c o m . b r
0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host
bridge (rev 01)
0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP
bridge (rev 01)
0000:00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 08)
0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB
0000:00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 08)
O Utilitrio lsusb
O lsusb til para mostrar todas as informaes sobre os dispositivos USB conectados
a este tipo de barramento.
A opo v mostra detalhadamente as informaes sobre o dispositivo USB.
$ lsusb -v
Bus 001 Device 001: ID 0000:0000
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0000
idProduct 0x0000
bcdDevice 0.00
iManufacturer 0
C e r t i f i c a o L i n u x
30
w w w . e d i t o r a n o v a t e r r a . c o m . b r
iProduct 2
iSerial 1
bNumConfigurations 1
(...)
O Kernel 2.6 do Linux possui um robusto sistema de reconhecimento de hardware e
suporte a diversos dispositivos. Este sistema foi im ple mentado principalmente atra-
vs do sysfs, udev e do d-bus.
SYSFS
O sysfs um recurso do Kernel 2.6 para exportar informaes teis sobre o siste-
ma para os processos (programas) dos usurios atravs de um sistema de arquivo
em memria.
O sysfs organiza as informaes do Kernel em diretrios de forma rigorosa e baseada
na organizao interna das estruturas de dados do Kernel.
Os arquivos que so criados neste sistema de arquivos so principalmente em ASCII
(texto puro) com um valor por arquivo. Estas caractersticas asseguram que as infor-
maes passadas pelo sysfs aos programas sejam precisas e utilizadas facilmente.
Uma vez que a estrutura do sysfs composta de diretrios, arquivos e links simb-
licos, a navegao dentro dele fcil e intuitiva. O sysfs geralmente montado no
diretrio /sys.
Os principais diretrios do sysfs so: block, bus, class, devices, firmware, fs, kernel,
module e power.
BLOCK
O diretrio block contm subdiretrios para cada sistema de arquivos de bloco (discos
rgidos, principalmente) existentes no sistema. Dentro dos diretrios dos dispositivos, h
diversos arquivos que indicam, ente outras coisas, o tamanho do dispositivo, status etc .
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
31
w w w . e d i t o r a n o v a t e r r a . c o m . b r
BUS
Este diretrio contm subdiretrios para cada tipo de barramento suportado pelo Ker-
nel. E cada subdiretrio contm os diretrios devices e drivers. O primeiro contm
uma lista de todos os dispositivos encontrados que so do tipo de barramento indica-
do. O segundo contm os drivers de dispositivos daquele tipo de barramento.
CLASS
O diretrio class contm representaes de cada classe de dispositivo que est regis-
trado no Kernel. As classes indicam o tipo de dispositivo que elas representam. Por
exemplo: classe de impressoras, classe de discos etc . Cada subdiretrio de classe
ter um diretrio para cada tipo de dispositivo encontrado pertencente quela classe.
Por exemplo: a classe net contm os dispositivos eth0 e eth1. E, dentro de cada
diretrios de dispositivo, so encontrados arquivos e diretrios associados ao tipo de
dispositivo a que ele pertence.
DEVICES
O diretrio devices contm a hierarquia global dos dispositivos encontrados e supor-
tados pelo Kernel. Sua hierarquia de diretrios obedece a organizao dos dispositi-
vos em qual tipo de conexo eltrica eles esto conectados. Apenas dois dispositivos
so a exceo da regra: dispositivos de plataforma (platform) e de sistema (system).
O primeiro diretrio relativo aos dispositivos perifricos inerentes plataforma de
processamento e barramento do hardware. Por exemplo: dispositivos inerentes a por-
tas de entrada e sada, controladores seriais e paralelos etc . J o system representa os
dispositivos no perifricos que no se encaixam em qualquer outra classificao. Por
exemplo: CPUs, APICs, temporizadores etc .
FIRMWARE
O diretrio firmware contm interfaces para verificar e atribuir objetos especficos de
firmware. Firmware so cdigos executados durante o processo de carga da mquina,
como software da BIOS.
C e r t i f i c a o L i n u x
32
w w w . e d i t o r a n o v a t e r r a . c o m . b r
MODULE
O diretrio module contm subdiretrios com todos os mdulos de Kernel carrega-
dos para a memria. Os mdulos so pedaos de programas que podem ou no fazer
parte do Kernel, de forma que so lidos e executados de acordo com a necessidade
do usurio. Por exemplo: se voc no utiliza com frequncia o drive de disquete,
pode optar por carregar o mdulo que habilita suporte a disquetes somente quando
for fazer uso deste tipo de mdia. Este tipo de arquitetura modular permite que o
Kernel fique mais leve, ocupando menos memria e tambm menos processamento,
deixando a CPU mais tempo livre para executar os programas dos usurios. Um
Kernel enxuto permite que o sistema tenha uma eficincia melhor, mas no impede
que outras funcionalidades sejam agregadas sob demanda na forma de mdulos do
Kernel. importante saber que todos os diretrios de mdulo contm um arquivo
chamado refcnt que conta o nmero de referncias ou nmero de usurios que fa-
zem uso ao mdulo especfico. Este arquivo lido pelo comando lsmod que ser
visto adiante neste livro.
POWER
O diretrio power representa o subsistema de gerenciamento de ener gia. Possui alguns
arquivos que representam o mtodo que o sistema ir utilizar para entrar em modo de
suspenso ou economia de energia.
importante voc saber que as informaes contidas neste sistema de arquivos so
organizadas de forma que diversos programas e utilitrios fazem uso delas para inte-
ragir melhor com o Kernel.
HALD
O hald um programa que fica em execuo em modo de servidor (daemon) que man-
tm um banco de dados sobre os dispositivos conectados ao sistema, em tempo real.
Este programa fica conectado no Kernel atravs do D-BUS escutando as mensagens re-
ferentes aos dispositivos e prov uma biblioteca de programao API para que outros
programas possam descobrir, monitorar e fazer uso dos dispositivos. O HALD facilita
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
33
w w w . e d i t o r a n o v a t e r r a . c o m . b r
o trabalho dos programadores oferecendo um meio fcil e rpido de interagir com os
dispositivos sem precisar fazer acesso direto a eles.
UDEV
O gerenciamento dinmico de dispositivos (udev) responsvel por manter a estru-
tura de diretrio do /dev (diretrio que contm os links que representam os dispo-
sitivos) de forma a permitir que somente dispositivos conectados sejam listados na
estrutura do /dev.
Geralmente este gerenciador executado na forma do programa chamado udevd em
modo de servidor (daemon) que fica escutando os eventos do Kernel para encontrar
quando um dispositivo removido ou adicionado ao sistema. Quando se percebe um
evento de dispositivo no Kernel ele compara com as regras relacionadas no sysfs para
identificar o dispositivo e, depois disso, cria ou remove o link simblico do dispositi-
vo no diretrio /dev.
D-BUS
D-BUS um projeto de software livre mantido pela freedesktop.org. Seu principal ob-
jetivo criar um barramento de troca de mensagens entre os programas. Ele permite
que os programas interajam entre si de forma que o programador no precisa conhecer
a instncia do outro programa em que ele deseja se conectar. Desta forma, o D-BUS
oferta uma bi blio teca de programao que permite a troca de mensagens entre as apli-
caes atravs de protocolos padronizados, utilizando-se do XML para fazer a ligao
entre programas distintos. O D-BUS suporta diversas linguagens de programao de
alto nvel como Qt, GLib, Java, C#, Python etc .
Configurando o Modem e Placas de Som
Os modems so dispositivos especiais utilizados at hoje para conectar os computa-
dores a outros computadores e redes atravs da linha telefnica. O seu nome deriva
da palavra MODulador/DEModulador. Ele transforma um fluxo de bits em um sinal
analgico que possa ser transmitido por uma linha telefnica e transformado nova-
C e r t i f i c a o L i n u x
34
w w w . e d i t o r a n o v a t e r r a . c o m . b r
mente em bits no receptor. As placas modernas possuem algoritmos especiais para
compresso dos dados e correo de erros.
Bem como as placas de rede, a configurao de um modem requer uma ateno es-
pecial no Linux. Estes dispositivos so conectados em uma porta serial disponvel.
Isto significa que eles transmitem e recebem um bit por vez e tm como limitador a
velocidade mxima da porta serial (115200 bps). Os modems podem ser encontrados
em trs verses: interno, externo e SoftModem.
O modem externo utiliza uma fonte de alimentao externa e conectado ao micro
atravs de um cabo serial padro RS-232 em uma porta serial /dev/ttyS0 (COM1) ou /
dev/ttyS1 (COM2).
O modem interno conectado a um barramento ISA ou PCI dependendo do modelo.
Ele tambm utiliza uma porta serial /dev/ttyS2 ou /dev/ttyS3. Do ponto de vista tcni-
co, eles so iguais.
A outra variao de modem foi desenhada especialmente para funcionar no Microsoft
Windows e chamada de WinModem, SoftModem ou HSP (Host Signal Processor).
Este tipo necessita utilizar muita carga de CPU e um software especfico e por isto so
mais baratos. As aes como compreenso de dados e correo de erros feita pela
CPU principal via software. O suporte no Linux a este modem limitado e depende
de um driver especfico. O Softmodem da Lucent /Agere j possui suporte na maioria
das distribuies.
Se no existir conflito de hardware, a configurao do modem no complicada, uma
vez que ele utiliza uma porta serial e um IRQ.
Por ltimo, deve-se configurar a porta serial no Linux para operar na velocidade cor-
reta. Para isto utiliza-se o comando setserial.
A cada bela impresso que causamos, conquistamos um inimigo.
Para ser popular indispensvel ser medocre.
Oscar Wilde
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
35
w w w . e d i t o r a n o v a t e r r a . c o m . b r
setserial
Este utilitrio foi especialmente desenvolvido para configurar as portas seriais no Li-
nux. Ele possibilita configurar a porta de entrada e sada, IRQ, velocidade, UART e
tecla de sada.
Durante o processo normal de boot as portas COM 1 a 4 so configuradas usando os
endereos de entrada e sada e IRQs padro. Qualquer configurao diferente destas
listadas abaixo dever ser feita atravs do comando setserial.
/dev/ttys0 (COM1), port 0x3f8, irq 4
/dev/ttys1 (COM2), port 0x2f8, irq 3
/dev/ttys2 (COM3), port 0x3e8, irq 4
/dev/ttys3 (COM4), port 0x2e8, irq 3
Este comando tipicamente necessita dos seguintes parmetros:
serial: Define a porta que dever ser configurada. Ex.: /dev/ttys0
port: Define a porta de entrada e sada em hexadecimal. Ex.: 0x3f8
irq: Define a interrupo de hardware. Ex.: 3
uart: Define o tipo de UART a ser utilizado. Ex.: nenhum, 8250, 16450, 16550,
16550A, 16650, 16650V2, 16750, 16850, 16950, 16954.
baud_base: Define a velocidade em bits por segundo. Ex.: 115200
divisor: Define o divisor padro de velocidade.
O divisor poder assumir os seguintes valores:
spd_hi: Use 56kb
spd_vhi: Use 115kb
spd_shi: Use 230kb
spd_warp: Use 460kb
spd_cust: Use um divisor especfico para definir a velocidade:
baud rate = baud_base / divisor
spd_normal: Use 38.4kb
C e r t i f i c a o L i n u x
36
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Veja dois exemplos de uso do comando setserial:
setserial /dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200
spd_normal
setserial /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200
spd_normal
O script /etc/init.d/setserial geralmente utilizado para configurar as portas seriais
COM1 e COM2 durante o processo de carga do sistema.
No captulo de Fundamentos de Rede trataremos da configurao do PPP (Point-to-
Point-Protocol Protocolo de Conexo Ponto a Ponto) responsvel pela conexo de
computadores a redes TCP/IP via linha telefnica.
Configurando a Placa de Som
A configurao de dispositivos de udio deixou de ser algo complicado com o desen-
volvimento de drivers para estes dispositivos e melhoria nos padres dos sistemas de
som para o Linux.
Dependendo do modelo, as placas de som podem utilizar barramentos ISA, PCI ou
embutidas na placa-me. Os recursos padres utilizados por estes dispositivos so:
IRQ 5, DMA 1, DMA 16 e as portas de entrada e sada 0x220, 0x330 e 0x388.
O Linux suporta dois padres de sistema de som: OSS (Open Sound System) e ALSA
(Advanced Linux Sound Architecture).
O OSS foi o primeiro padro desenvolvido. O padro ALSA mais novo, suporta full
duplex, mantm a compatibilidade com OSS e garante maior desempenho alm de
outros recursos adicionais.
Para utilizar o dispositivo de som, carregue o mdulo da placa com o comando:
# modprobe nome_mdulo
Algumas placas requerem que seja especificado o recurso de hardware utilizado como
parmetro:
# modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x388
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
37
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Depois de instanciado no Kernel o mdulo do dispositivo de som, os recursos /dev/
audio, /dev/dsp e /dev/mixer estaro disponveis.
O prximo passo ser instalar um programa para controle de volume, tonalidade e
outros recursos da placa de som.
Configurando Dispositivos no-IDE
As placas SCSI (Small Computer System Interfaces) so interfaces para conexo de
dispositivos de armazenamento de dados como discos rgidos, fitas DAT, CD-ROM etc.
Esta tecnologia possibilita transferncia de dados em alta velocidade e a conexo de
at 16 dispositivos por barramento.
Os dispositivos SCSI so classificados em 8 categorias:
SCSI 1: Utiliza um cabo Centronics de 50 conectores para conexo dos dispositivos e
a transferncia de dados de 5MBps a 8-bits. A taxa de transferncia no muito alta;
SCSI 2: Utiliza um cabo Micro-D de 50 pinos para a ligao de peri fricos. Permite
que sejam ligados at 7 perifricos em uma mesma controladora. A transferncia de
dados continua sendo de 5MBps a 8-bits;
Wide SCSI: Utiliza um cabo Micro-D de 68 pinos para suportar transferncia de
dados a 16-bits dobrando a taxa para 10MBps;
Fast SCSI: Utiliza um cabo Micro-D de 50 pinos com transfern cia de 10MBps a 8-bits.
Este padro consegue um desempenho melhor aumentando o clock de trabalho;
Fast Wide SCSI: Utiliza um cabo Micro-D de 68 pinos com transferncia de 20MBps
a 16-bits. Esta tecnologia combina um barra mento e clock maiores;
Ultra SCSI: Utiliza um cabo Micro-D de 50 pinos com transferncia de 20MBps
a 8-bits;
Ultra Wide SCSI: Tambm chamada de SCSI 3. Usa um cabo de 68 pinos que pode
atingir at 5 metros de comprimento. Permite que sejam ligados at 16 perifricos
em uma mesma controladora. Pode atingir at 40MBps a 16-bits de transferncia;
C e r t i f i c a o L i n u x
38
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Ultra SCSI 320: Nova tecnologia SCSI que permite at 320MBps de transferncia a
2x32-bit. Utiliza um cabo de 68 pinos.
FIGURA 5 Conectores SCSI.
SCSI ID
Todos os dispositivos SCSI ligados a uma mesma placa so endereados de forma que
cada um tenha uma numerao nica chamada de SCSI ID. Esta numerao vai de 0
a 7 para as placas com barramento de 8-bit e de 0 a 15 para barramentos de 16-bit. As
prprias placas so endereadas e normalmente utilizam o SCSI ID 7.
DB25M (MAC-SCSI)
APROX: 39mm
C50M (SCSI-1)
APROX: 65mm
IDC50M (SCSI-1)
APROX: 70mm
IDC50F (SCSI-1)
APROX: 67mm
HD50M (SCSI-2)
APROX: 35mm
HD68M (SCSI-3)
APROX: 47mm
HD68F (SCSI-3)
APROX: 45mm
VHD68M (SCSI-4)
APROX: 32mm
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
39
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Nos discos SCSI comum que o endereamento SCSI ID seja definido atravs de
jumpers no disco.
A maioria das controladoras SCSI possui sua prpria BIOS que pode ser configurada
no boot do computador. A BIOS destas placas pode permitir dentre outras coisas a
configurao do SCSI ID da controladora, efetuar formatao fsica dos discos, verifi-
car os dispositivos conectados e seus respectivos SCSI IDs e at configurar a velocida-
de de transmisso dos dados para acomodar discos e fitas antigas.
Algumas placas ainda permitem que voc configure qual o SCSI ID do dispositivo
responsvel pela carga do sistema operacional. O padro que o disco conectado ao
SCSI ID 0 contenha o setor de boot.
SCSI LUN
Alguns dispositivos SCSI como as controladoras RAID (Redundant Array of Inexpre-
sive Disks) utilizam um recurso chamado de Nmero de Unidade Lgica (LUN). Este
recurso utilizado pelas controladoras para enxergar os mltiplos dispositivos lgicos
com apenas um endereo.
Terminadores
Os dispositivos SCSI so conectados ao longo de um cabo que dispe de diversas
entradas. No final do cabo necessrio conectar um componente eltrico chamado
terminador. A funo deste componente con dicionar o sinal enviado pelo cabo, di-
minuir rudos e ecos no barra mento.
Alguns dispositivos SCSI podem funcionar sem o terminador, mas no de forma ele-
gante. Alguns fabricantes o incluem no prprio cabo. Outros fabricantes incluem no
prprio disco que ser conectado ao cabo. importante que voc saiba que os disposi-
tivos SCSI necessitam de um termi na dor em cada ponta do cabo para que funcionem
de maneira apropriada.
O comando lsscsi fornece uma lista dos dispositivos SCSI conectados ao sistema.
C e r t i f i c a o L i n u x
40
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Configurando Dispositivos de Rede e
Outros Dispositivos
difcil conceber a ideia de um PC que no esteja conectado a uma rede ou Internet. Des-
ta maneira, configurar corretamente uma placa de rede no Linux se tornou indispensvel.
O primeiro passo para configurarmos um dispositivo de rede identificar o tipo de
barramento que ele utiliza. Se o barramento for ISA pode ser preciso alterar a configu-
rao de jumpers retirando ou colocando pequenos terminais na placa para adequar
o endereamento de E/S e IRQs. Algumas dispensam o acesso fsico placa, pois so
reconhecidas pela BIOS que fornecer a configurao dos recursos.
Caso sua placa seja PCI ou CNR, o comando lspci poder ser til para identificar o
fabricante e modelo dos dispositivos PCI.
# lspci
00:00.0 Host bridge: ALi Corporation M1541 (rev 04)
00:01.0 PCI bridge: ALi Corporation M1541 PCI to AGP Controller (rev 04)
00:02.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
00:03.0 Bridge: ALi Corporation M7101 PMU
00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
(rev c3)
00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-
8139/8139C/8139C+ (rev 10)
00:0b.0 SCSI storage controller: Adaptec AHA-2940/2940W / AIC-7871
00:0f.0 IDE interface: ALi Corporation M5229 IDE (rev c1)
01:00.0 VGA compatible controller: NVidia / SGS Thomson (Joint Venture)
Riva128 (rev 10)
Os modelos que utilizam o barramento PCI na maioria das vezes dispensam a confi-
gurao manual dos recursos despendidos.
Voc ainda dever consultar o endereamento e a interrupo que o dispositivo de rede
est utilizando lendo o contedo do arquivo /proc/interrupts e /proc/ioports.
# cat /proc/interrupts
CPU0
0: 288898893 XT-PIC timer
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
41
w w w . e d i t o r a n o v a t e r r a . c o m . b r
1: 230 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 7085061 XT-PIC eth0
8: 2 XT-PIC rtc
9: 0 XT-PIC usb-ohci
10: 152038 XT-PIC aic7xxx
12: 411599 XT-PIC eth1
14: 2 XT-PIC ide0
Observe que neste exemplo existem duas placas de rede eth0 e eth1 nos IRQs nmero
5 e 12 respectivamente. Este micro ainda possui uma controladora SCSI modelo AI-
C7xxx no IRQ 10.
# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
01f0-01f7 : ide0
02f8-02ff : serial(auto)
03c0-03df : vesafb
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0cf8-0cff : PCI conf1
5c20-5c3f : ALi Corporation. [ALi] M7101 PMU
b800-b80f : ALi Corporation. [ALi] M5229 IDE
C e r t i f i c a o L i n u x
42
w w w . e d i t o r a n o v a t e r r a . c o m . b r
b800-b807 : ide0
b808-b80f : ide1
d000-d0ff : Adaptec AHA-2940/2940W / AIC-7871
d000-d0ff : aic7xxx
d400-d4ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (#2)
d400-d4ff : 8139too
d800-d8ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
d800-d8ff : 8139too
O contedo do arquivo /proc/ioports fornece os endereos de entrada e sada utiliza-
dos pelos dispositivos. No exemplo as placas de rede esto nos intervalos de endere-
os 0xD400-0xD4FF e 0xD800-0xD8FF.
Depois de identificarmos a placa, o endereamento de entrada e sada e o IRQ ser
preciso carregar o mdulo do Kernel correspondente ou compilar o suporte ao
dispositivo.
Para carregar o suporte ao dispositivo atravs de um mdulo do Kernel, devemos uti-
lizar o comando modprobe. Discutiremos o uso deste comando e outros relacionados
aos mdulos do Kernel adiante no livro.
# modprobe 8139too
Algumas placas ISA necessitam que o endereamento de E/S e IRQ sejam passados
como argumentos para o comando modprobe alocar os recursos corretamente:
# modprobe ne io=0x300 irq=10
O Linux suporta que os mdulos sejam carregados automaticamente durante a carga
do sistema. As configuraes dos parmetros devem ser feitas no arquivo /etc/modu-
les.conf da seguinte forma:
# cat /etc/modules.conf
Alias eth0 8139too
Alias eth1 ne
Options ne io=0x300 irq=5
Nas ltimas verses do kernel comum no encontrar mais o arquivo /etc/modules.
conf. Este arquivo foi dividido em vrios arquivos no subdiretrio /lib/modules/ver-
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
43
w w w . e d i t o r a n o v a t e r r a . c o m . b r
so_do_kernel, como no exemplo abaixo, mas a idia central do modules.conf perma-
nece a mesma.
Arquivos do diretrio /lib/modules/verso_do_kernel:
build modules.dep.bin modules.pcimap
extra modules.devname modules.seriomap
kernel modules.drm modules.softdep
modules.alias modules.ieee1394map modules.symbols
modules.alias.bin modules.inputmap modules.symbols.bin
modules.block modules.isapnpmap modules.usbmap
modules.builtin modules.modesetting source
modules.builtin.bin modules.networking updates
modules.ccwmap modules.ofmap vdso
modules.dep modules.order weak-updates
Depois de carregar os mdulos apropriados para os dispositivos de rede, resta apenas
configurar seus parmetros como endereo IP para coloc-lo em funcionamento. Este
assunto ser abordado no captulo Fundamentos de Rede.
Configurando Dispositivos de Conectividade
Neste tpico iremos tratar da conexo do Linux com dispositivos de conectividade
sncronos, como modems xDSL e ISDN.
A maioria das conexes de alta velocidade no Brasil utiliza modems DSL, como Vir-
tua, Velox, Speed, dentre outros produtos.
Estes modems costumam aceitar um dos dois tipos de mecanismos para estabele-
cer conexo: Bridged/DHCP ou PPPoX. Ambos tm a tarefa de obter um endereo
IP e outras configuraes de rede para que a conexo seja feita. O importante
sabermos qual tipo de configurao o modem utiliza para podermos instalar o
software cliente apropriado.
Por que cometer erros antigos se h tantos erros
novos a escolher?
Bertrand Russel, flsofo ingls
C e r t i f i c a o L i n u x
44
w w w . e d i t o r a n o v a t e r r a . c o m . b r
A maneira mais fcil entrar em contato com o pessoal da operadora de banda larga
para saber qual o tipo de mecanismo que eles utilizam. Alguns modems suportam
ambas configuraes, mas no ao mesmo tempo.
Bridged/DHCP
Este tipo de mecanismo para estabelecer uma conexo de banda larga era utilizado
com frequncia pelas operadoras por sua simplicidade de operao.
Este tipo de conexo coloca o microcomputador cliente em uma grande sub-rede LAN,
com todos os outros microcomputadores de outros clientes, expondo todos a um tr-
fego de pacotes ARP e broadcast.
A autenticao deste tipo de mecanismo utiliza o protocolo DHCP para obter um en-
dereo IP vlido, mscara de sub-rede, gateway e servidores de resoluo de nomes.
PPPoX
O mecanismo PPPoX na verdade uma variao do protocolo PPP adaptado para tra-
balhar com modems sncronos como o DSL. Existem duas variaes utilizadas: PPPoE
(PPP sobre Ethernet) e o PPPoA (PPP sobre ATM).
Existem diversas implementaes do PPPoE para Linux que simulam uma conexo
discada, onde o usurio autenticado atravs de um servidor RADIUS atravs de sua
identificao e senha.
Note que a grande vantagem do padro PPPoE que ele possibilita a conexo atravs
de dispositivos no-Ethernet, como o USB.
Na perspectiva do provedor de servios, o PPPoE mais fcil de administrar e fazer
a manuteno. Do ponto de vista do usurio, ele mais trabalhoso para configurar,
consome mais CPU e a conexo pode no ser to estvel.
Dependendo do seu provedor de servios, existem vrias maneiras de estabelecer a
conexo via modem DSL. So elas:
IP esttico
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
45
w w w . e d i t o r a n o v a t e r r a . c o m . b r
IP dinmico via rede Bridged usando DHCP
IP dinmico usando PPPoX
IP esttico usando PPPoX
Configurando IP Esttico
Um IP esttico um endereo de rede que no muda. Geralmente utilizado por
clientes que desejam oferecer algum tipo de servio na rede, conectando seu servidor
a ela. Nem todos os provedores de servio oferecem este tipo de conexo, e outros que
o fazem requerem um pagamento diferenciado para tal.
Neste tipo de conexo o endereo IP, mscara de rede, default gateway e os endereos
de servidor de nomes que devero ser configurados so informados pelo provedor.
Em linhas gerais, utiliza-se o comando ifconfig para configurar o endereo IP e msca-
ra de sub-rede da placa ethernet que est conectada ao modem.
# ifconfig eth0 200.150.233.45 up netmask 255.255.255.0
J o default gateway dever ser configurado utilizando o comando route para adicio-
nar a rota padro:
# route add default gw 200.150.233.1 dev eth0
Por fim, o endereo do servidor de nomes dever ser configurado no arquivo /etc/
resolv.conf:
# echo nameserver 8.8.8.8 >> /etc/resolv.conf
No tpico 112 os comandos ifconfig, route e o arquivo /etc/resolv.conf so tratados
mais detalhadamente.
Configurando IP Dinmico via Rede Bridged Usando DHCP
Existem diversos clientes DHCP nas distribuies do Linux. Os mais comuns so o
dhcpcd e o pump.
O cliente DHCP negocia com o provedor de servios uma espcie de emprstimo de en-
dereo IP que ser utilizado durante aquela conexo. Outras informaes como mscara
C e r t i f i c a o L i n u x
46
w w w . e d i t o r a n o v a t e r r a . c o m . b r
de sub-rede, default gateway e servidor de nomes so tambm negociados enquanto a
conexo estabelecida. O endereo IP emprestado poder ser utilizado durante um in-
tervalo de tempo configurado pelo provedor, e poder ser renovado ou trocado.
Alguns provedores podem requerer algum tipo de autenticao para estabelecer uma
conexo via DHCP. O mtodo mais comum via endereo de hardware da placa de
rede, conhecido como MAC address. Cada placa de rede tem o seu endereo nico,
formado por uma sequncia de 6 dgitos em hexadecimal, como 00:50:04:C2:19:BC. O
endereo MAC poder ser visualizado durante o processo de carga do sistema opera-
cional ou atravs do comando ifconfig. Desta forma, necessrio informar o endereo
da placa de rede ao provedor antes da primeira conexo.
O utilitrio pump poder ser utilizado para solicitar um endereo IP para o provedor,
bem como devolver ou desconectar um endereo.
Para verificar o estado da conexo:
# pump -i eth0 status
Para devolver um endereo IP:
# pump -i eth0 release
Para solicitar um endereo IP:
# pump -i eth0
J o cliente dhcpcd mais simples. Sua utilizao bsica resume em solicitar um en-
dereo IP e devolver um endereo.
Para solicitar um endereo IP:
# dhcpcd eth0
Para devolver um endereo IP:
# dhcpcd k eth0
Configurando IP Dinmico Usando PPPoX
Existem diversos clientes PPPoE para o Linux:
The Roaring Penguin (rp-pppoe): http://www.roaringpenguin.com/pppoe/
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
47
w w w . e d i t o r a n o v a t e r r a . c o m . b r
PPPoEd: http://www.davin.ottawa.on.ca/pppoe/
PPPoE Redirector: http://www.ecf.toronto.edu/~stras/pppoe
EnterNet: http://www.nts.com
A configurao do PPPoE ir depender do cliente que voc escolher. A dica seguir as
instrues do arquivo INSTALL ou README includas no pacote escolhido.
Abaixo ser descrita a configurao do Roaring Penguin.
No site est disponvel a verso para compilar do RP-PPPoE: rp-pppoe-3.7.tar.gz.
Para descompactar o pacote:
# tar xvzf rp-pppoe-3.7.tar.gz
Depois entre no diretrio rp-pppoe-3.7.
O comando go ir checar as dependncias e compilar o software:
# ./go
Este comando dever ser executado como root.
Uma vez compilado e instalado, utilize o comando pppoe-setup e siga as instrues
na tela.
Depois de configurados, os comandos pppoe-start e pppoe-stop so utilizados para
conectar e desconectar.
Para verificar se a conexo foi realizada com sucesso, o comando ifconfig dever apre-
sentar, alm da interface de rede conectada ao modem (eth0), a interface PPP (ppp0):
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:A0:CC:33:74:EB
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:297581 errors:0 dropped:0 overruns:0 frame:0
TX packets:266104 errors:1 dropped:0 overruns:0 carrier:2
collisions:79 txqueuelen:100
Interrupt:10 Base address:0x1300
ppp0 Link encap:Point-to-Point Protocol
C e r t i f i c a o L i n u x
48
w w w . e d i t o r a n o v a t e r r a . c o m . b r
inet addr:208.61.124.28 P-t-P:208.61.124.1
Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:297579 errors:0 dropped:0 overruns:0 frame:0
TX packets:266102 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
E o comando route dever apresentar a rota padro para a interface ppp0:
# route n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref
Use Iface
208.61.124.1 * 255.255.255.255 UH 0 0 0 ppp0
default 208.61.124.1 0.0.0.0 UG 0 0 0 ppp0
Configurando IP Esttico Usando PPPoX
A configurao esttica do PPPoE dever ser feita durante a configurao pppoe-setup
ou alterando o arquivo /etc/ppp/pppoe.conf.
Configurando Dispositivos USB
USB a sigla de Universal Serial Bus. Esta tecnologia criou um novo mtodo de co-
nectar perifricos ao computador.
Instalar um perifrico foi encarado como uma tarefa assustadora, digna apenas de
tcnicos ou pessoas com mais experincia. Isso exigia mais do usurio, pois ele tinha
que abrir o computador para instalar uma placa adicional, configurar jumpers, IRQs,
endereos de memria e de E/S.
Com a implementao do padro Plug and Play (PnP) para deteco automtica de
perifricos e dispositivos pela BIOS, essa tarefa se tornou mais fcil. O objetivo do
padro PnP foi tornar o usurio capaz de instalar um novo perifrico e us-lo imedia-
tamente, sem muita dificuldade.
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
49
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Um grupo de empresas criou em 1995 um consrcio para desenvolver uma especifi-
cao de hardware e promover a rpida adoo dessa nova tecnologia e o desenvolvi-
mento de novos dispositivos compatveis e de alta qualidade. Nascia o USB (Universal
Serial Bus), um barramento com um nico tipo de combinao porta/conector, usado
para ligar facilmente ao computador vrias categorias de dispositivos como scanners,
cmeras, teclados, caixas de som, impressoras etc .
O barramento USB 1.0 e 1.1 permite at 127 dispositivos a uma velocidade de at 12
Mbps. J o USB 2.0 permite taxas de transferncia at 480 Mbps. A verso 3.0 intro-
duzida em 2010 suporta uma taxa mxima terica de 4,8 Gbps, mas na mdia trabalha
a 3,2 Gbps. Este ltimo padro requer um conector diferente do padro 1.x e 2.0 e
necessariamente um kernel com verso superior ao 2.6.31.
Os perifricos que sero abordados como exemplo so o teclado, o mouse, impressoras
e a WebCam3 USB da Creative Labs.
O primeiro passo determinar qual xHCI (Host Controller Interface) sua placa-me
possui e carregar o mdulo correspondente ao chip.
O comando para determinar qual o chip utilizado em sua placa-me :
# lspci -vt
-[00]-+-00.0 VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x]
+-01.0-[01]00.0 ATI Technologies Inc Rage XL AGP 2X
+-07.0 VIA Technologies, Inc. VT82C686 [Apollo Super South]
+-07.1 VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE
+-07.2 VIA Technologies, Inc. USB
+-07.3 VIA Technologies, Inc. USB
+-07.4 VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
+-07.5 VIA Technologies, Inc. VT82C686 AC97 Audio Controller
+-0b.0 Adaptec AIC-7892A U160/m
\-0d.0 Intel Corp. 82557/8/9 [Ethernet Pro 100]
Caso sua placa-me possua um Chipset da INTEL ou da VIA, ser necessrio subir o
mdulo usb-uhci. Se possuir um Chipset da OPTi, SiS, ALi, Compaq, Apple ser ne-
cessrio subir o mdulo usb-ohci.
C e r t i f i c a o L i n u x
50
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Os comandos so:
# modprobe usb-uhci
Ou
# modprobe usb-ohci
Estes mdulos fornecero suporte aos dispositivos USB.
Agora vamos aos perifricos:
TECLADO
Para confgurar corretamente o seu teclado USB, precisamos carregar dois mdulos adicionais:
# modprobe hid
E
$ modprobe keydev
MOUSE
O procedimento para instalarmos um dispositivo Mouse USB parecido com a ativa-
o do teclado:
# modprobe hid
E
# modprobe mousedev
IMPRESSORA
No caso da impressora, ser necessrio carregar, aps o mdulo correto de seu Chipset, o seguin-
te mdulo:
# modprobe printer
WEBCAM
A WebCam USB da Creative Labs baseada no Chip OV511. Devemos carregar, aps
o mdulo do Chipset, o mdulo apropriado para a cmera:
# modprobe ov511
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
51
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Outros Dispositivos
O Linux tem suporte a diversos dispositivos USB atravs dos mdulos do Kernel. Voc
poder consultar os Chipsets suportados no diretrio /lib/modules/verso-do-kernel/
kernel/drivers/usb.
Ferramentas Para Configurao de Dispositivos USB
Algumas distribuies possuem ferramentas interessantes para a configurao auto-
mtica de dispositivos USB, como o usbmgr e o hotplug.
O usbmgr uma ferramenta utilizada para carregar e descarregar os mdulos do Ker-
nel para os dispositivos USB quando estes so conectados ou desconectados ao micro
e executar automaticamente os scripts de configurao destes.
O usbmgr possui o arquivo /etc/usbmgr.conf que contm uma vasta lista de disposi-
tivos e fabricantes que so automaticamente reconhecidos e configurados. Voc no
precisa alterar este arquivo.
A ferramenta hotplug foi introduzida a partir do Kernel 2.4 para reconhecer e configu-
rar automaticamente dispositivos USB, PCI Cardbus (PCMCIA), IEEE 1394 (Firewire)
e docking stations para laptops.
O hotplug entra em cena com a funo de detectar novos dispositivos. ele o res-
ponsvel por carregar os mdulos apropriados, ajustar permisses e executar tarefas
diversas sempre que um novo dispositivo conectado.
A partir do Kernel 2.6 o hotplug tornou-se o componente padro para deteco de
hardware USB, PCMCIA e Firewire. Ele faz parte dos servios do sistema e pode ser
carregado com o comando:
# /etc/init.d/hotplug start
Os arquivos de configurao do hotplug esto concentrados dentro da pasta /etc/hotplug.
O hotplug trabalha com cdigos de identificao dos dispositivos, carregando mdulos ou
executando scripts com funes diversas.
A simplicidade o ltimo degrau da sabedoria.
Gibran
C e r t i f i c a o L i n u x
52
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Na maioria das distribuies o arquivo /etc/hotplug/usb.distmap contm as regras
pr-configuradas dos diversos dispositivos USB.
Voc pode colocar regras adicionais usando o arquivo /etc/hotplug/usb.usermap possibilitan-
do a execuo de scripts personalizados quando determinados dispositivos so conectados,
como tocar um som, abrir um determinado programa ou mesmo fazer backup automtico.
101.2 Sistemas de Boot
Qualquer computador PC quando ligado inicia uma srie de aes complexas de teste
de hardware programada por uma memria especial chamada de BIOS. Esta memria
tem a funo de dar a partida na mquina, reconhecendo os dispositivos instalados e
realizando a carga do sistema operacional.
Durante o boot, o BIOS realiza uma srie de testes, cuja funo determinar com
exatido os componentes de hardware instalados no sistema. Este teste chamado de
POST (power-on self test). atravs do POST que o computador busca informaes
dos nmeros e dos tipos de placas, drives de disquete, HDs, portas seriais, paralelas e
USBs, monitor, mouse, teclado etc .
Logo depois dos testes de hardware, a BIOS procura nos dispositivos de discos rgidos,
disquetes e CD-ROM um endereo especial chamado de setor de boot.
Nas placas mes que adotam o sistema EFI ou UEFI, o processo de carga do sistema ope-
racional envolve ler um arquivo especial de carga partir de um sistema de arquivo em
uma partio especial chamada EFI System Partition (ESP). Esta partio especial usa o
formato da FAT (File Allocation Table). No Linux tipicamente montada em /boot/efi.
Este esquema utilizado pelo EFI mais complexo que na BIOS, permitindo que cada
sistema operacional instalado no computador tenha o seu prprio sistema de carga de
boot separado. Desta forma o EFI possui um gerenciador de boot que permite que o
usurio escolha qual sistema de carga de boot quer dar incio quando liga o computador.
Para que este sistema gerenciador de boot do EFI funcione, preciso que os sistemas
de carga de boot estejam devidamente registrados no firmware atravs do prprio uti-
litrio da EFI ou atravs do programa efibootmgr no Linux.
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
53
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Processo de Carga do Kernel
O setor de boot de um disquete est localizado no cilindro 0, cabea 0, setor 1. Este
setor criado por um programa de formatao de disquetes, como o FORMAT do DOS.
no setor de boot que os sistemas operacionais gravam o software responsvel por
iniciar a carga do sistema operacional.
Desta forma, a BIO procura no setor de boot do disco rgido o geren ciador de boot.
No Linux gerenciadores mais comuns so o LILO, GRUB e GRUB 2. Eles so respon-
sveis pela carga do Kernel na memria. O LILO no mais abordado na prova 101,
uma vez que a grande maioria das distribuies j o abandonou. Em compensao, o
GRUB 2 passa a fazer parte dos requisitos da prova.
Aps a carga do Kernel, este inicia um processo especial chamado init. Este processo
o pai de todos os processos e responsvel pelo restante da carga do boot do Linux.
Depois da carga do boot, o init chama outro programa especial chamado getty, que
responsvel pela autenticao dos usurios e pelo incio do processo de shell.
importante que voc entenda que cada programa pelo menos um processo e que
cada processo possui alguns atributos, tais como:
Process ID (PID) ou identificao do processo: Cada processo possui um nmero
de identificao nico. O primeiro processo init sempre ter o PID 1 e para o res-
tante dos processos este nmero incrementado medida que novos processos
so executados;
User ID e Group ID (ID do usurio e ID do grupo): Os processos precisam ser execu-
tados com os privilgios de uma conta de usurio e do grupo associado a eles. Isto
importante porque assim o sistema pode determinar e gerenciar o acesso aos recursos;
Processo Pai: No Linux nenhum processo executado de forma independente dos
outros. Todos os processos no sistema, com exceo do init, possuem um processo
pai, que responsvel pela sua execuo. O atributo ParentID grava o PID do proces-
so pai. Caso o processo pai termine sua execuo antes do processo filho, o processo
filho apadrinhado pelo init, ganhando o Parent ID igual a 1;
C e r t i f i c a o L i n u x
54
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Variveis de ambiente: Cada processo herda do processo pai algumas variveis
de ambiente que simplesmente guardam alguns valores que podem ou no ser im-
portantes para o processo em execuo. possvel que durante sua execuo um
processo altere, incremente ou apague uma varivel de ambiente;
FIGURA 6 - Carga do sistema Linux.
exec() exec() exec() exec()
init
init init init
/bin/sh /bin/sh /bin/sh /bin/sh
guetty guetty
login
fork() fork() fork() fork()
/bin/sh
guetty
PID 1
PID 2
PID 21 PID 22 PID 23 PID 23
vi elm gdb gcc
PID 21 PID 22 PID 23 PID 23
PID 3 PID 10
fork() fork() fork()
exec() exec() exec()
exec()
exec()
exit()
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
55
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Diretrio de trabalho: Os processos tambm so associados a um diretrio de tra-
balho, onde podem fazer a leitura e a escrita do disco;
Temporizadores: O Kernel mantm registros da hora em que os processos so cria-
dos bem como o tempo de CPU que eles consomem durante a sua execuo.
Em um ambiente multiprogramado com apenas um processador, cada processo exe-
cutado aos poucos de cada vez, de forma intercalada. O sistema operacional aloca a
CPU um pouco para cada processo. Um processo aps receber o controle do processa-
dor s o perder quando ocorrer uma interrupo ou quando requerer algum servio
do sistema operacional.
Estas interrupes so transparentes aos processos, pois apenas interrompem tempo-
rariamente sua execuo, que depois continuar a ser executada como se nada tivesse
acontecido. Ao requerer um servio do sistema operacional, o processo bloqueado
at que o servio requerido ao sistema operacional seja satisfeito.
O Gerenciador de Boot
A maioria das distribuies Linux trabalha com um dos dois gerenciadores de boot,
o GRUB (Grand Unified Bootloader) verso 1 ou a verso 2. O gerenciador de boot
responsvel pela carga do Kernel do Linux e tambm para a carga de outros sistemas
operacionais.
Trataremos da instalao do gerenciador de boot mais adiante no livro.
O gerenciador permite que alguns parmetros sejam passados para o Kernel durante a sua
carga. Estes parmetros podem passar para o Kernel algumas informaes que ele pode
no ser capaz de buscar por conta prpria ou at mesmo mudar seu comportamento.
Estes parmetros podem estar escritos no arquivo de configurao dos gerenciadores
de boot ou passados atravs da linha de comando.
Dependendo do seu hardware e configuraes dos mdulos do Kernel, estes parme-
tros podem especificar configuraes de recursos como portas de entrada e sada (IO
Ports), IRQ etc.
C e r t i f i c a o L i n u x
56
w w w . e d i t o r a n o v a t e r r a . c o m . b r
O gerenciador de boot permite que as informaes sejam passadas para o Kernel, que ir
lidar com os mdulos do sistema, mas ele no lida diretamente com os mdulos do sistema.
O Kernel do Linux modular. Ele permite que mdulos (tambm podem ser chamados
grosseiramente de drivers) possam ser compilados na imagem do Kernel ou carrega-
dos somente quando necessrio.
Para enviar parmetros para os mdulos do Kernel, voc precisar editar o arquivo de con-
figurao dos mdulos, que dependendo da distribuio podem ser /etc/conf.modules,
/etc/modules.conf ou em /lib/modules/verso_do_kernel. Estas configuraes podem
ser endereos de entrada e sada (IO), DMA, IRQ e dispositivos PCMCIA.
Veja um exemplo do arquivo /etc/modules.conf:
####################################
# Aliases - specify your hardware #
####################################
alias eth0 8139too
alias eth1 8139too
alias tr0 off
alias scsi_hostadapter off
alias fb0 off
Enquanto o Kernel carregado na inicializao do sistema, ele exibe uma srie de
mensagens teis que iro informar a identificao do Kernel, informaes de CPU e
memria, dispositivos de hardware, discos, parties, servios de rede etc.
Durante o processo de boot o Linux executa diversos processos em uma ordem pro-
gramada chamada de nvel de execuo, ou Runlevels. Este nvel de execuo vai
determinar quais os servios sero executados durante a carga.
Por exemplo, podemos definir que um determinado nvel vai chamar todos os servios
que um servidor precisa rodar, como SSH, servidor HTTP, servidor de ftp e servidor
de e-mail. Mas para uma situao de emergncia, onde o administrador precisa efetu-
ar alguma manuteno, podemos determinar um nvel de execuo onde somente o
bsico seja executado.
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
57
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Os problemas que podem ocorrer durante a carga do sistema como reconhecimento
de dispositivos, erro na leitura de mdulos do Kernel, erro na execuo de servios
podem ser analisados no principal arquivo de LOG do sistema /var/log/messages.
Existe tambm um utilitrio capaz de ler o buffer (pequena rea de memria)
das telas do processo de carga do sistema, chamado de dmesg. Aps o processo
de carga do sistema este utilitrio ir mostrar as mensagens de carga do sistema,
mas ele capaz de ler qualquer mensagem importante que o Kernel armazene em
seu buffer.
101.3 Alterando runlevels, shutdown e reboot
O Linux possui trs grandes sistemas especiais de carga dos servios durante o pro-
cesso de boot e tambm responsvel por iniciar todos os processos: System V Init
Daemon, Systemd e Upstream.
System V Init Daemon
O System V Init Daemon foi herdado do UNIX, que recebeu o nome de System V init
Daemon ou simplesmente init.
Sua funo bsica carregar os servios durante o processo de carga do sistema, tais
como o suporte a rede, multiusurios, apache, mysql, e demais servios da mquina.
Durante o processo de carga do Linux, o sistema de boot (GRUB) carrega a imagem do
kernel para a memria. Assim que o Kernel assume o controle da mquina, ele carrega
um programa especial chamado init e que sempre tem o PID 1.
A partir da, todos os outros processos executados na mquina so filhos do processo
init, que tem o PID 1.
Isso porque, quando o usurio executa um programa, o kernel faz uma cpia do init
atravs de um mtodo chamado FORK e carrega o cdigo de mquina do programa
desejado em cima do cdigo de mquina do clone do init que foi criado.
Voc pode ver essa relao com o comando pstree:
# pstree
C e r t i f i c a o L i n u x
58
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Runlevels
No Linux existem sete nveis de execuo predefinidos de 0 a 6. Os servios que cada
runlevel pode executar vo depender da distribuio do Linux e da configurao que
o administrador do sistema efetuou.
TABELA 2 - Runlevels do Linux
Runlevel Descrio
0 O nvel zero defne um desligamento elegante e rpido do sistema.
1,s,single O nvel um utilizado para manuteno do sistema, tambm chamado de monousurio (single user). So-
mente o essencial executado.
2 Modo multiusurio com compartilhamento de arquivos NFS desabilitado.
3 Modo multiusurio com todos os servios habilitados, mas sem interface grfca para o login no sistema.
4 No utilizado.
5 Modo multiusurio com todos os servios habilitados, interface grfca X11 e login em modo grfco.
6 O nvel seis parecido com o nvel zero, mas executa o reboot da mquina.
Por padro, as distribuies utilizam o nvel 0 para uma sequncia de desligamento
(shutdown) elegante e o nvel 6 para o reboot. E os runlevels 3 a 5 so utilizados para
carga normal do sistema.
O nvel 1 tambm conhecido como monousurio utilizado para manutenes do
sistema, como, por exemplo, recuperar uma partio de dados com problemas.
O administrador do sistema pode a qualquer momento alterar o nvel de execuo
atravs do comando init seguido do nmero do runlevel desejado.
# init 5
ou
# telinit 6
O comando telinit um link para o init.
importante saber que a troca de nvel de execuo pode alterar os processos em exe-
cuo e at desligar o sistema.
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
59
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Definindo Quais Processos Sero
Executados por Cada runlevel
At agora aprendemos que o comando init pode alterar os processos em execuo
alterando os runlevels do sistema. Mas a definio de quais processos sero exe-
cutados por cada nvel de execuo feita pela hierarquia de diretrios /etc/rc.d e
scripts de shell.
Quando o Linux inicia, uma srie de scripts no diretrio /etc/rc.d executada para dar
a carga no sistema. Vejamos estes arquivos e diretrios com detalhe:
O arquivo rc.sysinit executado pelo processo init durante a carga do sistema e
habilita funes essenciais. Por exemplo montar as parties de disco;
O arquivo rc.local executado pelo script rc.sysinit. Ele utilizado pelos adminis-
tradores para eles modificarem os servios na carga do sistema. Este arquivo tem
preferncia para esta tarefa uma vez que no alterado durante um processo de
atualizao (upgrade) do sistema;
O arquivo rc utilizado para transies entre os runlevels;
O diretrio /etc/rc.d/init.d contm os diversos scripts que fazem a carga de todos os
servios do sistema operacional. Por exemplo o servio de shell seguro SSH possui
um script para carga do servio com o nome sshd (Secure Shell Daemon). Este
script e outros scripts podem aceitar como parmetro comandos como start e stop.
Outros servios podem aceitar outros comandos como reload, restart, status etc.
Os nveis de servio so definidos atravs dos diretrios /etc/rc<n>.d, onde <n>
pode variar de 0 a 6, correspondendo aos runlevels.
Por exemplo /etc/rc0.d e /etc/rc1.d. Dentro da cada diretrio de runlevel existem links sim-
blicos para os scripts dos servios nos arquivos em /etc/rc.d/init.d.
Estes link simblicos seguem o seguinte padro:
[K|S]nn[nomedoscript]
Onde:
A letra K, de kill, indica que o script para terminar um determinado servio;
C e r t i f i c a o L i n u x
60
w w w . e d i t o r a n o v a t e r r a . c o m . b r
A letra S, de start, indica que o script para carregar um determinado servio;
Os nmeros inteiros nn indicam a sequncia de execuo dos scripts, onde o me-
nor nmero executado primeiro. Se existirem no mesmo runlevel servios com o
mesmo nmero de ordem de execuo, a ordem ser indeterminada. A sequncia
dos nmeros garante que um servio que dependa de outro somente seja executado
depois que a dependncia seja satisfeita;
O nome do script para o link simblico no necessrio para o funcionamento cor-
reto, mas para facilitar a leitura humana.
Por exemplo:
# /etc/rc.d/rc3.d/S23httpd -> /etc/rc.d/init.d/httpd
Para incluir um determinado servio em algum runlevel desejado, voc dever copiar
o script de carga para o diretrio /etc/rc.d/init.d e criar um link simblico para o script
no runlevel desejado seguindo a nomenclatura acima.
Veja o exemplo:
# cp /usr/local/mailman/mailman.sh /etc/rc.d/init.d
# ln s /etc/rc.d/init.d/mailman.sh /etc/rc.d/rc3.d/S25mailman
Definindo o Runlevel Padro
O arquivo que define qual o runlevel que o sistema assumir durante a carga o /etc/
inittab. Neste arquivo procure a linha:
id:n:initdefault
Onde o n definir o runlevel pelo seu nmero de 0 a 6. Nunca coloque neste arquivo
o runlevel 0 ou 6 seno o sistema nunca entrar em produo.
Voc poder determinar em qual runlevel o sistema est em execuo atravs do co-
mando runlevel. Este comando retorna o nvel de execuo anterior e o nvel de exe-
cuo atual. Se o nvel de execuo permaneceu inalterado desde a carga do sistema,
o nvel anterior ser mostrado como a letra N.
O comando runlevel no altera o nvel de execuo, mas somente informa.
Para alterar utilize o comando init.
MENU
NOTA
DICA
ATENO
CUIDADO
PRATIQUE
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
61
w w w . e d i t o r a n o v a t e r r a . c o m . b r
O Linux ainda possibilita que o desligamento do sistema possa ser o mais elegante
possvel atravs do comando shutdown.
Shutdown
Uso:
# shutdown [opes] horrio [mensagem]
O comando shutdown utilizado para desligar ou reiniciar o sistema com horrios
determinados. Durante este procedimento, ele desabilita o sistema de login para im-
pedir que novos usurios entrem no sistema e envia mensagens personalizadas nos
terminais para todos os usurios conectados avisando que o sistema ser desligado.
As opes mais frequentes so:
-r Reinicia (reboot) o sistema depois de terminada a sequncia de desligamento;
-h Paralisa (halt) o sistema depois de terminada a sequncia de desligamento.
No reinicia a mquina;
-k Manda a mensagem de desligamento, mas no inicia a sequncia de
desligamento;
-f Faz a carga de sistema rpida sem a checagem de discos;
-F Fora uma checagem dos discos quando for reiniciar o sistema.
Para reiniciar o sistema imediatamente:
# shutdown r now
Para reiniciar o sistema as 06h da manh e enviar mensagem no terminal dos usurios:
# shutdown r 06:00 Haver troca de hardware
Para desligar o sistema em 10 minutos:
# shutdown h 10
A diferena entre trocar o runlevel para 0 ou 6 e o comando shutdown que o
comando shutdown administrativamente melhor, pois avisa os usurios que ha-
ver uma parada no sistema. J para a troca de init no h nenhum tipo de aviso.
MENU
NOTA
DICA
ATENO
CUIDADO
PRATIQUE
C e r t i f i c a o L i n u x
62
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Desvantagens do System V init Daemon
Embora o System V init Daemon seja um sistema robusto e utilizado no Kernel 2.4, ele
tem srias desvantagens, tais como:
Monitoramento dos servios (daemon) em execuo limitado, gerando processos
zombies;
O reincio de servios que pararam de funcionar problemtico;
Paralelismo complicado.
Systemd
Devido a vrias limitaes do init, outro sistema especial de controle dos processos de
boot e gerncia da execuo dos programas foi criado e denominado systemd.
Este novo sistema j amplamente utilizado nas distribuies mais conhecidas, espe-
cialmente no Kernel 2.6. Sua principal vantagem a carga do sistema de forma mais
rpida, executando os servios e processos em paralelo. Isso foi possvel com a chega-
da dos novos processadores dotados de multiplos ncleos, que permitem a execuo
de diversas threads em paralelo.
Entre as novidades do systemd, esto:
Ativao via socket e bus (executa os servios sob demanda);
Melhor paralelizao dos processos;
Uso de cgroups (control groups grupos de controle) ao invs de PIDS;
Suporta criao de imagens de estado de memria para salvar e restaurar estados
de execuo.
O sistema de controle de grupos permite que o systemd supervisione os processos, de
forma a garantir que, quando um servio parado, todos os processos filhos, netos,
bisnetos etc. tambm sejam parados.
Com um gerenciamento mais robusto, mais ciclos de CPU so necessrios para a cria-
o de novos processos. Mas devido ao alto desempenho dos processadores, isto no
parece ser um problema para o systemd.
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
63
w w w . e d i t o r a n o v a t e r r a . c o m . b r
No systemd, a carga de processos, mudana de runlevel e scripts de carga so bem
diferentes do init.
Para verificar o status de um servio:
# systemctl status cron.service
cron.service - Command Scheduler
Loaded: loaded (/lib/systemd/system/cron.service; enabled)
Active: active (running) since Mon, 28 May 2012 18:09:57
-0300; 7min ago
Main PID: 673 (cron)
CGroup: name=systemd:/system/cron.service
+ 673 /usr/sbin/cron -n
Para parar um servio:
# systemctl stop cron.service
Veja o status do servio quando parado:
# systemctl status cron.service
cron.service - Command Scheduler
Loaded: loaded (/lib/systemd/system/cron.service; enabled)
Active: inactive (dead) since Mon, 28 May 2012 18:18:26 -0300;
27s ago
Main PID: 673 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/cron.service
Para iniciar um servio:
# systemctl start cron.service
Para reiniciar um servio:
# systemctl restart cron.service
Para habilitar um servio durante a carga do sistema:
# systemctl enable cron.service
Para desabilitar um servio durante a carga do sistema:
# systemctl disable cron.service
Para mudar o runlevel para o modo texto (runlevel 3)
# systemctl isolate multi-user.target
C e r t i f i c a o L i n u x
64
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Para mudar o runlevel para o modo grfico (runlevel 5)
# systemctl isolate graphical.target
Alterar o runlevel padro:
1) Apagar o link simblico:
# rm /etc/systemd/system/default.target
2) Para colocar o runlevel3 como padro:
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/
default.target
Upstart
O Upstart o substituto do init criado pelo Ubuntu. Sua funo substituir o processo
de init durante a carga dos servios no boot e na execuo dos processos, assim como
o init e o systemd.
Foi criado usando a biblioteca NIH Utility Library que bem leve e rpida. Tem me-
lhorias considerveis em relao ao init, mas no to robusto quanto o systemd.
Para iniciar um servio:
# start servio
Para parar o servio:
# stop servio
Para ver o status do servio:
# status servio
As diretivas start / stop / status so na verdade atalhos para o comando initctl.
Seu tempo limitado, ento no o desperdice vivendo a vida de outra pessoa. No
fque preso pelo dogma que viver pelos resultados do que outras pessoas pensam.
No deixe o rudo da opinio dos outros afogar a sua voz interior. E o mais importante,
tenha a coragem de seguir seu corao e sua intuio. Eles de alguma forma j sabem
o que voc realmente quer se tornar. Tudo o mais secundrio.
Discurso de iniciao em Stanford, 2005
Steve Jobs
T p i c o 1 0 1 : A r q u i t e t u r a d e H a r d w a r e
65
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Para iniciar um servio:
# initctl start servio
Para parar o servio:
# initctl stop servio
Para ver o status do servio:
# initctl status servio
Para listar os servios:
# initctl list
control-alt-delete stop/waiting
rc stop/waiting
rc-sysinit stop/waiting
rcS stop/waiting
tty1 start/running, process 4418
tty2 start/running, process 7367
tty3 start/running, process 7368
Para ver qual o runlevel em execuo:
$ runlevel
N 2
Para alterar o runlevel em execuo, o comando o mesmo do system v:
# telinit 3
O mesmo vale para os comandos reboot e shutdown.
Para mudar o runlevel padro no momento de carga do sistema, deve-se alterar o ar-
quivo /etc/init/rc-sysinit.conf
DEFAULT_RUNLEVEL=3
No Upstart o arquivo /etc/inittab no mais utilizado.
MENU
NOTA
DICA
ATENO
CUIDADO
PRATIQUE
C e r t i f i c a o L i n u x
66
w w w . e d i t o r a n o v a t e r r a . c o m . b r
Os scripts de configurao dos servios do Upstart ficam no /etc/init e se baseam no
padro sysvinit do Debian.
O formato bsico :
script
# faz alguma coisa
if [ ... ]; then
...
fi
end script
A melhor cura para o amor ainda aquele
remdio eterno: amor retribudo.
Nietzsche

Vous aimerez peut-être aussi