Escolar Documentos
Profissional Documentos
Cultura Documentos
DE GRADUAO - TICS
SISTEMAS OPERACIONAIS
Jos Antnio Oliveira de Figueiredo
Ministrio da
Educao
2012/1
Produzido pela Equipe de Produo de Material Didtico da Universidade Aberta do Brasil do Instituto Federal Sul-rio-grandense TODOS OS DIREITOS RESERVADOS
INSTITUTO FEDERAL SUL-RIO-GRANDENSE UNIVERSIDADE ABERTA DO BRASIL Programa de Fomento ao Uso das TECNOLOGIAS DE COMUNICAO E INFORMAO NOS CURSOS DE GRADUAO - TICS
PRESIDNCIA DA REPBLICA
Dilma Rousseff
PRESIDENTE DA REPBLICA FEDERATIVA DO BRASIL
MINISTRIO DA EDUCAO
Fernando Haddad
MINISTRO DO ESTADO DA EDUCAO
Janete Otte
PR-REITORA DE DESENVOLVIMENTO INSTITUCIONAL
Odeli Zanchet
PR-REITOR DE ENSINO
PROGRAMA DE FOMENTO AO USO DAS TECNOLOGIAS DE COMUNICAO E INFORMAO NOS CURSOS DE GRADUAO TICs
Raquel Paiva Godinho
GESTORA DO EDITAL DE TECNOLOGIAS DE INFORMAO E COMUNICAO TICS/IFSUL
Denise Zarnottz Knabach Felipe Rommel Helena Guimares de Faria Lucas Quaresma Lopes Tabata Afonso da Costa
EQUIPE DE DESIGN
Anderson Hubner da Costa Fonseca Carlo Camani Schneider Efrain Becker Bartz Jeferson de Oliveira Oliveira Mishell Ferreira Weber
EQUIPE DE PROGRAMAO PARA WEB
Sitemas Operacionais
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
SUMRIO
CONTENTS GUIA DIDTICO ____________________________________________________________________________________________________9 UNIDADE A - INTRODUO, HISTRICO E TIPOS DE SITEMAS OPERACIONAIS ________________________ 13
Introduo ______________________________________________________________________________________________________________ 15 Histria __________________________________________________________________________________________________________________ 16 Tipos de Sistemas Operacionais _____________________________________________________________________________________ 19 Sntese ___________________________________________________________________________________________________________________ 21 Atividades _______________________________________________________________________________________________________________ 21
Sitemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
SUMRIO
Guia Didtico
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
GUIA DIDTICO
GD
APRESENTAO
A disciplina est dividida em duas partes, subdivididas em diversas unidades. Na primeira parte, estudaremos a parte operacional do sistema e, na segunda, o funcionamento e a arquitetura conceitual de funcionamento do sistema operacional. As unidades foram planejadas para que o voc possa conhecer a fundamentao terica necessria e testar ou verificar o funcionamento do objeto estudado na prtica. Nossos laboratrios foram planejados e testados em mquina virtual - evitando a necessidade de se ter mais que um computador disposio. Bom trabalho! Ao final desta disciplina o aluno ser capaz de instalar e configurar um sistema operacional, alm de compreender os mecanismos de funcionamento dos sistemas operacionais modernos.
Objetivo Geral
Habilidades
Conhecer e instalar Sistemas Operacionais; Gerenciar um sistema operacional, no que tange ao gerenciamento de programas; gerenciamento de arquivos; gerenciamento de usurios de grupos; Compreender os servios que permitem a interoperabilidade; Entender o conceito de processo e multiprogramao; Compreender a funo do escalonador; Compreender os mecanismos de gerencia de memria; Compreender os sistemas de arquivos e suas diferenas; Compreender os sistemas de gerenciamento de I/O;
A disciplina ser desenvolvida em 100 horas atravs do Ambiente Virtual de Aprendizado Moodle, onde sero disponibilizados materiais a serem estudados para subsidiar a aprendizagem. O Moodle ser o canal de comunicao direto entre discentes e tutores, com as seguintes possibilidades de interao:
Metodologia
Disponibilizar aos discentes as tarefas a serem realizadas. Publicar os materiais de apoio e de leitura complementar. Acompanhar o desempenho dos discentes em relao s atividades propostas. Interagir com a turma atravs de frum de discusso, salas de chat e correio eletrnico. Acessar e avaliar as tarefas realizadas pelos discentes. Estimular o trabalho cooperativo entre os discentes. Promover o estudo e o exerccio prtico autnomo. Acompanhar a frequncia de acesso ao ambiente pelos discentes. Acessar links interessantes e relacionados ao curso.
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Primeira Semana
Segunda Semana
1. Leitura e estudo do contedo: Introduo, histrico e tipos de Sistemas Operacionais. 2. Participao no frum de discusso proposto.
Terceira Semana
1. Leitura e estudo do contedo: Instalao de sistema operacional e gerenciamento de usurios 2. Assistir a vdeo aula: Instalao de um sistema operacional. 3. Atividade prtica: instalao e configurao de usurios em um sistema operacional.
Quarta Semana
1. 2. 3. 4.
Assistir animao: Porque gerenciar arquivos e suas permisses. Leitura e estudo do contedo: Gerenciamento de arquivos. Atividade prtica: Manipulao de arquivos e diretrios. Participao no frum para soluo de problemas da atividade prtica.
Quinta Semana
1. 2. 3. 4.
Assistir animao: Porque gerenciar pacotes. Leitura e estudo do contedo: Gerenciamento de pacotes Atividade prtica: Instalao/testes/remoo de programas Participao no frum para soluo de problemas da atividade prtica.
Sexta Semana
1. Leitura e estudo do contedo: Interoperabilidade e Antivrus 2. Atividade prtica: Instalao e configurao de programas para interoperabilidade 3. Participao no frum para soluo de problemas da atividade prtica.
Stima Semana
1. Atividade presencial
Assistir animao: Animao mostrando o abrir e fechar programas. Leitura e estudo do contedo: Multiprogramao. Atividade prtica: Criao/Destruio e gerenciamento de processos Participao no frum para soluo de problemas da atividade prtica.
10
Guia Didtico
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Dcima Semana
1. Assistir animao: Animao mostrando diversos programas abertos em um sistema, buscando chamar a ateno para o comportamento do processador 2. Leitura e estudo do contedo: Gerenciamento do processador 3. Atividade prtica: Manipulao de prioridade de processos 4. Participao no frum para soluo de problemas da atividade prtica.
1. Assistir animao: Animao mostrando diversos programas abertos em um sistema, buscando chamar a ateno para o comportamento da memria 2. Leitura e estudo do contedo: Gerenciamento de memria 3. Atividade: Exerccio sobre gerenciamento de memria.
Assistir animao: Animao sobre manipulao de arquivos. Leitura e estudo do contedo: Gerenciamento de arquivos. Atividade prtica: Programao com manipulao de arquivos. Participao no frum para soluo de problemas da atividade prtica.
Assistir animao: Animao sobre utilizao de dispositivos de I/O Leitura e estudo do contedo: Gerenciamento de I/O Atividade prtica: Instalao de driver de dispositivo Participao no frum para soluo de problemas da atividade prtica.
Referncias:
FERREIRA, Rubem E. Linux: Guia do Administrador do Sistema. So Paulo: Novatec, 2003. OLIVEIRA, Rmulo Silva de; CARISSIMI, Alexandre da S.; TOSCANI, Simo Sirineo. Sistemas operacionais. 3. ed.Porto Alegre : Bookman ; UFRGS, 2008. TANENBAUM, Andrew S. Sistemas operacionais modernos. 2.ed. So Paulo: Pearson Prentice Hall, 2003. BATTISTI, Jlio. Windows Vista: curso completo. Rio de Janeiro: Axel Books, 2007. SIEVER, Ellen; et al. LINUX : guia essencial. Traduo Joo Tortello. 5.ed. Porto Alegre: Bookman, 2006.
11
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Currculo Professor-Autor
Bacharel em Cincia da Computao pela Universidade de Passo Fundo (2004) e Especialista em Educao a Distncia (2010). Atualmente professor titular do Instituto Federal de Educao, Cincia e Tecnologia Sul-Rio-Grandense. Possui larga experincia profissional em TI com nfase em sistemas operacionais, infraestrutura de TI, tendo atuado principalmente nos seguintes temas: softwares para engenharia clnica, software mdicos, imagens mdicas, infraestrutura de TI e redes de computadores. Trabalhando atualmente com computao em dispositivos mveis na plataforma Android.
<http://lattes.cnpq.br/8031243494666833>
12
Unidade A
Sistemas Operacionais
Unidade A
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
Introduo
O sistema operacional oferece ao usurio uma abstrao simplificada do hardware, ou seja, facilita e viabiliza seu uso. Para que isto seja possvel, o sistema operacional atua gerenciando todo o hardware disponvel dentro deste computador seja ele um simples PC ou um supercomputador da lista TOP500. Existem diversos sistemas operacionais disponveis para se trabalhar e o funcionamento de todos semelhante, do ponto de vista conceitual, mas diferente do ponto de vista de implementao. Em outras palavras o desenvolvedor A desenvolve um sistema operacional de um jeito a, enquanto o desenvolvedor B desenvolve um sistema operacional do jeito b. Ambos fazem a mesma coisa mas de formas diferentes.
Se prestarmos ateno ao usarmos um computador, perceberemos que normalmente fazemos uso de aplicaes tambm conhecidos como programas. Estas aplicaes NO SO o sistema operacional e sim programas que rodam sobre ele. Este conceito de camadas pode ser visualizado na figura A.1.
Quando pensamos em desenvolvimento ou estudo de um sistema operacional, precisamos considerar qual a abstrao que estamos fazendo, ou seja, por qual ponto de vista estamos analisando.
Viso de estudo
Um computador um conjunto, normalmente complexo de hardwares e perifricos, interconectados. Para fazer com que esta monte de hardware funcione, precisamos de um software que faa um gerenciamento eficiente destes recursos. Veja na citao abaixo a funo do sistema operacional como um gerente recursos.
O gerente de recursos
o trabalho do sistema operacional oferecer uma alocao ordenada e controlada dos por eles [Tanenbaum, 2010, p19].
processadores, das memrias e dos dispositivos de E/S entre os vrios programas que competem
15
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Um computador um conjunto, normalmente complexo de hardwares e perifricos, que trabalha em uma linguagem bastante complexa. Para que pudssemos fazer uso eficiente e produtivo deste computador precisaramos conhecer as linguagens de mquina de cada dispositivo (processador, hd, disquetes, etc). Desta forma, precisamos do sistema operacional para fazer a traduo de toda esta linguagem de mquina para uma linguagem que seja humanamente possvel de se trabalhar. Veja a citao abaixo:
A mquina virtual
o sistema operacional esconde do programador o hardware e tambm oculta muitas coisas desagradveis relacionadas com interrupes, temporizadores, gerenciamento de memria e outros recursos de baixo nvel [Tanenbaum, 2000. p 19].
De forma mais conceitual um sistema operacional pode ser definido como uma camada de software colocada entre o hardware e os programas que executam tarefas para os usurios [Oliveira, 2008, p 1].
Conceituando
Kernel ou ncleo do sistema operacional o local onde ocorre todo processamento pesado de um SO e via de regra, ns enquanto usurios (programadores ou no) no temos acesso a esta rea. Para que se possa trabalhar, faz-se necessrio uma interface de comandos que poder ser em modo grfica ou modo texto.
Kernel
a)
modo texto: ambiente em que temos apenas uma shell tambm conhecido como prompt de comandos. Neste modo, toda manipulao feita por comandos digitados e executados pelo teclado. No h botes ou mouse. A shell largamente conhecida em sistemas operacionais Unix-like.
b)
Salientamos que tanto a shell quanto o ambiente grfico no fazem parte do kernel. Funcionam como uma aplicao que roda sobre o ncleo do sistema. Este conceito pode ser visto na figura A.2 que mostra um ambiente muito comum para sistemas operacionais da famlia GNU/Linux, em que podemos escolher qual ambiente grfico ou shell nos adequamos mais.
modo grfico: ambiente em que interagimos com o computador em um ambiente de trabalho grfico, com botes, cones, normalmente atravs de um mouse. Este ambiente se popularizou com os sistemas operacionais da famlia Windows. Outros sistemas, inclusive Unix-like, tambm dispunham deste modo de trabalho.
Desde Charles Babbage (1792-1871) at os dias atuais, os computadores e os sistemas operacionais tem passado por evolues e revolues significativas. Nesta parte deste artigo, iremos apresentar um pouco desta evoluo.
Histria
16
Unidade A
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Saiba mais:
<http://pt.wikipedia.org/wiki/Charles_Babbage>; <http://pt.wikipedia.org/wiki/Ada_Lovelace>
Os computadores de primeira gerao no tinham um sistema operacional propriamente dito. A sua programao (e utilizao) era feita diretamente por cabos e conexes ou seja, o programador precisava conhecer a linguagem de mquina do computador em questo. O principal representante desta gerao de computadores o Eniac. No final da dcada de 50, estes programas passaram a ser gravados em cartes perfurados, permitindo ao programador executar seus programas com mais facilidade. Com o surgimento do transistor, os computadores reduziram de tamanho e passaram a ser fabricados e vendidos somente grandes empresas poderiam adquirir sistemas deste tipo. Os programas eram escritos em papel e registrados em cartes perfurados que poderiam ser lidos e executados diversas vezes pelos computadores. Mas para executar os programas criados, algum deveria inserir os cartes (na sequncia correta) o computador ento fazia seus clculos e o resultado era impresso e entregue ao programador novamente.
17
Ainda nesta gerao, algumas modificaes foram feitas para otimizar o tempo de mquina desocupada, dando origem ao sistema de processamento em lote (batch system) termo que usado at hoje em determinados tipos de programas.
Sistemas Operacionais
O processamento em lote:
programador escreve o programa e grava em cartes perfurados; cartes so lidos por um computador barato IBM-1401 e gravados em fita magntica; operador rebobina a fita magntica e leva at o computador caro IBM-7094 onde o programa ento executado; Os resultados obtidos com esta computao so gravados em outra fita magntica e levados a outro IBM-1410 onde os dados so lidos e impressos; resultado entregue ao programador.
Nestes sistemas de computao as funes do sistema operacional acabam sendo executadas pelo operador de mquina, que faz o controle dos cartes, fitas e resultados.
Nesta poca, a eletrnica havia melhorado bastante e os transistores sofreram uma drstica miniaturizao, sendo desenvolvidos em circuitos integrados, causando uma melhoria significativa no desenvolvimento de hardware de comutadores. Desta foram as grandes empresas desenvolveram maquinas mais elaboradas como o 360 da IBM, que tinha pretendia ser uma mquina que atendesse desde grandes clculos cientficos at clculos comerciais. Estes equipamentos no chegaram a dominar o mercado, mas importantes conceitos da computao atual foram incusos no hardware/sistema operacional como por exemplo a multiprogramao e o compartilhamento de tempo.
Circuito Integrado
Saiba mais:
<http://pt.wikipedia.org/wiki/Circuito_integrado>
Nesta poca um consrcio de gigantes como o MIT, Bell Labs e General Eletrics procuraram desenvolver um audacioso sistema de computao centralizada designado por MULTICS. O conceito era ter um sistema computadorizado central, que atendesse simultaneamente (por compartilhamento de tempo) centenas de usurios espalhados. Este modelo era inspirado no sistema de distribuio eltrica, em que voc conecta um aparelho na tomada e usa. O objetivo era prover servio de computao a toda uma cidade. O projeto no deu certo, mas introduziu centenas de conceitos importantssimos computao atual.
18
Unidade A
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Paralelamente ao gigante MULTICS, micro-computadores foram surgindo no mercado de circuito integrados de menor custo como o PDP-1 da empresa DEC. Ainda no fim da dcada de 60, Ken Tompson, cientista da computao (aqui j existiam profissionais de TI) e participante do projeto MULTICS, desenvolveu uma verso monousurio e simplificada deste, que mais tarde daria origem ao UNIX. Como a tecnologia eletrnica avanava a uma velocidade fantstica, surgiu a tecnologia LSI (Large Scale Integration), que possibilitava construir chips com milhares de transistores. Com estes chips, agora em placas de circuito bem menores que nas geraes anteriores, alguns desbravadores iniciaram a saga do computador pessoal e dos sistemas operacionais.
Destacam-se a empresa Microsoft, com o sistema operacional MS-DOS em processadores da famlia x86 da Intel; e a empresa Apple com o sistema operacional MacOS maquinas Macintosh com processadores PowerPC da Motorola.
Saiba mais:
Sistemas operacionais desta gerao de maquinas, denominados computadores pessoais buscam ter uma interface amigvel e serem de fcil utilizao at porque so direcionadas um pblico que normalmente no da rea de TI. No entanto os sistemas operacionais de grande porte, para mquinas com maior poder de processamento, continuaram a evoluo e tambm tem sua fatia de mercado. Dado a diversidade de sistemas operacionais disponveis no ramo de TI, as vezes torna-se necessrio fazer uma classificao destes sistemas, que facilite a uma especificao para algum equipamento.
A classificao no determinante, embora facilite o entendimento de alguns aspectos relacionados sistemas operacionais.
19
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
So sistemas operacionais dedicados a supercomputadores utilizados normalmente para aplicaes cientficas, como simulaes e clculos avanados.
Supercomputadores
Saiba mais:
<http://www.top500.org/lists/2010/11 >
So os sistemas operacionais para computadores de grande porte tipo mainframe. Mquinas deste tipo so encontradas em grandes corporaes para processamento de grandes quantidades de dados. Ex: BANRISUL
Grande porte
So os sistemas operacionais para mquinas com alto desempenho orientadas a aplicaes de mdias e pequenas empresas. So computadores facilmente encontrados no mercado, normalmente baseadas na plataforma x86.
Servidores
So os sistemas operacionais para mquinas com desempenho normal e orientadas a aplicaes residenciais. Normalmente baseadas na plataforma x86, podendo ser multiprocessados ou no.
Computadores pessoais
So os sistemas operacionais para mquinas de baixo desempenho, normalmente com uma funo bem definida como por exemplo celulares ou microcontrolados em geral.
Sistemas Embarcados
20
Unidade A
Sntese
o sistema operacional um programa de certa complexidade, responsvel pelo controle (que precisa ser eficiente) de todo o hardware disponvel no computador alm de servir de interface amigvel para o usurio; viso top-down: ver o sistema operacional como mquina virtual que esconde a verdade sobre hardware do usurio/programador. Viso bottom-up: ver o sistema operacional como um gerente de recursos que aloca de forma eficiente e ordenada todos os recursos que um computador possui; Primeira gerao: computadores gigantes, baseados em vlvulas. No h sistemas operacionais operao/programao diretamente nos cabos e conexes; Segunda gerao: computadores mdios com baixo poder de processamento, baseados em transistores; No h sistemas operacionais - figura do operador que faz o transporte das fitas; operao/programao por cartes perfurados/fita magntica; princpios ainda vigentes como execuo em lote; fila de entrada, etc. Terceira gerao computadores de vrios tamanhos baseados em circuitos integrados; boom da informtica; surgimento de diversos sistemas operacionais e conceitos fundamentais projeto MULTICS primeira verso UNIX; IBM OS/360 multiprogramao, timesharing, Quarta gerao gerao do PC baseado em LSI melhoramento da usabilidade do sistema operacional surgimento da Apple, Microsoft e outras grandes empresas e produtos
Atividades
1. Como primeira atividade relacionada a nossa disciplina, faa um relato no frum da unidade sobre a sua experincia com um sistema operacional antigo preferencialmente o mais antigo que voc tenha usado. Alm disso, acompanhe neste mesmo frum os relatos dos colegas e comente-os.
Procure relatar sobre dificuldades, problemas, facilidades, as novidades trazidas na poca...
21
Unidade B
Sistemas Operacionais
Unidade B
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
Introduo
Nesta unidade faremos um estudo sobre os processos e procedimentos envolvidos em uma instalao de um um sistema operacional. Alm da instalao, sero vistos os procedimentos de gerenciamento de usurios. Para este fim, ser utilizado o Sistema Operacional Debian GNU/Linux, licenciado sobre GPL e considerado um sistema operacional universal.
Para iniciar, o computador precisa bootar1 (l se butar) e BOOT um termo usado para designar a carga de qualquer sistema operacional em um hardware.
Processo de BOOT
Aps os testes iniciais executados pelo POST Power On Self Test do hardware, o computador procura por uma unidade com flag de inicializao (boot), esta unidade poder ser um HDD; um CD/DVD; um bom e velho disquete ou at mesmo as recentes pendrives. Nestas unidades de disco, devero conter pelo menos um programa instalador, que funcionar como um wizard, orientando a instalao do sistema operacional. Vale salientar que cada fabricante/distribuidor de sistema operacional cria e distribui seu prprio instalador, desta forma, sempre encontraremos diferenas e particularidades entre estes programas. No entanto, os passos elementares sero sempre muito semelhantes. Para que o boot seja possvel, o computador precisa ser informado quais so as provveis unidades de inicializao esta configurao feita no setup2. Hardware Manual Completo, Carlos Morimoto, disponvel em:
1. Outros termos usados : dar boot, inicializar 2. Tambm conhecida por BIOS;
Saiba mais:
<http://www.hardware.com.br/livros/hardware-manual/configuracao-bios-setup.html>
25
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Ao encontrar o disco inicializvel, o computador carrega este boot e iniciar os passos da instalao
Todos os procedimentos deste curso sero executados em mquina virtual. Caso sejam feitos em um computador real, lembre-se de fazer uma cpia de segurana de seus dados particulares. Para fazer esta instalao ser necessrio o uso de um disco de instalao do Debian 6 codinome Squezze que pode ser baixado do site do projeto. Diversos meios de obteno do Debian esto disponveis mas sugerimos que seja baixado e gravado pelo menos o DVD-1. Maiores informaes em: <http://www.debian.org/distrib/> - sugerimos que seja utilizado o DVD.
Ateno:
Dicas:
Instalao
Requisitos para instalao
Disco de instalao do Debian; Mquina virtual criada
Selecione o DVD como unidade de boot preferencial, para isso, durante a tela de inicializao (figura B.1) pressione a tecla ESQ para menu de boot - aqui vamos precisar de bastante reflexo porque esta tela passa rpido.
Primeiros passos
Aps isto, conforme pode ser visto na figura B.2, escolhemos o CDROM como origem de boot e tecle enter.
26
Unidade B
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Aps o boot, a mquina inicializada pelo disco de instalao do Debian apresentando a tela para escolha modo de instalao figura B.3. Na tela so apresentados dois modos de instalao e opes avanadas. Neste material, usaremos o mtodo normal (Install), at porque o mtodo de instalao grfica (Graphical install), apesar de ser mais intuitivo mas bem mais pesado.
Aps o boot
As prximas telas iro coletar algumas informaes que definiro diversas caractersticas do sistema:
Escolha de lngua: onde escolhemos Portugus do Brasil; a partir deste momento todas as mensagens e textos estaro em portugus no deixe de ler; Escolha da localidade: onde escolhemos Brasil; Escolha de teclado: onde normalmente escolhemos Portugus Brasileiro (ANBT) para teclados com tecla ;
27
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Aps a coleta de informaes sobre sua localidade, lngua e correlatos, ser necessrio fazer a configurao de rede que poder ser usada durante a instalao do sistema operacional. O instalador tentar fazer a configurao automtica da rede.
Configurando a rede
Caso a configurao automtica de rede falhe, sera apresentada uma mensagem de falha e a seguir um questionamento, conforme figura B.4, se a configurao dever ser feita manualmente.
Como estamos fazendo uso de um DVD de instalao, o qual contm todos os pacotes que iremos necessitar, no precisamos configurar a rede neste momento. Podemos escolher a opo No configurar a rede agora. Se a configurao automtica funcionou, o instalador entrar diretamente na tela de escolha de nome de computador (figura B.5) e domnio, onde iremos definir qual ser o nome do nosso computador na rede e domnio de rede aqui, poderemos aceitar a sugesto do instalador debian e localdomain, j que estas informaes no iro interferir em nenhuma caracterstica do sistema.
A utilizao de rede permitir ao instalador baixar e instalar a verso atualizada de todos os pacotes, o que muito bom do ponto de vista de segurana e estabilidade do sistema instalado, contudo esta mtodo bastante demorado.
28
Unidade B
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Nesta etapa sero configurados os usurios mnimos do sistema que estamos instalando. Vale salientar que a distribuio Debian exige pelo menos dois usurios para funcionar. Um usurio que tem a funo de administrar o sistema conhecido como root e um usurio normal com qualquer nome.
Configurando usurios
A prxima tela, figura B.6, pede que seja escolhida uma senha para o usurio root. Esta senha dever ser confirmada na tela subsequente. (no mostrada aqui. O texto apresentado d algumas dicas de criao desta senha para que o sistema esteja mais protegido.
Um invasor mal intencionado poder tentar descobrir esta senha, por isso faa uso de uma senha forte alm de no esquec-la.
Aps a criao da senha do root, o instalador exige a configurao de pelo menos um usurio comum, que dever ser usado para operao normal do computador. So solicitados: nome completo do usurio, nome da conta e senha alm de sua confirmao. O sistema operacional precisar preparar uma rea do disco rgido para ficar instalado, alm de uma rea para dados de usurios. Chamamos este procedimento de particionamento e formatao do disco.
Particionamento
O instalador nos d uma gama bastante grande de opes de particionamento do disco, no entanto, faremos uso do mtodo mais simples. Vale lembrar que todos os dados contidos nos discos sero perdidos
Ateno:
Aqui dever ser escolhido o mtodo de particionamento a ser executado no ato da instalao. Os mtodos disponveis so:
a) Mtodo de particionamento:
29
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Assistido usar o disco inteiro: significa que usaremos o wizard de particionamento para o disco inteiro. Faremos uso deste mtodo; Assistido usar o disco inteiro e configurar LVM: significa usar todos os discos presentes no computador e configurar um Volume Lgico no abordado neste material; Assistido usar o disco inteiro e LVM criptografado: significa usar todos os discos presentes no computador e configurar um Volume Lgico com criptografai no abordado neste material; Manual: significa particionar o disco de forma manual no abordado neste material
Aqui selecionado o disco que iremos particionar. Como na nossa mquina virtual temos apenas um HD criado, verificamos que apenas um disco mostrado. Devemos escolher este disco.
b) Escolha de disco:
todos os arquivos em uma nica partio (para iniciantes) neste esquema apenas uma partio de uso geral criada. partio /home separada - separa em um partio especfica os dados de usurios no abordado neste material. parties /home, /usr , /var e /tmp separadas separa em vrias parties os dados de pastas especficas no abordado neste material.
Uma tela, figura B.7, mostrando as parties a serem criadas apresentada pedindo sua confirmao.
d) Finalizao:
Ainda uma nova tela apresentada perguntando se voc tem certeza que deseja particionar e formatar os discos. a ltima chance antes de desistir.
e) Confirmao:
30
Unidade B
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Aps o particionamento e formatao o instalador faz uma cpia para o disco de alguns pacotes bsicos, fundamentais para o novo sistema. Na sequncia, o instalador precisar saber se voc quer adicionar outro DVD lista de repositrios do sistema instalado (o Debian 6 composto por 8 DVDs, mas precisamos apenas do DVD 1).
Copiando pacotes
Alm disso, o instalador quer saber se voc ir fazer uso de espelhos de rede para atualizao de pacotes em tempo de instalao. Para isto, a rede dever estar funcionando adequadamente. Sugerimos que no seja usado nenhum espelho de rede para que a instalao no demore muito dependendo da velocidade da internet isto pode demorar bastante, j que so 1146 pacotes para verificar e atualizar. Feito as escolhas, o sistema apresenta uma tela para seleo de software figura B.8.
Aqui escolhemos que tipo de mquina teremos. A seleo feita com a barra de espaos e para o nosso sistema, devero ser selecionados pelo menos o primeiro Ambiente de trabalho grfico e a ltima Utilitrios standards do sistema. Tendo feito as escolhas o sistema comear a instalao, lembrando que se estivermos usando espelhos de rede esta instalao poder demorar bastante. Uma barra de progresso apresentada conforme a figura B.9.
Ao terminar a instalao dos 1146 pacotes, o instalador ir solicitar, conforme figura B.10, a instalao do carregador de inicializao GRUB. Este utilitrio o responsvel pelo boot (inicializao) do sistema
Finalizando a instalao
31
recentemente instalado logo, se o GRUB no for instalado, o sistema no ir bootar. Evidentemente, como qualquer outro utilitrio ou configurao do Debian, poder ser instalado/configurado posteriormente.
Sistemas Operacionais
Gerenciar usurios uma prtica muito importante em qualquer sistema operacional, pois isto garante que todos os usurios tero suas personalizaes e proteo dados. Alm disso, o uso correto dos usurios usurio comum para trabalho comum e root EXCLUSIVAMENTE para operaes de administrao incrementam a segurana do sistema.
Gerenciamento de usurios
De acordo com o manual do kernel, ncleo do sistema operacional nunca devemos usar o nome root em vo: Dont take the name of root in vain As operaes de gerenciamento de usurios so operaes de administrao de sistema, logo ser necessrio que voc esteja logado como root. No entanto, como premissa de segurana, o root no loga no ambiente grfico. Voc dever logar como usurio comum criado no momento da instalao, abrir um terminal e trocar para usurio root com o comando su. Guia Foca GNU/Linux, Captulo 12 - Comandos para manipulao de contas, disponvel em:
< http://www.guiafoca.org/cgs/guia/inic_interm/ch-cmdc.html>
Dicas:
Saiba mais:
Gerenciamento de usurios
O comando de criao de usurios o adduser, ele adiciona um usurio, cria sua pasta de dados e uma senha alm de outras informaes de usurio. Nos exemplos abaixo, so criados duas novas contas uma chamada maria e outra joao (observe que joao est sem acento porque uma conta de usurio e no o nome de uma pessoa).
Criando usurios
32
Unidade B
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
O comando de remoo de usurios userdel removo o usurio escolhido do sistema, podendo apagar tambm seus dados pessoais.
Removendo usurios
Grupos so um mecanismo de gerenciamento em que agrupamos usurios por afinidade ou caracterstica. Por exemplo, podemos ter um conjunto de usurios que pertenam a um grupo de professores e outro grupo de usurios que pertenam a um grupo de alunos. Alguns destes usurios podero pertencer a outros grupos. Este agrupamento de usurios ser necessrio para compreender o funcionamento do gerenciamento de permisses de arquivos da prxima unidade. Esta situao representada no desenho 11 em que temos um grupo de professores, um grupo de alunos e um grupo de pesquisa formado por um aluno e um professor.
Gerenciamento de grupos
O comando de criao de grupos addgroup cria um novo grupo no sistema. Todos os grupos criados esto vazios.
a) Criando Grupos
33
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
c) Removendo Grupos
# groupdel alunos
os grupos apagados sero removidos do sistema bem como todas as suas ligaes com os usurios.
Sntese
A instalao de qualquer sistema operacional moderno normalmente auto-guiada; As telas contm um texto explicativo que explica o que precisa ser feito; O gerenciamento de usurios muito importante para organizar e proteger um sistema; O root (tambm chamado de administrador) usurio especial, com poderes sobre todo o sistema nunca use o administrador para trabalho cotidiano, sob pena de poder danificar o sistema; adduser cria usurio; addgroup - cria grupo.
Atividades
1. Instalar o sistema operacional GNU/Linux - Debian 6.0 Squezze; 2. Criar os usurios aluno1, aluno2, professor1, professor2; 3. Criar os grupos alunos,professores, pesquisa; 4. Associar os usurios aos grupos correspondentes; 5. Associar os usurios aluno1 e professor1 ao grupo pesquisa; 6. Entregar no AVA: uma cpia do arquivo /etc/group.
34
Gerenciamento de Arquivos
Unidade C
Sistemas Operacionais
Unidade C
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
GERENCIAMENTO DE ARQUIVOS
O objetivo fim de um sistema informatizado a produo, auxiliar o trabalho de pessoas, viabilizar e agilizar processos, pesquisas, rotinas, etc. Em outras palavras, o computador precisa ser til e esta utilidade est fortemente ligada a manipulao de arquivos. O objetivo desta unidade compreender a estrutura e os mecanismos de manipulao de arquivos e diretrios de um sistema operacional Unix-like. Na unidade H sero vistos como o sistema operacional implementa um sistema de arquivos. Todos as explicaes e exerccios sero feitos focando o modo terminal de operao. Evidentemente, as mesmas atividades podem ser executadas no modo grfico, no entanto, no raramente nos deparamos com situaes em que no temos ambiente grfico a disposio para trabalho ou recuperao de algum sistema.
Introduo
A estrutura de dados que organiza os arquivos em um sistema Debian de rvore invertida, onde tudo vem de uma raiz e se expande entre NS (plural de n), que correspondem aos diretrios, e terminam em folhas, que correspondem aos arquivos. A figura C.1 procura representar esta rvore.
A rvore invertida
Vale salientar que a estrutura de diretrios de um sistema Unix-like segue uma lgica pr-definida (e bem definida) facilitando a organizao dos arquivos de sistema e arquivos de usurios, nesta organizao, os arquivos sero armazenados por afinidade ou semelhana de funo. Por outro lado esta estrutura no fechada se voc achar conveniente pode quebrar o padro e adaptar uma nova estrutura, mas faa isto com cuidado e principalmente no esquea o que foi feito. Na tabela 1 vemos uma estrutura convencional de diretrios do Debian.
37
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Diretrio
bin etc lib boot dev home mnt
Contedo
Bibliotecas compartilhadas essenciais e mdulos do kernel Contm pontos de montagem para mdias removveis Diretrio Home do usurio root Binrios essenciais do sistema Arquivos temporrios Dados variveis Hierarquia secundria
Ponto de montagem para montagem temporria de um sistema de arquivos Diretrio virtual contendo informaes do sistema (kernels 2.4 e 2.6) Diretrio Virtual contendo informaes do sistema (kernels 2.6)
Ao fazermos uso do Debian nossos arquivos de usurios ficaro armazenados sempre na pasta de arquivos pessoais do usurio. Por exemplo, na instalao que fizemos na unidade anterior, foram criados diversos usurios entre eles aluno1 e professor1.
fonte http://www.debian.org
opt
Usurio professor1 seus dados ficam armazenados em /home/professor1. Esta informao lida (e verbalizada) da seguinte forma: barra home barra professsor1. Usurio aluno1 seus dados ficam armazenados em /home/aluno1. Esta informao lida (e verbalizada) da seguinte forma: barra home barra aluno1.
Detalhes:
o caminho absoluto parte sempre da raiz, identificado pelo primeiro sinal / (o barra); sempre que temos um subdiretrio ou algum arquivo dentro de um diretrio superior, mostramos esta ligao novo /;
Para conseguir trabalhar ou manipular arquivos e diretrios em um computador, preciso saber andar por entre os diretrios de forma eficiente.
38
Unidade C
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Trocar de diretrio
$ cd /home/aluno1 abre o diretrio /home/aluno1, onde esto os dados do usurio aluno1. Pode-se dizer entra na casa do usurio aluno1; $ cd /home/aluno1/projetos tenta abrir o diretrio /home/aluno1/projetos (este diretrio no existe, logo o shell ir informar o erro); $ cd --help mostra os detalhes do comando.
Listar arquivos
Criar diretrios
$ mkdir teste cria diretrio teste dentro do diretrios em que estou. $ mkdir /tmp/lixo cria diretrio lixo dentro da pasta /tmp; $ mkdir --help mostra os detalhes do comando.
O comando para remoo de diretrios o rmdir acrnimo de remove directory. Esta comando exige que o diretrio esteja vazio, mas exitem outros comandos de remoo forada com mesmo com contedo.
Remover diretrios
$ rmdir /tmp/lixo remove o diretrio criado no teste anterior vale observar que /tmp preservado, sendo apagado somente o lixo. $ rmdir --help mostra os detalhes do comando.
O comando para renomear diretrios ( o mesmo para renomear tudo) o mv acrnimo para move. Este comando pode ser usado para modificar o nome de algo como a localizao de algo. Seu uso :
Renomear diretrios
$ mv teste novonome move o diretrio teste para novonome; $ mv /tmp/lixo /tmp/lixao move os diretrio lixo para lixao;
Os comandos acima so fundamentais para a operao de um computador em modo texto lembre-se que nem sempre teremos um sistema operacional com ambiente grfico disponvel mas o o modo texto padro. Alm disso, outras o formas de fazer podem ser encontradas.
$ mv --help mostra os detalhes do comando.
Estes comandos so idnticos para todas as distribuies sofrendo pequenas variaes nos sistemas Microsoft.
39
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Saiba mais:
<http://www.guiafoca.org/cgs/guia/inic_interm/ch-bas.html#s-basico-diretorio >
Arquivos so objetos digitais, armazenados em uma mdia qualquer ( disco rgido, CDROM, rede, etc,). Arquivos possuem uma razo bem definida para existirem, podem possuir algum contedo que faz sentido para algum usurio, por exemplo um relatrio de concluso de curso ou uma fotografia; ou so arquivos de sistema, relacionados ao funcionamento do sistema operacional ou de algum programa.
Arquivos
Nesta parte deste material vamos estudar um pouco mais sobre a manipulao de arquivos.
A manipulao de arquivos segue a mesma lgica dos comandos para diretrios, com algumas variaes. Os comandos de renomear, mover, remover so idnticos. Comandos especficos para arquivos podem ser:
Manipulao de arquivos
a) Criar arquivo
$ nano arquivo-teste cria um arquivo texto de nome arquivo-teste direto no editor de textos;
b) Ver contedo
editor de texto: quando fazemos uso de um editor de texto este mtodo nos permite editar e modificar um arquivo (desde que tenhamos permisso para isso);
$ nano /home/aluno1/texto
com o cat: o cat pode ser usado para mostrar o contedo de um arquivo de forma esttica, ou seja, todas as informaes do arquivo so jogadas na tela de forma esttica sem possibilidade de edio.
$ cat /home/aluno/texto
com o tail: o comando tail mostra as ltimas linhas do arquivo texto. No entanto, usando um modificador chave, podemos ver o arquivo crescendo. Este comando muito til na visualizao de logs de erro
$ tail -f /var/log/messges
Todos os sistemas operacionais baseados em Unix, herdaram seu rigoroso (e muito eficiente) mtodo de controle de permisses de arquivos e diretrios. Desta forma, precisamos compreender o funcionamento deste mecanismo.
Permisses de acesso
Premissas:
40
Unidade C
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
todo arquivo ou diretrio tem permisses explicitamente declaradas para seu usurio, seu grupo e para outros usurios que no so nem o dono nem parte do grupo; as permisses so: r para Read (leitura) w para Write (escrita) x para eXecute (execuo)
Para ver as permisses de arquivos e diretrios em aluma pasta, precisamos executar o comando ls -l. este comando ir retornar a lista de arquivos e diretrios mostrando as permisses e os usurios do arquivo. Como no exemplo abaixo:
Vendo as informaes
3 aluno1 aluno1 1 aluno1 aluno1 1 aluno1 aluno1 3 aluno1 alunos 1 aluno1 alunos
anjuta a.out
2010-06-02 16:43
teste.c
enquete fila.py
2010-03-20 00:15
Todo arquivo ou diretrio pertence a algum dono e a algum grupo. Desta forma podemos definir quem o proprietrio do arquivo e qual grupo ele ir pertencer, para depois definir qual a permisso que cada um destes participantes tero sobre o arquivo.
Dono e grupo
Como visto no item anterior, o dono e o grupo so mostrados pelo comando ls -l noquarto e quinto campo respectivamente. possvel (e muitas vezes necessrio) modificar o dono de algum arquivo ou diretrio.
O comando de troca de dono o chown acrnimo de change owner ou troca de dono. O comando de troca de grupo o chgrp acrnimo de change group ou troca de grupo.
41
Para executar estes testes, basta criar (como root) uma pasta chamada teste na raiz;
Logar como root
$ su root
Sistemas Operacionais
As permisses determinaro o tipo de acesso que cada usurio ter em determinado arquivo ou diretrio. Aps o identificador de arquivo/diretrio, teremos 3 campos para cada tipo de usurio.
Entendendo as permisses
Onde:
rwx
rwx
rwx
o primeiro conjunto de 3 identificadores rwx de permisso determina a forma de acesso para o usurio dono do arquivo; o segundo conjunto de 3 identificadores rwx de permisso determina a forma de acesso para o grupo do arquivo; o terceiro conjunto de 3 identificadores rwx de permisso determina a forma de acesso para os usurios que no esto no grupo e no o dono do arquivo.
Cada permisso pode ser includa ou removida (se preferir ativada/desativada), modificando a forma de acesso. Esta modificao de permisso se d com o comando chmod - acrnimo de change mode ou mudar modo de acesso. De forma mais prtica, vamos criar um arquivo teste qualquer vazio mesmo.
$ touch teste
Ao darmos o comando ls -l verificamos as permisses deste arquivo que so as seguintes: Dividindo os cdigos vemos que:
- indica que um arquivo;
-rwxr-xr-x
rwx - que o usuaio tem permisso de leitura, escrita e execuo; r-x - indica que o grupo tem permisso somente de leitura e execuo; r-x - indica que outros tem permisso somente de leitura e execuo;
42
Vamos supor que este arquivo um arquivo muito confidencial... precisamos fazer algumas modificaes: desta forma dizemos outros perdem leitura escrita e execuo somente dono e grupo podero ler/ escrever/executar o arquivo;
a) Bloqueando acesso aos outros: $ chmod o-rwx teste b) Bloqueando acesso ao grupo e outros: $ chmod go-rwx teste
Unidade C
desta forma dizemos que grupo e outros perdem leitura escrita e execuo somente o dono pode ler/ escrever/executar o arquivo; desta forma dizemos que o grupo ganha leitura escrita;
c) d) Liberando somente execuo para grupo e outros: Liberando somente leitura e escrita para o grupo: $ chmod o+rw teste
aqui precisamos retirar as permisses dadas anteriormente; $ chmod go-rw teste $ chmod go+x teste assim dizemos que grupo e outros perdem leitura/escrita e ganham execuo;
Saiba mais:
<http://www.guiafoca.org/cgs/guia/inic_interm/ch-perm.html#s-perm-octal>
O mecanismos de manipulao de permisses para diretrios o mesmo de arquivos. Contudo a funo de cada permisso diferente.
Permisses em diretrios
R permite listar contedo do diretrio. Caso esteja negado, o diretrio no mostrara se u contedo.
W permite gravar contedo dentro do diretrio. Caso esteja negado, o sistema operacional no vai permitir a criao de arquivos ou diretrios dentro do diretrio. X permite entrar no diretrio. Caso esteja negado, o sistema operacional bloqueia a abertura ou a entrada dentro do diretrio. Esta propriedade facilmente confundida com a permisso R.
Vale salientar que o usurio root est acima destas permisses, tanto que em sistema Unix, conhecido como superusurio. Esta caracterstica confere ao root poder total sobre o sistema. No use o usurio administrador para funes corriqueiras. A conta de root dedicada administrao do sistema
Ateno:
Ao instalarmos um sistema operacional ou ao adicionarmos um disco ao nosso computador, precisamos particionar e formatar este disco. Na verdade, no conseguimos usar um disco, seja ele um HD, um CRROM, uma pendrive ou qualquer outro tipo de unidade de armazenamento sem que estejam devidamente preparados com o particionamento.
43
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Particionar um disco significa criar reas dentro de um disco fsico. Cada rea ser utilizada ter alguma funo no nosso sistema. Em sistemas Unix-like precisamos de no mnimo duas parties, sendo:
Parties
principal: uma partio que pode ocupar quase todo o disco, nela estaro os arquivos de sistema, usurios e tudo o que o computador precisa para funcionar. referenciada pelo sistema Debian como / (chamamos isto de raiz); swap: rea especialmente reservada para memria virtual do sistema operacional.
No entanto, podemos criar estruturas de particionamento diferentes desta mnima procurando organizar nosso computador. Por exemplo:
principal: com arquivos de sistema, referenciada como / swap: com memria virtual;
Ou ainda
principal: com arquivos de sistema, referenciada como / swap: com memria virtual; home: com arquivos de usurios, referenciada como /home. Outra: com outras coisas que queremos separar tipo
A formatao o procedimento de criar um sistema de arquivo em uma partio. O sistema de arquivo o jeito pelo qual os arquivos so registrados no disco cada sistema tem o seu formato. Em outras palavras, um sistema de arquivos do Linux, diferente do sistema de arquivos do DOS e assim por diante. Veremos mais sobre sistemas de arquivos na unidade H.
Formatao
Ateno:
Para este exerccio, ser necessrio um disco vazio que pode ser acrescentado na mquina virtual.
Particionando e formatando
Desligue o computador virtual e selecione a mquina que estamos usando; Clique em Edit virtual machine settings; clique no boto ADD; escolha Hard Disk e clique Next; escolha Create new virtual disk e clique em Next; escolha SCSI (Recommended) e clique em Next;
escolha Split virtual disk into multiple files, matenha o tamanho em 8,0 GB e clique em Next;
Agora ao iniciar a mquina virtual, voc ter um novo disco para experimentarmos.
no modifique o File Name e clique em Save.
44
Requisitos:
Unidade C
uma unidade e disco sem dados; acesso de root parar isso, faa logon normalmente com usurio, abra um terminal e execute o comando su - root; este comando ir abrir uma sub-sesso com privilgios de administrao (observe que o sinal de shell mudar para #); pacincia e cuidado; uma lida rpida no help do fdisk (# fdisk -h).
Analisando a captura de tela acima, verificamos nos destaques sublinhados que foram detectados dois discos, sendo:
/dev/sda que corresponde ao primeiro disco usado na instalao;
45
Observa-se tambm que o disco /dev/sdb no possui parties. Nosso objetivo agora criar parties. A ttulo de exemplo, vamos criar 3 parties, sendo:
1 ext3 com 3GBytes padro para sistemas linux; 1 ext4 com 3GBytes evoluo do padro ext3 tender a substituir o ext4; 1 fat32 com o resto de bytes padro para discos que precisam ser compartilhados como pendrives e cares de memria. Este padro no tem controle de permisses de acesso aos arquivos.
Sistemas Operacionais
entrar no particionador:
b) Particionando
No particionar o disco /dev/sda caso contrario nosso sistema se perder 1. criar a primeira partio: comando n
Ateno:
Ao entrar no particionador, recebemos o prompt Comando (m para ajuda): onde podemos digitar m para obter ajuda. Neste pequeno guia, podemos ver, por exemplo, usamos q para sair.
A letra n ir criar nova partio e o particionador pede o tipo que queremos primria ou estendida. escolhemos partio primria; O prompt nos pergunta qual o nmero da partio - como a primeira, escolhemos 1; o prompt nos pergunta o primeiro cilindro (onde a partio comea) como nossa primeira partio, escolhemos cilindro 1; o prompt nos pergunta qual o ltimo cilindro (at onde nossa partio vai) como queremos uma partio de 3GBytes, informamos o TAMANHO da partio com o comando +3G;
como podemos ver na captura de tela abaixo a partio /dev/sdb1 foi criada; Comando (m para ajuda): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cilindros of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc4cc3d31
Dispositivo Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux
A letra n ir criar nova partio e o particionador pede o tipo que queremos primria ou estendida. escolhemos partio primria; O prompt nos pergunta qual o nmero da partio - como a segunda, escolhemos 2;
46
Unidade C
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
o prompt nos pergunta o primeiro cilindro (onde a partio comea) como nossa segunda partio, devemos comear de onde a primeira terminou, para isto basta teclarmos enter e o particionador define o primeiro cilindro vago como incio da nossa partio. o prompt nos pergunta qual o ltimo cilindro (at onde nossa partio vai) como queremos uma partio de 3GBytes, informamos o TAMANHO da partio com o comando +3G;
como podemos ver na captura de tela abaixo as parties /dev/sdb1 e /dev/sdb2 foram criadas; Dispositivo Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux /dev/sdb2 394 786 3156772+ 83 Linux A letra n ir criar nova partio e o particionador pede o tipo que queremos primria ou estendida escolhemos partio primria; O prompt nos pergunta qual o nmero da partio - como a terceira, escolhemos 3; O prompt nos pergunta o primeiro cilindro (onde a partio comea) como nossa terceira partio, devemos comear de onde a segunda terminou, para isto basta teclarmos enter e o particionador define o primeiro cilindro vago como incio da nossa partio. O prompt nos pergunta qual o ltimo cilindro (at onde nossa partio vai) como esta a ltima partio, queremos que ela ocupe todo o resto do disco, basta teclarmos enter. TODO o espao disponvel alocado a nossa terceira partio.
como podemos ver na captura de tela abaixo as parties /dev/sdb1, /dev/sdb2 e /dev/sdb3 foram criadas; Dispositivo Boot Start End Blocks Id System /dev/sdb1 1 393 3156741 83 Linux /dev/sdb2 394 786 3156772+ 83 Linux /dev/sdb3 787 1044 2072385 83 Linux Todas as parties foram criadas para o mesmo tipo de sistema de arquivos. Isto pode ser verificado pelo cdigo 83 em ID que corresponde ao padro ext. Precisamos modificar o ID /dev/sdb3 que deve ser preparada para fat32. Aps teclar t, o prompt nos pergunta qual o nmero da partio - como a terceira, escolhemos 3; O prompt nos pergunta o cdigo hexadecimal que ir identificar o tipo que iremos definir. Aqui pressionamos L para ver os cdigos possveis o particionador tem uma grande variedade de opes para escolha. Ao verificar a lista, temos (na primeira coluna) encontramos o cdigo b, que corresponde ao padro W95 FAT32. Ao verificarmos com o comando p temos: /dev/sdb3 787 1044 2072385 b W95 FAT32
TODAS as parties precisam ser formatadas cada uma com no seu formato correspondente. O Debian possui o utilitrio mkfs acrnimo de make file system - que facilita bastante a formatao das parties.
c) Formatando
47
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
No formatar parties do disco /dev/sda caso contrario nosso sistema se perder Formatando comando mkfs
Ateno:
Ainda como root digite mkfs e pressione a tecla TAB o sistema mostrar todas as formas que o mkfs disponibiliza.
# mkfs.ext3 /dev/sdb1
Neste momento as 3 novas parties do nosso segundo disco esto prontas para uso.
formata /dev/sdb3 com o sitema de arquivos fat32
Para podermos usar uma partio em um sistema Unix-Like, precisamos fazer um procedimento de montagem, onde um diretrio especialmente criado servira de link para nossa partio sempre que quisermos usar a partio X usamos na verdade o diretrio em que ela est montada. A ideia se assemelha a criar um atalho de um diretrio para uma partio sempre que quisermos usar esta partio precisamos fazer a montagem.
d) Usando as parties
Guia FOCA Linux; 5.11 Pontos de montagem, disponvel em: 1. criando os pontos de montagens
Saiba mais:
<http://www.guiafoca.org/cgs/guia/inic_interm/ch-disc.html#s-disc-pontomontagem >
voc pode criar um ponto de montagem em qualquer lugar do seu sistema de arquivos, no entanto o Debian sugere sempre o diretrio /mnt acrnimo de mount; dentro de /mnt precisamos criar um diretrio para cada partio a ser montada para fins de exerccio, sugiro os seguintes nomes ponto1, ponto2 e ponto3.
# mkdir ponto1 # mkdir ponto2
# mkdir ponto3
48
Unidade C
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
3. verificando comando df
Como pode ser visto na captura de tela abaixo, as parties foram montadas este comando inofensivo; Obviamente, podem ser vistas tambm as parties do primeiro disco /dev/sda # df -h ir apresentar resultados mais interessantes. root@debian:~# df Sist. Arq. 1K-blocos Usad Dispon. Uso% Montado em /dev/sda1 7867856 3421416 4046776 46% / tmpfs 127372 0 127372 0% /lib/init/rw udev 123032 176 122856 1% /dev tmpfs 127372 0 127372 0% /dev/shm /dev/sdb1 3107092 70236 2879020 3% /mnt/ponto1 /dev/sdb2 3107124 70168 2879120 3% /mnt/ponto2 /dev/sdb3 2068328 4 2068324 1% /mnt/ponto3
4. Usando
Por padro, o ponto de montagem de uso exclusivo do root para usurios comuns poderem trabalhar nestas reas, sugiro que seja criado uma pasta e passar esta para o usurio e/ou grupo que est precisando trocando o nome do dono/grupo. A titulo de exerccio, vamos criar uma pasta para o usurio aluno1 grupo alunos dentro de /mnt/ponto1 # cd /mnt/ponto1 vamos para ponto de montagem especfico; # mkdir teste-aluno1 cria-se a pasta; se dermos o comando ls -l verificamos que o dono da pasta o root; precisamos ento mudar o dono com o comando chown acrnimo para change owner e chgrp acrnimo para change group # chown -R aluno1 teste-aluno1 muda o dono do diretrio e de todos os seus subdiretrios; # chgrp -R alunos teste-aluno1 muda o grupo do diretrio e todos os seus subdiretrios; # ls -la para verificar; drwxr-xr-x 2 aluno1 alunos 4096 Jun 2 09:51 teste-aluno1 Agora o usurio aluno1 e o grupo alunos podero usar a pasta teste-aluno1
Sntese
arquivo uma forma de armazenar algum contedo; diretrio um arquivo especial que guarda outros arquivos ou diretrios; o sistema de arquivos em Linux representado em forma de rvore invertida, onde tudo comea na raiz; arquivos e diretrios pertencem a um usurio e a um grupo; chown e chgrp
arquivos e diretrios possuem permisso de acesso atribudas ao dono, ao grupo e aos outros; chmod UGO Usuario (dono), Grupo e Outros; RWX Read (leitura), Write (escrita) e X (eXecuo) um sistema de arquivos deve estar contido dentro de uma partio uma partio s pode ter um sistema de arquivos por vez; podemos criar/modificar as parties de um disco conforme for melhor;
49
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
esta modificao causa a perda dos dados contidos no disco modificado; fdisk mkfs.ext3, mkfs.vfat etc.
Atividades
1. No diretrio /var, criar dois novos subdiretrios chamados:
a) pasta-aluno1 para este diretrio, mudar o dono, o grupo para aluno1; mudar as permisses para que somente o dono da pasta tenha permisso de uso bloqueando acesso dos usurios do grupo e outros usurios; b) pasta-professor1 para este diretrio, mudar o dono, o grupo para professor1; mudar as permisses para que somente o dono da pasta tenha permisso de uso bloqueando acesso dos usurios do grupo e outros usurios; c) pasta-pesquisa para este diretrio, mudar o grupo para pesquisa; mudar as permisses para que o grupo da pasta possa modificar o contedo - bloqueando acesso ao dono da pasta e outros usurios; d) postar o resultado do comando ls -l na pasta /var;
50
Unidade D
Sistemas Operacionais
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
1. GERENCIAMENTO DE PACOTES
Um sistema informatizado composto por diversos aplicativos; so estes aplicativos que tornam o computador til e como visto na sesso anterior, o objetivo de um sistema informatizado a produo (no sentido de viabilizar e agilizar o trabalho do homem). Em outras palavras, para que possamos trabalhar precisamos de aplicativos teis e nossa atividade.
Introduo
Se trabalhamos com textos, precisamos de um editor de textos; se trabalhamos com clculo estatstico, precisaremos de algum programa especfico e/ou uma planilha eletrnica; para design grfico, editores grficos; ou seja, para cada atividade haver uma ou mais ferramentas disponveis. O objetivo desta unidade compreender o mecanismo de instalao/remoo (gerenciamento) de aplicativos (ou programas) em um sistema operacional Unix-like. Todos as explicaes e exerccios sero feitos focando o modo terminal de operao. Evidentemente, as mesmas atividades podem ser executadas no modo grfico, no entanto, no raramente nos deparamos com situaes em que no temos ambiente grfico a disposio para trabalho ou recuperao de algum sistema.
Em sistemas GNU/Linux nos referenciamos aos programas disponveis para instalao pelo termo pacote. Este termo utilizado porque um programa, qualquer que seja, composto por mais de um arquivo um programa acaba sendo um pacote de arquivos executveis, de configurao, de manual, de documentao, de fontes e outros mais.
O que um pacote
Cada distribuio GNU/Linux tem um conjunto pr aprovado de pacotes para instalao, que iro acompanhar a verso da distribuio. Por exemplo, a distro Debian 6 (de codinome Squeeze) que instalamos em mquina virtual ainda unidade B, tem um monto de pacotes disponveis. Veja a citao abaixo retirada do site da distribuio:
O Debian GNU/Linux mais que um simples SO: ele vem com mais de 29000 pacotes contendo softwares pr-compilados e distribudos em um bom formato, que torna fcil a instalao deles na sua mquina. [Debian, 2011, www.debian.org]
Como podemos ver, temos vrios pacotes disponveis para uso obviamente, estes pacotes so distribudos entre as mais diversas funes. A distro Debian conhecida por ter um grande conjunto de pacotes prontos para instalao, porm outras distros tambm fornecem seus pacotes pr compilados. Podemos ainda instalar programas no empacotados, direto de algum fornecedor de programas ou programas feitos por ns mesmos, bastando para isto termos os binrios ou o cdigo fonte (aqui cada caso um caso).
53
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
O dpkg um programa para gerenciamento de pacotes em linha de comando (modo texto), sempre executado pelo administrador do sistema. Sua sintaxe bastante simples:
DPKG
A principal desvantagem do dpkg a no resoluo de dependncias, ou seja, se para instalar um pacote X, temos uma dependncia do pacote Y a instalao ir falhar. Ento precisamos instalar baixar e instalar primeiro Y (resolver a dependncia) depois instalar X. Alm disso, outra desvantagem que o pacote instalado precisa ser previamente baixado. Ainda nesta unidade veremos meios mais eficientes de gerenciamento de pacotes. Guia Foca GNU/Linux, Captulo 20 - Sistema de gerenciamento de pacotes, disponvel em:
<http://www.guiafoca.org/cgs/guia/inic_interm/ch-dpkg.html#s-dpkg-pacotes>
Saiba mais:
Vamos fazer a instalao do programa JOE, que um pequeno editor de textos em modo texto e que pode ser obtido em em um repositrio Debian e no tem nenhuma dependncia a ser resolvida. O programa joe pode ser obtido no link ftp://ftp.br.debian.org/debian/pool/main/j/joe/joe_3.7-2_i386.deb.
Testar
abrir o programa digitando joe no terminal ajuda com CTRL+K + H sair sem salvar com CTRL+C sair salvando CTRL+K+X
Vamos remover o programa joe para fins de exerccio caso voc tenha gostado do editor e queria uslo, basta fazer a reinstalao.
Removendo um pacote
Testar tentar abrir o programa joe vermos que o mesmo no est mais disponvel. 1. Esta uma caracterstica do Debian 6.0 verses anteriores no usam este diretrio padro. 2. Obter acesso de root com o comando $ su - root
54
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Obter pacotes e resolver dependncias manualmente no uma prtica muito simples e muito pouco praticada pelos administradores de sistemas Unix-Like. J faz algum tempo, sistemas baseados em GNU/ Linux oferecem um mecanismo mais avanado e bastante eficiente de instalao de pacotes baseado em repositrios.
apt-get
Repositrios, tambm chamados de espelhos de rede online, so servidores que ficam disponveis na internet em tempo integral, distribuindo pacotes. Para fazermos uso destes repositrios basta configurar nosso computador (que se comporta como um cliente) para buscar pacotes no endereo definido.
A configurao de repositrios em nossa mquina instalada com sistema operacional Linux feita no arquivo /etc/apt/sources.list como o prprio nome sugere, onde informamos quais so as nossas fontes de pacotes para o programa apt-get. Para editar o arquivo precisamos de acesso root e um editor de textos qualquer vamos zerar o arquivo e incluir nossas prprias configuraes.
Configurando o repositrio
# gedit /etc/apt/sources.list
deb http://ftp.br.debian.org/debian/ lenny main contrib non-free deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb no incio de cada linha, informa que o repositrio do formato debian; http://ftp.br.debian.org/debian indica o servidor que estamos usando. Existem vrios no mundo para cada distribuio. A distro Debian mantem uma lista dos principais espelhos de rede em: http://mirror.debian.org/ status.html lenny (codinome da verso Debian temos diversas verses online) sarge debian 4.0 lenny debian 5.0 squeeze debian 6.0 stable (ir identificar sempre a ultima distribuio estvel no caso a squeeze) main identifica a sesso de pacotes principais da distribuio contrib identifica a sesso de pacotes que so contribuio da comunidade os principais pacotes (mais frequentemente utilizados) no esto nesta sesso, desta forma, poderamos omiti-la. non-free identifica a sesso de pacotes no livres disponveis idem a sesso contrib.
Servidor security distribui atualizaes de segurana servidor volatile distribui arquivos temporrios como por exemplo antivirus database.
55
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
O gerenciador de pacotes apt-get trabalha com um banco de informaes locais sobre os pacotes disponveis e instalados. Sempre que uma modificao feita no sources.list precisamos, OBRIGATRIAMENTE, atualizar este banco de dados local. O comando de atualizao :
Atualizando o o apt-get
Este comando faz com que nosso computador conecte ao servidor configurado (no caso ftp.br.debian. org) e baixe a lista de pacotes mais atualizada assim, o nosso computador fica atualizado, sabendo quais pacotes:
esto disponveis para instalao; j esto instalados e esto aptos para atualizao;
# apt-get update
Como dispomos de informaes atualizadas sobre nosso pacotes, podemos fazer atualizaes regulares em nosso sistema operacional esta prtica altamente recomendada e vai garantir a estabilidade e a confiabilidade do sistema instalado. Para fazer a atualizao, utiliza-se o comando:
# apt-get upgrade3
Para fazer instalaes de pacotes com o apt-get, precisamos saber apenas o nome do pacote e a sintaxe da instalao. A sintaxe ser sempre:
Normalmente a maior dificuldade dos administradores de sistemas saber qual o nome correto do pacte a ser instalado. Para resolver este problema, o sistema apt-get oferece um mecanismo de busca por palavra aproximada poderamos ento procurar por programas editores de texto similares ao joe. A diretiva de consulta o search Em nosso exemplo
# apt-cache search <palavra ou parte da palavra a ser pesquisada>
3. ATENO: O procedimento de atualizao demorado porque muitos pacotes sero atualizados. Certifique-se de ter disponvel uma conexo de banda larga.
56
ou ainda
Unidade D
O aptitude tambm um programa de gerenciamento de pacotes, serve como alternativa ao apt-get. Ambos funcionam de forma bastante semelhante mas o aptitude mais eficiente ???
Aptitude
Para o aptitude, o conceito de repositrio e de pacotes o mesmo que para o apt-get ou dpkg.
Sintaxe de uso
pesquisa:
instalao:
# aptitude install<nome-do-pacote>
remoo:
# aptitude remove <nome-do-pacote> # aptitude remove --purge <nome-do-pacote>
O aptitude apresenta um formato de utilizao diferenciado, que permite uma certa navegao na rvore de pacotes disponveis/instalados/atualizveis. Uma captura de tela do programa pode ser visto na figura D.1. Nesta instalao, temos 1295 pacotes instalados; 2834 no instalados; no caso no h pacotes para serem atualizados.
Modo GUI
57
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Os gerenciadores de pacotes tambm podem ser utilizados em ambiente grfico, o que torna o uso bastante intuitivo. O programa utilizado ir depender do ambiente grfico que voc estar utilizando. No caso do gnome, o gerenciador o synaptic, que pode ser visto na figura D.2.
Neste caso, temos a facilidade do uso do mouse que, via de regra, est presente somente em computadores Desktop ou Workstations.
58
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Sntese
Os sistemas operacionais Unix-Like possuem variados mecanismos de gerenciamento de pacotes, que buscam facilitar a atividade de administrao do sistema; pacote o nome usado para referencias os programas disponveis para instalao; um pacote contem todas os arquivos necessrios ao funcionamento de determinado programa, como binrios, arquivos de configurao, bibliotecas, pginas de manual e outros. a distribuio Debian, na verso 6.0, oferece 29000 pacotes que so distribudos em um formato de fcil utilizao. So vrios os mecanismos de gerenciamento de pacotes disponveis na distribuio Debian: dpkg requer que o pacote esteja baixado no diretrio corrente; requer que as dependncias estejam previamente resolvidas; apt-get requer que repositrios estejam previamente configurados ; requer conexo com internet (para repositrios online) ; instala os pacotes solicitados e resolve suas dependncias automaticamente; aptitude o sucessor do apt-get; mais fcil de utilizar; possui uma interface GUI; gerenciadores grficos para computadores desktop, temos a possibilidade de uso de um gerenciador grfico - por exemplo o synaptic para o ambiente gnome.
Atividades
1. Pesquisar, instalar, testar e remover os seguintes pacotes:
a) b) c) d) e) f) g) iptraf iperf joe abiword dia vim-gnome bluefish (baixar e instalar)
Observao o objetivo aqui praticar o uso dos gerenciadores de pacotes, logo recomendado exercitar com todos os gerenciadores estudados (apt-get, aptitude, synaptic e dpkg);
59
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
UNIDADE
2. INTEROPERABILIDADE E ANTIVRUS
Conforme verificado na unidade anterior, o objetivo fim de um sistema informatizado a produo; auxiliar no trabalho executado pelas pessoas; viabilizar e agilizar processos, pesquisas, rotinas, etc. Em outras palavras, o computador precisa ser til e esta utilidade est fortemente ligada ao quesito interoperabilidade de sistemas. Entende-se por interoperabilidade a funcionalidade que um sistema tem de trabalhar em conjunto com outros sistemas, buscando melhorar a produtividade e a eficincia do conjunto.
Introduo
Nesta unidade trabalhamos com a instalao, a configurao e a utilizao de programas especficos para prover um pouco mais de produtividade. Significa instalar, configurar e fazer uso de programas (pacotes) que permitam a utilizao desta mquina por outras mquias ou pessoas ou seja, que tornem a mquina produtiva de alguma forma. Isto normalmente est associado a configurao de servidores de rede tipo intranet, por exemplo: instalar e configurar um servidor de arquivos local.
Interoperabilidade
Existem uma infinidade de servios que fazem/provm interoperabilidade. No pretendemos (e nem conseguiramos) esgotar todos os servios com seus detalhes em uma unidade (precisaramos de muitas unidades para isto). Desta forma estudaremos a instalao, configurao e utilizao de dois servios fundamentais que so: servidor de arquivos com autenticao e servidor de pginas intranet. Em uma rede local, comum precisarmos de um servidor de arquivos, que faz o armazenamento/ distribuio de arquivos de forma centralizada. Melhorando, desta forma a produtividade dos usurios; facilitando a mobilidade e at mesmo o gerenciamento de segurana como backup e antivrus. Na figura D.3 podemos visualizar um diagrama de LAN com um servidor de arquivos central.
Servidor de arquivos
60
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
SAMBA acrnimo para SMB1 , um programa de rede que interliga sistemas GNU/Linux com computadores Windows2. O servio conta com diversas funcionalidades, das quais destacamos: compartilhamento de pastas/arquivos e impressoras; autenticao de usurios e mquinas Windows em uma LAN. O servio instalado em um computador (servidor) GNU/Linux, que ir servir toda nossa rede interna.
Servidor SAMBA
A instalao bastante simples, basta termos acesso a internet e os repositrios devidamente configurados conforme visto na unidade anterior. O comando de instalao :
Instalao:
Verifique que o aptitude ir instalar automaticamente todas as dependncias do samba que so: samba-common e samba-common-bin. O instalador solicita que seja informado o nome do grupo de trabalho neste caso, a configurao default poder ser mantida porque o samba ser configurado manualmente posteriormente.
A configurao do samba feita no arquivo smb.conf que fica SEMPRE na pasta /etc/samba. O smb. conf um arquivo texto e pode ser modificado com qualquer editor de texto simples (poderamos, por exemplo, usar o JOE).
Configurao:
Ao abrir o arquivo verificamos que ele no est vazio, mas tem diversas diretivas3 de exemplo. Poderamos simplesmente fazer algumas modificaes neste arquivo fazer uso do sistema, mas nosso objetivo aqui fazer uma configurao totalmente nova.
# Sample configuration file for the Samba suite for Debian GNU/Linux. # #
# gedit /etc/samba/smb.conf
1. Protocolo utilizado na comunicao de rede entre sistemas operacionais Windows. 2. Windows marca registrada da Microsoft Corporation. 3. Diretiva nome dado a cada item de configurao dentro do smb.conf
# This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options most of which # are not shown in this example
61
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Configurao mnima:
# configurao mnima de teste [globals] Netbios name = servidor Workgroup = intranet security = share [publico] path = /var/samba/publico writable = yes comment = Pasta pblica browseable = yes guest ok = yes
Como j registrado na unidade anterior, qualquer diretiva com o simbolo # no incio um comentrio (ou explicao) a linha ser desconsiderada pelo sistema. O arquivo de configurao mnimo tem duas sesses principais, que so:
[globals] a sesso que define as configuraes globais de todo o sistema, ou seja, que serviro para todas as outras sesses. Diversas diretivas configuram a sesso globals, das quais destacamos as seguintes:
Netbios Name configura o nome do servidor na rede, ou seja, o nome pelo qual nosso servidor ser identificado por TODOS os clientes da rede em questo; Workgroup configura o grupo de trabalho em que servidor e clientes devem estar. Aqui salientamos que todos devem estar no mesmo grupo de trabalho, caso contrrio, os servios de rede podero no funcionar adequadamente.
Saiba mais:
<http://www.hardware.com.br/tutoriais/configurando-rede-Windows/>
[publico] a sesso que define um compartilhamento (que ser identificado na rede como publico. Observa-se que este compartilhamento no possui nenhuma restrio de acesso.
Path esta diretiva indica qual diretrio (pasta) do sistema est sendo compartilhada. Obviamente, este diretrio precisa existir e respeitar as regras e permisses de acesso que sero determinadas pelo sistema. Neste caso, a pasta publica, ento as permisses sero RWX para todos os usurios. Writeable esta diretiva indica que este compartilhamento permite escrita. Poderamos ter compartilhamentos de distribuio de arquivos sem necessidade de escrita. Comment indica um comentrio para o compartilhamento; Browseable indica que o compartilhamento navegvel, ou seja, seus arquivos podem ser vistos na rede. Novamente h compartilhamentos em que no queremos que os arquivos sejam vistos. Guest ok indica que a pasta aceita visitantes, ou seja, usurios sem autenticao no sistema.
Para testar, necessrio ter pelo menos um cliente Windows configurado no mesmo grupo de trabalho do servidor (no caso intranet). Para fazer uso do compartilhamento, basta abrir o cone Meus Locais de Rede o compartilhamento dever estar disponvel com na figura D.4. neste caso, bastar copiar arquivos e pastas para o compartilhamento selecionado. Vale salientar que o mesmo publico e no oferece nenhuma proteo aos dados ali armazenados.
Testando
62
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
A configurao acima oferece uma funcionamento minimalista. Nas prximas configuraes, vamos explorar alguns aspectos do servidor samba. Neste exemplo, precisaremos ter um cenrio configurado, com usurios e grupos previamente definidos no sistema operacional. O diagrama de blocos abaixo representa este cenrio.
Aprimorando os compartilhamentos
Basicamente, temos precisaremos criar dois grupos, sendo um chamado chefia, que contm os usurios chefe1 e chefe2; e outro grupo chamado trabalho, que ir conter os usurios trab1, trab2 e trab3. Estes usurios podem (e recomendado) ter seu acesso ao Linux bloqueado, ou seja, no precisaro logar no servidor para bloquear o usurio utiliza-se o comando:
# passwd -l <usuario>
# configurao mnima de teste [globals] Netbios name = servidor Workgroup = intranet security = user [publico] path = /var/samba/publico writable = yes comment = Pasta pblica browseable = yes guest ok = yes
63
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
[chefia] path = /var/samba/chefia comment = Pasta da chefia valid users = chefe1, chefe2 writeable = yes browseable = yes [trabalho] path = /var/samba/trabalho comment = Pasta dos funcionrios valid users = +trabalho, chefe1, chefe2 writeable = yes browseable = yes
Nesta configurao, temos 3 compartilhamentos e acesso restrito por usurios, descritos abaixo. [globals]
a diretiva de configurao global para todo o sistema; security user habilita a restrio de acesso por usurio;
[publico] [chefia]
compartilhamento pblico a todos os usurios no tem nenhuma mudana em relao ao pblico da configurao minima. compartilhamento da pasta /var/samba/chefia para simplificar o funcionamento, utilizamos compartilhamento total na pasta, ou seja a+rwx para chefia. valid users = chefe1, chefe2 permite que somente os usurios chefe1 e chefe2 tenham acesso ao compartilhamento; no h a diretiva guest ok = yes compartilhamento da pasta /var/samba/trabalho para simplificar o funcionamento, utilizamos compartilhamento total na pasta, ou seja a+rwx para trabalho. Valid users = +trab, chefe1, chefe2 permite acesso de todos os usurios do grupo trab (+trab) e dos usurios chefe1 e chefe2. no h a diretiva guest ok = yes
[trabalho]
Para que os usurios tenham acesso aos compartilhamentos, necessrio incluir os mesmos no samba. Isto feito com o comando: smbpasswd -a <usurio>; o comando ir solicitar uma nova senha para o usurio esta ser a senha pela qual o usurio ir se autenticar no compartilhamento desejado. Para excluir um usurio #passwd -x <usurio>
O procedimento de teste ser o mesmo feito na etapa anterior. S que neste momento, ao acessar o compartilhamento, ser necessrio informar a senha de autenticao; o samba por sua vez ir dar as permisses conforme definido na configurao do sistema. Para que o Windows esquea a senha, necessrio fazer logoff.
Testando
64
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
O uso de antivrus no obrigatrio em sistemas GNU/Linux, mas como este sistema que estamos configurando um servidor de arquivos que atender toda uma rede interna o uso da ferramenta passa a ser fortemente recomendado. Outra situao em que o antivrus fortemente recomendado no uso de servidores de e-mail (que no o nosso foco).
Antivrus
Hoje existem diversas solues para antivrus em servidores SAMBA com Linux, das quais sugerimos o Clamav.
Clamav
Atualizando
# freshclam
Fazendo uso do crontab, podemos automatizar a execuo da atualizao e do escaneamento. No exemplo abaixo est sendo agendado uma atualizao (freshclam) para as 4h todos os dias do ms, todos os meses e todos os dias da semana e tambm um escaneamento para as 4h30min todos os dias do ms, todos os meses e todos os dias da semana.
Automatizando
# crontab -e
0 4 * * * freshclam
30 4 * * * clamscan -r
/var/samba
Saiba mais:
<http://www.guiafoca.org/cgs/guia/inic_interm/ch-manut.html#s-manut-cron>
O servidor de pginas intranet um servio de hospedagem WEB, dentro de um ambiente LAN. Este servio que viabiliza a interoperabilidade, oferecendo diversos recursos WEB baseados, por exemplo, em PHP e banco de dados.
65
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
O programa utilizado para este tipo de servio o servidor Apache que um dos software livres mais antigos e conhecidos, j que representa , alm claro, de ser um dos mais robustos e funcionais. Neste material, estudaremos apenas algumas funcionalidades essenciais para disponibilizao de uma intranet. Vale salientar que no ser abordado a programao e apenas o servio de hospedagem, integrando com o PHP e um banco de dados como o MysSql.
Servidor APACHE
O pacote responsvel pelo servio o apache2; ao fazer a instalao, diversos dependncias sero automaticamente resolvidas. O comando de instalao :
Instalao do servidor:
Testando
Por default, o apache traz um site de testes, que responde no endereo IP do servidor. Para testar basta digitar o endereo IP no browerde sua preferncia (desde que esteja instalado em seu computador). A resposta sera It Works, conforme pode ser verificado na figura D.5.
Todos os prximos testes sero feitos da mesma forma. Vale salientar que o endereo IP ser particular de seu computador. O comando de verificao do endereo IP ifconfig, conforme figura D.6, na captura abaixo, podemos ver a interface eth0 com inet end. 172.16.212.134.
66
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
O apache tem uma estrutura particular de funcionamento, sendo dividido em rea de configurao, onde so armazenados todos os arquivos de configurao e rea de contedo, onde so armazenados os contedos dos sites.
Estrutura de configurao
Especificamente no caso do apache, apenas o usurio root tem permisso de modificao em ambas as reas.
# nano /etc/apache2/sites-available/intranet
Na configurao apresentada, um site simples est sendo configurado. Todas as configuraes so feitas entre as diretivas <VirtualHost> e </VirtualHost> que delimitam a configurao do site.
<Virtualhost 172.26.212.134:80> ServerName intranet Documentroot /var/www/intranet </Virtualhost> Cada site, criado um VirtualHost; DocumentRoot /var/www/intranet esta diretiva informa o local onde est o CONTEDO do site configurado; ServerName intranet informa o nome do site que est sendo configurado
O site precisa ser alimentado com um contedo. No caso, iremos simplesmente criar um arquivo index. html com o contedo abaixo descrito, que apenas mostra a menagem Intranet me construo. Isto pode ser feito com qualquer editor de textos, com por exemplo o JOE
O site criado no entra em atividade imediatamente, o administrador do sistema precisa declarar explicitamente que um determinado site entrar (ou sair) de atividade. Isto feito com o par de comandos a2ensite, para ativar e a2dissite para desativar. No nosso caso, iremos ativar o site da seguinte forma: Caso alguma modificao seja feita no arquivo de configurao do site, ento ser necessrio desabilitar e reabilitar o site. O comando para desabilitar : #a2dissite intranet Aps a ativao o apache precisar ser recarregado, isto feito com o comando:
# /etc/init.d/apache2 reload # a2ensiste intranet
67
A partir deste momento a pgina j estar funcionado mesmo que com um contedo experimental, que poder ser visualizado pelo browser. Figura D.7 mostra a captura de tela da pgina web de nossa Intranet.
Sistemas Operacionais
O apache oferece uma gama de opes que podem ser utilizadas aprimorando o site da intranet suporte a PHP e banco de dados por exemplo, suporte a HTTPS ou autenticao.
Aprimorando
Na instalao acima todos os pacotes esto sendo informados em uma nica linha (ou comando), mas poderiam ser informados separadamente. Para testar, criamos um teste.php com a funo phpinfo(); apenas para obter informaes do servidor. O resultado pode ser verificado na figura D.8, onde est sendo mostrado o suporte mysql habilitado.
68
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
SSL uma camada de proteo que adicionada ao HTTP, formando o HTTPS, largamente utilizado por bancos e sistema de e-comerce. Para ativarmos o SSL, de forma bastante simples, faremos uso de um certificado auto assinado, gerado conforme o comando abaixo:
Ativando o SSL
Este comando pede diversas informaes demogrficas, para identificao do certificado. Entendendo o mercado de certificados SSL, disponvel em:
<http://www.hardware.com.br/dicas/mercado-ssl.html/>
Saiba mais:
<Virtualhost 172.16.212.134:80> ServerName intranet.lan Documentroot /var/www/intranet </Virtualhost> <Virtualhost 172.16.212.134:443> DocumentRoot /var/www/intranet SSLEngine ON SSLCertificateFile /etc/apache2/certificado.pem </Virtualhost> A configurao: a configurao da parte HTTP no sofre modificao; inclumos um novo virtualhost, que abre a porta 443; informamos novamente a pasta de contedo do site desta vez da parte que queremos proteger por ssl; liga-se o motor de ssl em SSLEngine ON; informa-se a localizao e o certificado que foi criado na etapa do certificado auto assinado.
Para testar, abrimos um brower e apontamos para o endereo de nosso site: HTTP://172.16.212.134 no primeiro acesso, por motivos de segurana, o browser ir avisar que o certificado no confivel (lembre-se que nosso certificado do tipo auto assinado). Foramos a aceitao de uma exceo e prosseguimos no site.
Testando
Cada browser tem sua forma de aceitar excees; no iceweasel precisamos abrir a a opo entendendo os riscos e clicar no boto Adicionar Exceo e aps confirmar a exceo de segurana, conforme pode ser visto na Figura D.9.
69
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
A figura D.10 mostra o site seguro sendo acessado. Sabemos que est sob HTTPS porque o browser mostra um pequeno cadeado na barra de status, alm de informar isto ao lado do endereo do site na barra de endereos.
Neste material, mostramos duas ferramentas que viabilizam a interoperabilidade, sendo que ambas oferecem opes de funcionamento/configurao bem mais avanadas. No entanto, cada configurao ir depender diretamente da aplicao, do ambiente e da equipe envolvida com o servidor. Alm disso, no caso do Apache + PHP + Mysql, necessrio que um site (portal ou aplicao) tenha sido desenvolvido para ser hospedado no nosso servidor. A funcionalidade estar no site desenvolvido e no no programa servidor.
Aplicaes
70
Unidade D
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Sntese
existem diversas ferramentas que viabilizam a interoperabilidade entre sistemas operacionais; o principal objetivo da interoperabilidade melhorar a produtividade de um ambiente de trabalho; SAMBA oferece um servio de servidor de arquivos em uma rede de cliente Windows: Instalar o samba com aptitude install samba APACHE oferece um servio de servidor HTTP e HTTPS
Atividades
1. Criar um compartilhamento SAMBA para o usurio aluno 2. Criar uma rea do site protegida por usurio/senha, utilizando um dos mtodos de autenticao do apache.
71
Multiprogramao
Unidade E
Sistemas Operacionais
Unidade E
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
MULTIPROGRAMAO
Qualquer computador pessoal trabalha com diversos programas em execuo simultnea, ou seja, independentemente de sistema operacional que usamos, podemos abrir um editor de texto, ouvir msica, ler e-mails, jogar e outras coisas. Temos a ntida sensao que o computador est executando tudo ao mesmo tempo.
Introduo
Esta capacidade multitarefa do computador o objeto de estudo desta unidade. Vamos estudar o que um processo, seu ciclo de vida e o tratamento dado pelo computador (hardware + sistema operacional) a este.
Monoprogramao vs Multiprogramao
Tambm so conhecidos como monotarefa, so os sistemas capazes de executar apenas um processo por vez, ou seja, nunca poderemos ouvir msica enquanto digitamos um texto; basicamente, teremos que fazer uma atividade por vez. Isto uma caracterstica que certamente no desejaramos em nossos computadores. Os sistemas monoprogramados so encontrados nos primrdios da histria dos sistemas operacionais e o exemplo clssico o DOS (PC-DOS de 1981).
Sistemas monoprogramado
Na figura E.1 verificamos a memria ocupada por apenas um programa. Verifica-se que o a memria desperdiada porque no toda utilizada.
Tambm so conhecidos como multitarefa, so os sistemas capazes de suportar diversos processos em execuo (ouvir msica enquanto digitamos um texto). Sistemas so caracterizados por:
Sistemas multiprogramado
Um sistema multiprogramado divide o tempo da CPU entre os diversos processos que esto sendo executados;
timesharing
75
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Esta caracterstica de diviso de tempo causa no usurio uma sensao de que tudo est acontecendo em paralelo (simultaneamente), ou seja, temos a ntida impresso que o processador est executando ao mesmo tempo os processos do editor de texto e do player, enquanto que na verdade est havendo uma diviso do seu tempo da o termo falso paralelo. Cada um dos processos ganha uma fatia de tempo do processador.
pesudoparalelismo
Na figura E.2, verificamos que a memria fica dividia entre vrios processos. Observa-se um melhor aproveitamento do espao de memria, mas h um aumento na complexidade do gerenciamento da memria. Cabe ao sistema regular esta diviso de tempo e nos captulos subsequentes vamos verificar como possvel (ou como feita) esta multiprogramao.
O Windows NT o primeiro sistema operacional da Microsoft com capacidade de multiprogramao as verses Windows 95 e Windows 98 fazem uma emulao de multiprogramao.
Antes de mais nada preciso compreender o significado de processo sua relao com o programa. Sempre que criamos algum programa, escrevemos seu cdigo em um editor de programas (tambm conhecido como IDE), este cdigo fonte passa ento por um processo de compilao que gera um arquivo executvel.
Processo vs Programa
Este executvel um PROGRAMA, ou seja, um arquivo com um conjunto de instrues passveis de execuo pelo meu sistema informatizado1. Este arquivo fica armazenado no disco rgido pronto para ser executado aguardando a ordem do usurio para entrar em execuo. Um PROGRAMA um arquivo executvel, esttico, passivo, contem um conjunto de instrues (em cdigo de mquina) pronto para ser executado pelo sistema.
76
Unidade E
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Ao entrar em execuo, o programa carregado para a memria e neste momento passa a ser considerado um processo. Enquanto o processo existir (estiver carregado na memria) ir passar por diversos estados e transformaes, sendo em algum momento encerrado (deixa de existir). O processo normalmente composto por uma cpia do cdigo de mquina, chamado rea de programa; e uma parte para variveis, chamado rea de dados. Um PROCESSO um programa em execuo, caracterizado por:
Ser dinmico e ativo; Poder criar outros processos; Poder executar chamadas de sistema. criado e encerrado ou morto;
Criao
ao ligar o computador neste momento o sistema operacional cria uma grande quantidade de processos (do prprio sistema operacional) e de programas de usurios como por exemplo a shell ou o ambiente grfico, ou ainda alguma backdoor que esteja infectando o sistema operacional. Quando o usurio solicita momento em que o usurio abre um programa qualquer. Isto pode criar um ou mais processos na memria; Quando um processo cria outro processo processos podem criar outros processos, situao muito comum para delegar tarefas.
Todo processo precisa ser encerrado em algum momento; isto pode acontecer naturalmente, quando o processo encerrado por si prprio (fechamento do programa) ou de forma forada, quando o sistema operacional (ou o administrador do sistema) matar algum processo. Os processos so encerrados em diversas situaes, por exemplo:
Encerramento
77
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Encerramento do programa usurio parou de utilizar o editor de textos ento encerra o programa; Processo foi morto o sistema operacional pode estar precisando de memria e para isto faz uma limpeza, matando os processos fora de uso; ou o administrador do sistema entendeu que precisava matar algum processo; Desligamento/reinicializao do computador - neste momento todos os processos devem ser encerrados; se algum processo no quiser se encerrar naturalmente, o sistema operacional faz o servio.
Os processos em execuo podem ou no ter algum tipo de relacionamento entre si isto varia conforme a origem (fabricante) do sistema operacional. Sistemas operacionais Unix-Like2 utilizam o conceito de grupo de processos onde h uma hierarquia e passagem de herana explicita entre processos, ou seja, um processo (pai) ir criar outro (filho) e assim sucessivamente.
Todo processo filho herda algumas caractersticas de seu pais (permisses de acesso por exemplo). Desta forma, temos uma estrutura em rvore, conforme figura E.4.
Em nossa mquina virtual instalada, podemos ver a rvore de processos usando o programa pstree3 , que deve ser utilizado em conjunto como less para facilitar a visualizao (para sair da visualizao, usar q). Como visto na figura E.5, o resultado do comando ser uma rvore, mostrando os processos e seus filhos, claro na forma de uma rvore.
$ pstree | less.
Os o processos B e C so filhos de A; os processos D, E e F so filhos de B; C no tem filhos; Se processo B encerrar, processos D, E e F tambm sero encerrados; Se processo A encerrar, todos os outros processos sero encerrados tambm; As permisses de A so herdadas por seus filhos.
2. Sistemas operacionais originrios ou inspirados do Unix. 3. Este programa fornecido pelo pacote psmisc.
78
Unidade E
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
De forma geral, durante sua existncia, o processo podem assumir 3 estados bsicos que so:
Estados do processo
Neste estado o processo est no processador, sendo processado. Cada processador trabalha com apenas um processo por vez4 . O tempo que o processo ocupa o processador ir depender do tipo do escalonador do sistema operacional visto na prxima unidade.
Em execuo:
Neste estado, o processo est pronto, aguardando sua vez de ser executado. H uma fila de espera que est sujeita a regras especficas, tambm do escalonador, estudadas na prxima unidade. Um sistema operacional pode inclusive ter mais que uma fila de prontos na espera pelo processador.
Pronto:
Este um estado em que o processo fez uma requisio de I/O, atravs de uma chamada de sistema, e est aguardando o resultado (a resposta) deste. Procedimentos de I/O so muito lentos quando comparados com a velocidade do processamento puro; ento o processo pode entrar em um estado especial enquanto aguarda a resposta do dispositivo de I/O. Neste estado, no deve haver consumo de processador, sobrando recurso para outros processos.
Bloqueado:
Durante a existncia dos processos, eles transitam entre os estados Pronto, Execuo e Bloqueado. As transies possveis so (acompanhar pela figura E.6) :
Pronto para execuo: quando um processo da fila de prontos destacado e ganha o processador.
Execuo para pronto: quando o processo que est executando perde o processador e volta para a fila de prontos. Esta perda se d por motivos gerenciados pelo escalonador.
79
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Execuo para bloqueado: quando o processo que est executando faz uma solicitao de I/O, perde o processador (compulsoriamente) e vai para a lista de processos aguardando resultado de sua solicitao; Bloqueado para pronto: quando a solicitao de I/O finaliza (a resposta do dispositivo entregue ao processo) o processo volta para a fila de prontos. Neste retorno o processo se submete as regras impostas pelo gerenciador desta fila.
Modos do processador
Tambm chamado de modo protegido. o modo em que o processador est habilitado exclusivamente na execuo de processos de usurios, ou seja, os programas dos usurios como editor de textos, compilador, browser e todos os outros. Tudo que for executado neste modo protegido contra acesso de outro processo e impedido de acessar reas protegidas de outros processos e do prprio sistema operacional. Diversas restries so implementadas para proteger o conjunto. Basicamente operaes que no interessam ao usurio.
Modo Usurio
No modo supervisor, o processador est atendendo interrupes de hardware. Neste modo no h restries impostas e o processador executa as funes protegidas. As operaes que podem ser exemplo neste caso so:
Modo Supervisor
Interrupes, tambm conhecidas IRQ (Interrupt Request) por so sinais de hardware enviados ao processador por algum dispositivo, chamando a ateno deste para alguma ao especfica. Sempre que algum device precisar de algo do processador ir disparar um pedido de interrupo.
Interrupes
A interrupo lembra uma chamada de telefone em uma residncia, onde uma pessoa est executando uma tarefa comum, lendo um livro por exemplo. Neste momento o telefone toca, gerando uma interrupo, neste caso a pessoa ter de parar sua atividade e atender o telefone, ou seja, tratar a requisio de interrupo. Exemplificando em um computador real, se uma placa de rede recebe algum pacote na sua entrada, este fluxo de dados que entra, precisar de algum tratamento ento a placa de rede gera um pedido de
80
interrupo ao processador. Quando o processador atender a requisio, ir dar o tratamento necessrio aos dados.
Unidade E
A transio entre os estados dos processos, PRONTO EXECUO, EXECUO BLOQUEADO e EXECUO PRONTO, controlada por um dispositivo chamado RTC (Real Time Clock); um relgio que gera um sinal de interrupo em intervalos regulares. Ou seja, o processador sabe que hora de trocar de processo em execuo quando o RTC avisa. Threads, tambm conhecidos como processos leves, porque dividem o fluxo de um processo em vrios fluxos menores (e mais rpidos em termos de processamento). O processo transformado em threads chamado multi-thread. Atualmente, a utilizao de programao baseada em threads para processos pesados considerado uma boa prtica.
Threads
Uma programao bem interessante a criao de processos, que pode ser facilmente desenvolvida na linguagem C em sistemas unix-like.
Criando processos
#include <stdio.h>
printf(PAI: Meu pid : %d no tenho filhos - execute $ps -ef para ver meu PID\n,(int)getpid()); printf(PAI: - tecle ENTER para continuar\n);
81
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
getchar();
fork1 = fork(); if(fork1 == -1){ perror(Falha na criao do filho); _exit(-1);} else if(fork1 == 0){ //area do filho
pid_filho = getpid(); pid_pai = getppid(); printf(FILHO: Eu sou o filho e meu pid : %d \n,pid_filho); printf(FILHO: Meu processo pai : %d \n,pid_pai); printf(FILHO: Minha tarefa repetir bom dia 5 vezes\n); for(i=1;i<=5;i++){ sleep(1); printf(FILHO: Bom dia n %d!\n,i);} continuar\n); printf(FILHO: encerrei minha atividade - tecle ENTER para getchar(); _exit(0);} else { //area do pai wait(&status); printf(PAI: Meu pid : %d \n,(int)getpid()); printf(PAI: Criei um filho com PID: %d \n, (int)pid_filho); printf(PAI: Minha tarefa dizer boa noite 2 vezes\n); for(i=1;i<=2;i++){ sleep(1); printf(PAI: Boa noite n %d!\n,i);} printf(PAI: Finalizei - tecle ENTER para continuar\n); getchar(); _exit(0);}
No cdigo acima, o processo PAI cria um processo FILHO que executa uma ao qualquer e retorna para o PAI. Neste programa podemos observar a tcnica de programao envolvida na criao de processos.
}
Uma vez em execuo, podemos acompanhar a criao e o encerramento dos processos pelo comando pstree, visto anteriormente.
82
Unidade E
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Sntese
Processos so programas em execuo na memria principal, enquanto programas so conjunto de instrues prontas para serem executadas e armazenados em memrias secundrias; Os sistemas atuais trabalham com o conceito de multiprogramao, em que temos diversos processos carregados na memria e que so executados como que em paralelo pelo conceito de pseudo-paralelismo. Sistemas mais antigos trabalham com o conceito de monoprograma, em que o sistema operacional carrega apenas um processo na memria; Interrupes so um mecanismo de sinalizao por hardware enviadas por dispositivos de hardware, usadas normalmente para solicitar alguma ao do processador. Threads so um tipo de processo que tem vrios fluxos de dados e que tem um processamento mais leve se comparado com um processo convencional. Os principais comandos de manipulao de processos em linux so: $ ps para ver a lista de processos em execuo; $ pstree para ver a lista de processos em forma de rvore; funes fork/join so funes em C para criao de processos;
Atividades
1. Verificar a rvore de processos em um sistema Linux; 2. Responder o questionrio:
a) b) c) d) e) Explique, com suas palavras a diferena entre processos e programa; Diferencie sistemas monoprogramado de multiprogramado. Qual o significado de pseudoparalelismo Qual o objetivo da interrupo? Detalhe os mtodos de operao do processador;
83
Gerenciamento do processador
Unidade F
Sistemas Operacionais
Unidade F
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
Como visto na unidade anterior, o processador trabalha com diversos processos, que esto carregados na memria e que disputam entre si pelo processador. Cabe ao sistema operacional atender a todos estes processos de forma eficiente e conveniente. Nesta unidade vamos estudar como feito o gerenciamento do processador e como possvel acontecer a multiprogramao.
GERENCIAMENTO DO PROCESSADOR
Introduo
Quando criamos um programa qualquer, precisamos ter diversas variveis que sero utilizadas durante a execuo do programa e que tero alguma funo de controle, mensagem, acumulador ou o que for necessrio. Por exemplo, no cdigo em C abaixo, temos uma varivel x, do tipo inteiro, que usada para controlar um loop.
#include<stdio.h> main(){
O sistema operacional um programa como outro qualquer, que executa um conjunto de tarefas especfico; foi escrito em alguma linguagem de programao; foi compilado e executado; e como qualquer outro programa, possui variveis e estruturas de controle internas. Uma destas estruturas de controle o descritor de processos que uma estrutura de dados (struct) para armazenar dados dos processos enquanto o SO estiver executando. Os dados do processo que o descritor de processo armazena, variam conforme o sistema operacional a grosso modo poderamos citar:
lista de arquivos abertos pelo processo; permisses do processo; prioridade do processo; hora de criao do processo; tempo de CPU j gasto pelo processo; informaes sobre o estado de execuo do processo (contexto de execuo).
87
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
No trecho de cdigo a seguir, podemos verificar a criao de uma estrutura de controle de processos que poderia ser utilizada em um sistema operacional fictcio. No caso, podemos ver a criao de uma struct chamada desc_proc, que possui diversos campos, cada um com uma funo especfica no controle dos processos. Dentro da funo main temos a inicializao de uma tabela de descritores identificada como tab_desc, que definir a quantidade mxima de processos que o sistema ir manipular simultaneamente. Tambm so inicializados as filas de descritores livres identificada por desc_livre e fila de espera da CPU identificada por espera_cpu. A lista de processos criados vais sendo armazenada na varivel tab_desc, que vai consumindo espaos de desc_livre.
struc desc_proc{ char estado_atual; int prioridade; unsigned int inicio_memoria; unsigned int tamanho_memoria; struct arquivos_abertos[20];
unsigned int tempo_cpu; unsigned int proc_pc; unsigned int proc_sp; unsigned int proc_acc; unsigned int proc_rx struct desc_proc *proximo; };
int main(int argc, char *argv){ struct desc_proc tab_desc[MAX_DESC_PROC]; struct desc_proc *desc_livre; struct desc_proc *espera_cpu;
88
Esta estrutura de dados tem como funo gerenciar e controlar toda a existncia de um processo criado dentro de um determinado sistema operacional. Em outras palavras, a varivel que guarda todo contexto do processo enquanto este existir. A estrutura muito importante porque atravs desta que o sistema operacional pode ter o controle sobre a existncia dos processos e principalmente viabilizar a multiprogramao.
Unidade F
Na unidade anterior verificamos que o sistema operacional trabalha com um mecanismo de multiprogramao, atendendo diversos processos quase que simultaneamente dando para o usurio a sensao que tudo est acontecendo em paralelo isto denominado pseudoparalelismo. Na figura F.1 vemos um diagrama (mesmo mostrado na unidade anterior) que apresenta os estados e as transies entre estes estados. Neste ponto podemos nos perguntar como o sistema operacional consegue fazer a multiprogramao.
Um processador possui diversos registradores internos que so utilizados no processamento; estes registradores so contadores, acumuladores, registradores de deslocamento e outros mais. Quando um processo est sendo processado, est fazendo uso destes registradores que vo sofrendo modificaes em tempo de execuo, ou seja, seus valores so atualizados e modificados.
Contexto de execuo
O estado em que se encontram estes registradores, em determinado momento do processamento de um processo chamado de contexto de execuo, ou seja, contexto de execuo o nome dado para o conjunto de informaes de um processo em um determinado momento de sua execuo entre o incio e o fim de sua atividade.
Vale destacar que o contexto de execuo NO o resultado final do processamento e sim estados intermedirios do processamento.
A multiprogramao consiste em trocar o processo que est executando a cada perodo, de forma que todos os processo que esto carregados na fila de prontos ganhem o processador por um pequeno intervalo de tempo, tenham uma fatia de processamento garantida e retornem para a fila de prontos. Este procedimento, que alterna processos na execuo, acontece constantemente enquanto houver
Chaveamento de contexto
89
processos na fila. O chaveamento de contexto o nome dado a esta troca entre os processos que esto na fila de processos prontos e o que est em execuo.
Sistemas Operacionais
O tempo1 de troca entre os processos definido pelo sistema operacional em conjunto com o hardware e a ttulo de exemplo, vamos utilizar uma media de 20ms2 . Ou seja, a cada 20ms, o hardware envia uma requisio de interrupo para o processador, avisando que hora de trocar de processo em execuo.
processo A est em execuo.... o quantum do processo A acaba e o hardware envia uma interrupo para o processador avisando que hora de troca de processo; sistema operacional faz uma cpia do contexto da execuo do processo A (que parou), guardando estas informaes no bloco descritor de processo; o prximo processo da fila de prontos (processo C) ento carregado no processador, neste momento o sistema operacional carrega o contexto de execuo do processo C (guardado at ento no descritor de processo) para os registradores do processador; O processador comea ento a nova execuo do ponto onde parou. Quando os processos ENCERRAM sua execuo, saem da fila de prontos.
Este ciclo repete-se enquanto houver processos na fila de execuo. Sempre ocorrendo a cpia do contexto de execuo que est armazenado no bloco descritor de processo e o processador ou do processador para o bloco descritor de processos. A organizao da fila de processos prontos e a escolha do prximo processo a ganhar o processador, definido pelo algoritmo escalonador.
Escalonador de curto prazo,tambm chamado scheduler, a parte do sistema operacional que organiza e determina o funcionamento da fila de prontos e o tempo que cada processo ter de execuo no processador.
Escalonador
1. Quantum o nome dado quantidade tempo que um processo tem no processador. 2. Leia-se 20 milisegundos, onde 1 milisegundo = a milsima parte de 1 segundo.
90
Unidade F
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Conforme o tipo de escalonador aplicado no sistema operacional, teremos um impacto diferente nos diferentes tipos de processos.
So processos caracterizados por fazer mais uso de requisies de I/O. Estes processos no gastam processador porque trabalham mais com entrada e sada. Exemplos:
editores de texto: basicamente controlam teclado, mouse, discos, etc; browsers: basicamente utilizam rede;
So processos caracterizados por fazer mais uso de CPU. Estes processos precisam de CPU para trabalhar, fazendo pouca I/O. Exemplos:
CPU Bound
programas de criptografia: basicamente fazem muitos clculos matemticos para aplicar nos dados a serem criptografados/descriptografados. programas de clculos cientficos: clculos matemticos.
Estes algoritmos escalonadores so clssicos, ou seja, nem sempre so ou foram utilizados comercialmente.
Algoritmos escalonadores
Este algoritmo implementa uma fila simples, onde o primeiro processo que chega na fila executado at seu encerramento (processo no sai do processador at terminar seu processamento).
Desvantagens:
Favorece processos do tipo CPU Bound porque estes pegam a CPU e no soltam mais;
Este escalonador equivale a uma fila de banco, com apenas UM caixa, onde a ordem de atendimento definida pela chegada na fila. A insatisfao dos clientes est em: No h atendimento prioritrio; Se algum cliente tiver muitos papis para serem processados, o tempo de todos na fila ir aumentar. 1. a quantidade de dados processados em um determinado espao de tempo.
91
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Trabalhos mais curtos primeiro - este algoritmo implementa uma fila ordenada pelo menor tempo de execuo, ou seja, quanto menor o tempo de execuo mais na frente da fila o processo est.
Favorece processos I/O Bound, porque so rpidos na ocupao do processador; Processos rpidos ficam pouco tempo na fila de espera diminui o tempo mdio de espera.
Problemas:
Postergao indefinida processos considerados lentos ficaro esperando na fila por tempo indeterminado; Impossibilidade de implementao impossvel prever o tempo de execuo de um processo.
Este escalonador equivale a uma fila de banco, com apenas UM caixa, onde a ordem de atendimento definida pela quantidade de papis a serem processados se for rpido passa na frente. A insatisfao dos clientes est em: No h atendimento prioritrio; Se algum cliente tiver muitos papis para serem processados, ir ficar na fila aguardando at que todos os rapidinhos sejam atendidos; Muitos clientes afirmam que seu atendimento rapidinho, mas na verdade tem muitos papeis para processamento causando indignao na fila.
Trabalhos marcados com prioridade primeiro este algoritmo implementa uma fila ordenada pela prioridade, ou seja, todo processo deve ter uma marca de prioridade4 . Esta prioridade ir definir a posio a ser ocupada na fila.
Vantagens:
Desvantagens:
Este escalonador equivale a uma fila de banco, com apenas UM caixa, onde a ordem de atendimento definida pela prioridade do cliente, que se tiver prioridade alta passa na frente. A insatisfao dos clientes est em: Clientes com alta prioridade so sempre atendidos primeiro deixando os de baixa prioridade por longos perodos na fila;
Para eliminar a desvantagem de postergao indefinida do algoritmo escalonador por prioridade, podemos implementar um mecanismo de aumento de prioridade conforme o tempo de espera na fila. Isto conhecido por aging5 - e no caso, a cada rodada de execues, a prioridade do processo que est na fila aumenta, at que o mesmo ser atendido.
92
Unidade F
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Este algoritmo escalonador o mais comum entre os sistemas operacionais convencionais e que viabiliza a multiprogramao efetivamente o algoritmo trabalha com fatia de tempo. Cada processo na fila tem um tempo de execuo (j definido como quantum); a cada quantum, o processador troca de processo em execuo (pelo mecanismo de chaveamento de contexto).
Este algoritmo ainda pode ser implementado, de forma associada, ao algoritmo por prioridade (que poder ser preemptivo ou no-preemptivo). Garantindo um mecanismo de escalonamento de fatia de tempo com prioridade. Sistemas operacionais atuais trabalham com o conceito de mltiplas filas, em que o processador de duas ou mais filas de espera para execuo, cada qual com um algoritmo escalonador especfico. Podemos, por exemplo, termos um sistema com duas filas de espera, sendo:
Mltiplas filas
Processos com interao direta do usurio, normalmente executados na presena do usurio e com necessidade de baixo tempo de resposta. Editores de texto e planilhas so tpicos exemplos de processos deste tipo.
Esta fila poderia trabalhar com um algoritmo escalonador round-robin com prioridade preemptiva. Certamente os usurios de um sistema deste tipo teriam uma boa relao entre produo e de tempo de resposta do sistema computacional.
Processos sem interao de usurio, normalmente executados sem a presena do usurio ou disparados em batch. Podem, por exemplo ser executados durante a madrugada (quando normalmente ningum mais est usando o sistema). Processos para clculo de folha de pagamento ou processos de computao cientfica podem ser exemplos deste tipo de fila. Tipicamente, processos que consomem muita CPU.
Esta fila poderia trabalhar com um algoritmo escalonador do tipo fila (FIFO) e os processos seriam executados do incio ao fim sem problemas (at porque no tem usurio requisitando a mquina).
93
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Sntese
bloco descritor de processo funciona como uma estrutura do sistema operacional que faz o controle dos processos que podem ser criados e dos processos existentes e prontos para execuo; alm disso esta estrutura armazena dados vitais execuo dos processos como o contexto de execuo, prioridade e outras informaes; contexto de execuo o conjunto de informaes que o processo tem, e que mostram o estado da execuo do processo. Estas informaes so usadas para parar/continuar a execuo do processo do ponto em que parou no momento do chaveamento de contexto; chaveamento de contexto a troca feita entre um processo que est sendo executado (e parou) por outro que est na fila de prontos (e ganhou o processador). Nesta ao, o sistema operacional salva o contexto de execuo do processo em execuo diretamente no bloco descritor de processo e carrega o contexto de execuo do novo processo nos registradores do processador (para este continuar de onde parou). Esta ao acontece por tempo indeterminado enquanto houverem processos a serem executados. Escalonador o mecanismo responsvel pela organizao da fila de espera de processos prontos. H diversos tipos de algoritmos escalonadores. FIFO first-in, first-out o algoritmo de fila a organizao por ordem de chegada; favorece processos CPU-bound e causa o aumento do tempo de espera da fila; SJF Shortest job first o algoritmo de trabalhos mais rpidos primeiro; favorece processos rpidos e causa postergao indefinida de processos considerados lentos. Alm do mais, no h como antever o tempo de execuo de um processo. Prioridade o algoritmo que atende primeiro processos com prioridade mais alta; pode causar postergao indefinida de processos com baixa prioridade; Prioridade com aging um algoritmo que, a cada rodada de execuo, promove o aumento de prioridade dos processos que esto na fila evitando assim a postergao indefinida. Preemptivo vs no-preemptivo algoritmos preemptivos retiram o processo que est em execuo do processador para atender a um novo processo de maior prioridade na fila; enquanto no-preemptivos no retiram o processo atualmente em execuo. Round-robin algoritmos de fatia de tempo, em que cada processo ganha um tempo (quantum) para execuo. Alm disso, este algoritmo pode ser implementado com controle de prioridade preemptivo ou no-preemptivo. Este um algoritmo largamente utilizado em sistemas operacionais comerciais. Mltiplas filas conceito em que o sistema operacional possui mltiplas filas de atendimento, separadas por tipo de processos.
94
Unidade F
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Atividades
1. O exerccio a seguir tem como objetivo demonstrar a aplicao e o efeito do controle de prioridade na execuo de processos em sistemas Linux. O Linux trabalha com prioridades que vo de -19 (MAIOR prioridade) a 19 (MENOR prioridade), sendo que Para isto ser utilizada a mquina virtual preparada nas unidades anteriores.
a) Executar o comando ALT+F2 e no campo executar aplicativo digitar glxgears, que ir abrir uma tela como a apresentada na figura F.2. Executar o glxgears DUAS VEZES, ficando com duas telas idnticas.
b)
Os processos glxgears iro competir pelo processador entre si e com outros processos. O comando top mostra diversas colunas entre elas a coluna PID, que identifica o nmero do processo; a coluna NI que identifica a prioridade de um processo e a coluna COMMAND que identifica o nome do processo; devemos conseguir ver dois processos chamados glxgears com PIDs diferentes e prioridade 0; c) Abrir um novo terminal e logue como root6 (ajustar na tela para que se consiga ver as duas telas glxgears, a tela do comando top e este novo terminal). O comando utilizado ser o renice, que muda a prioridade de um processo em tempo de execuo. Neste novo terminal, vamos modificar a prioridade de um dos glxgears em execuo.
-n 19 a menor prioridade possvel que um processo pode ter; -p <PID ESCOLHIDO> o nmero PID do glxgears que voc elegeu para o teste. d) Execute o comando com diversas prioridades e observe anotando o que acontece. -n 19 -n 10 -n 0 -n -10 -n 19
2. Pesquisar qual(quais) (so) o(s) algoritmo(s) escalonador(es) dos sistemas operacionais abaixo:
a) b) c) AIX Linux BSD
95
Gerenciamento da memria
Unidade G
Sistemas Operacionais
Unidade G
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
GERENCIAMENTO DA MEMRIA
Na unidade anterior, verificamos que o sistema operacional trabalha com processos, que so programas em execuo. Esta processo precisa ser segurado em algum lugar enquanto est sendo executado, o que inclui seu cdigo e seus dados. O hardware e o sistema operacional mantm os processos em uma rea denominada memria principal tambm conhecida como RAM.
Introduo
Cabe ao sistema operacional, em parceria com o hardware, fazer o gerenciamento eficiente deste espao onde ficam os processos durante sua existncia. Nesta unidade, vamos estudar o gerenciamento de memria clssico utilizado em computadores. Vale salientar que sistemas computacionais modernos (comerciais) aumentam a complexidade desta gerncia.
Memria fsica aquela implementada pelos circuitos eletrnicos, que palpvel, que queima e que frequentemente precisamos aumentar. Ocorre que esta memria no endereada diretamente pelo processo, ou seja, o sistema operacional cria uma interface para que os processos faam uso do recurso memria. A memria fsica possui um espao de endereamento fsico que so os endereos dos circuitos. Memria lgica aquela que o processo v e usa; esta memria mapeada na memria fsica, ou seja, o processo tem um rea de memria que somente ele acessa e conhece, no entanto ele (o processo) no tem ideia de qual lugar da memria fsica est sendo usado. Esta memria lgica possui um espao de endereamento lgico que somente o processo tem acesso, ou seja, cada processo tem o seu prprio espao de endereamento.
A memoria lgica
Unidade de Gerenciamento de memria um circuito, implementado no hardware (normalmente interno ao processador) que prov os mecanismos bsicos de gerenciamento de memria. Disto, decorre que o gerenciamento de memria que o sistema operacional implementa est intimamente ligado ao hardware utilizado. A figura G.1 representa a relao MMU/memria.
na MMU que o ocorre o mapeamento dos endereos lgicos do processo nos respectivos endereos fsicos dos circuitos, alm de prover algum mecanismo de proteo.
99
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Sempre que temos processos carregados na memria, precisamos garantir que os processos no invadam a rea de memria de outro processo. A seguir, so apresentados dois possveis mtodos de proteo de memria, sendo que diversos outros mecanismos podem ser implementados. Nos dois mtodos a seguir, os registradores de limite so informaes do contexto de execuo do processo e devem ser armazenados no descritor de processo tambm.
A ideia que a MMU saiba quais so os limites de endereamento que o processo tem. O processo no acessar nenhum endereo abaixo do limite inferir e acima do limite superior. Se o processo tentar acessar algum endereo fora deste escopo ser gerado uma interrupo informado ao sistema operacional que houve tentativa de acesso de endereo ilegal. O esquema mostrado na figura G.2.
No esquema da figura G.2, o endereo acessado pelo processo, dever estar entre 200 e 450. Neste caso, o endereo lgico (antes da MMU) ser o mesmo endereo fsico (depois da MMU). Caso esteja fora do range estabelecido pelos registradores, a MMU gera uma interrupo e encerra o processo.
Outro mecanismo de proteo da memria uso do esquema registrador limite/base (figura G.3) em que a MMU sabe o limite superior e calcula o deslocamento do registrador base para acessar o endereo. Aqui j temos um mecanismo de mapeamento entre o endereo lgico e o endereo fsico (real).
100
Unidade G
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
A seguir, so apresentados alguns dos mtodos clssicos de gerenciamento de memria. Vale lembrar que aplicaes comerciais modernas utilizam-se de variaes e adaptaes destes mecanismos.
Considerando sistemas multiprogramados, est a forma mais simples de gerenciamento de memria. Quando o sistema operacional carregado, divide a memria disponvel em diversos parties fixas e de tamanho variado. Conforme os processos vo sendo alocados, as parties vo sendo ocupadas de forma aleatria. A figura G.4 mostra este esquema de diviso da memria.
Parties Fixas
Vantagens
Desvantagens
fragmentao interna: os processos carregados nas parties normalmente no ocupam todo o espao disponvel. Exemplos: partio 2 de 135KB, mas o processo ocupa apenas 130KB; foram desperdiados 5KB que no podero ser aproveitados em nenhum outro caso. Partio 4 de 100KB com um processo de apenas 36KB; foram desperdiados 64KB que no podero ser aproveitados em nenhum outro caso. Fragmentao externa temos uma partio livre de 80KB e um processo de 81KB para ser carregado; ocorre que temos memria livre, mas no poder ser utilizada porque menor que o processo carregado. No h um reordenamento do espao disponvel para uma ocupao mais inteligente.
Neste mecanismo de gerenciamento todo o espao disponvel controlado pelo sistema operacional e as parties vo sendo criadas e ocupadas por processos no tamanho exato da partio.
Parties variveis
Vantagens
no possui fragmentao interna, j que a partio usada alocada com o tamanho exato do processo isto significa um melhor aproveitamento do espao de memria.
Desvantagens
Apresenta fragmentao externa, porque conforme o sistema vai alocando espaos vai gerando lacunas;
101
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
A figura G.5 procura representar a dinmica das parties variveis. As situaes so explicadas a seguir:
exige um mecanismo eficiente para gerenciamento de lacunas; a) b) c) temos o processo A com 85KB, B com 150KB, C com 50KB e um espao disponvel de 100KB; O processo B encerrou, gerando uma lacuna de 150KB, enquanto os outros processos continuam em execuo; Um novo processo foi carregado (processo D) ocupando 100KB da lacuna gerada em b). com esta ocupao, uma lacuna de 50KB gerada.
necessrio que o sistema tenha o controle dos espaos disponveis e que tenha um mecanismo de escolha de qual espao utilizar na locao de um novo processo. Os mecanismos possveis so:
Este controle costuma ter um alto custo computacional, ou seja, o processador e o sistema operacional perdem muito tempo til no controle destas estruturas.
First-fit utiliza a primeira lacuna com tamanho mnimo necessrio disponvel; Best-fit utiliza a lacuna que resultar na menor sobra (que gere uma nova lacuna de menor tamanho possvel); Worst-fit - utiliza a lacuna que resultar na maior sobra (que gere uma nova lacuna com maior tamanho possvel); Circular-fit - utiliza a lacuna disponvel aps a ltima sobra.
Pode-se reduzir o problema da fragmentao adotando unidades de alocao de tamanho fixo (32 bytes por exemplo). Estes blocos fixos so conhecidos como pargrafos. Quando um processo precisar de memria, ir ocupar um numero exato de pargrafos (que so blocos de 32 bytes). Isto permite ao sistema ter uma fragmentao interna mxima de 31bytes por processo carregado, o que bem pouco significativo.
Pargrafos
A figura G.6 procura representar a diviso por pargrafos. A memria est dividia em n blocos de 32 bytes (pargrafos) o processo A ocupa 3 blocos; o processo B ocupa 2 blocos; o processo C ocupa 3 blocos. Supondo que o processo B seja de 33 bytes, o maior espao que desperdiado ser de 31 byte, que foram alocados mas no utilizados. Este mecanismo mantem a necessidade de controle das lacunas disponveis e por consequncia ainda apresenta a desvantagem da fragmentao externa tal qual o sistema de parties variveis.
102
Unidade G
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
A paginao um mecanismo de gerenciamento de memria que apresenta pequena fragmentao interna e nenhuma fragmentao externa. Isto garante ao sistema que o implementa um melhor aproveitamento do hardware de memria. Pginas so blocos de alocao de tamanho fixo, que so ocupados por processos.
Paginao
Basicamente, a memria fsica dividia em pginas e estas pginas so mapeadas na memria lgica. Este mapeamento feito pelo uso de uma tabela de pginas, que faz referncia entre as pginas lgicas e as pginas fsicas; alm disso, as pginas possuem um registro de deslocamento interno, facilitando a localizao da informao pelo sistema operacional.
Vale lembrar que memria lgica a memria que o processo usa/v e a memria fsica a placa de memria efetivamente. A o interfaceamento entre as duas memrias feito pelo hardware MMU, que no caso, ir implementar a tabela de paginas para o mapeamento. A figura G.7 procura representar este esquema.
Na figura, vemos a memoria lgica dividida em 3 pginas de 4 bytes cada e cada pgina com um processo (os processos esto divididos em 4 partes); vemos a memria fsica dividida tambm em n pginas. Cada pgina identifiada com um endereo de 5 bits, sendo que os 3 primeiros bits (mais significativos) identificam o nmero da pgina enquanto os 2 ltimos bites (menos significativos) indicam a localizao (deslocamento) do byte dentro da pgina. Est sendo mostrado tambm uma tabela de pginas, que montada dentro da MMU e faz a relao entre as pginas. No caso:
a pgina lgica 000 est associada pgina fsica 010; a pgina lgica 001 est associada pgina fsica 101; e a pgina lgica 010 est associada a pgina 000;
Para localizar a informao Y2, vemos que est na pgina lgica 001, com deslocamento 01. este endereo convertido na tabela de pginas para pgina fsica 101, com deslocamento 01. Para localizar Z3 por exemplo, verificamos que o mesmo est na pgina lgica 010, com deslocamento 10. Este endereo convertido pela tabela de pginas e encontramos a pgina lgica 000, com deslocamento 10.
Y2 est no endereo fsico 101 01. Z3 est no endereo fsico 000 10.
103
Observa-se que no h necessidade de haver continuidade entre as pginas, ou seja, a pgina pode ser montada em qualquer localizao da memria fsica.
Sistemas Operacionais
O problema deste mecanismo de paginao est em definir o melhor tamanho de pgina, uma memria dividida em pginas grandes ter uma quantidade menor de pginas, dando menos trabalho para o processador cuidar do mapeamento. Por outro lado, isto aumenta a fragmentao interna (em cada pgina). Conforme Oliveira na prtica, os tamanhos de pgina variam entre 1Kbyte e 8Kbytes. Alguns outros controles tambm precisam ser implementados, como um mecanismo controle de pginas livres e controle de pginas ocupadas. Outra forma de gerenciamento de memria, mais intuitiva para o programador e o compilador a segmentao, que divide a memria em segmentos tipicamente correspondentes a: cdigo, dados estticos, dados dinmicos e pilha de execuo.
Segmentao
Neste mecanismo a memria lgica dividida em segmentos; uma endereos desta memria passa a ser identificado por um segmento + um deslocamento em relao ao inicio do segmento. Na carga do processo, estes segmentos so copiados para a memria fsica e a tabela de segmentos (tambm hospedada na MMU) construda.
Para enderear sua rea de memria, os processos geram endereos lgicos compondo o nmero do segmento associado a um deslocamento dentro do segmento. A MMU recebe esta informao e procura o segmento correspondente na tabela de segmentos e o deslocamento comparado com o limite se exceder, h uma violao de endereo e uma interrupo de acesso ilegal a memria gerada, encerrando o processo. Se o deslocamento valido, a MMU soma o deslocamento ao limite base para localizar o endereo na memria fsica. A figura G.8 procura demonstrar o mecanismo de segmentao.
104
Unidade G
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Localizando D1
o endereo lgico gerado ser: segmento 01 com deslocamento 00000; verificando na MMU, o segmento 01 tem base 00000 e limite 0100; a MMU diz que o endereo procurado vlido, porque deslocamento 00000 est entre a base e o limite; endereo fsico a soma entre base 00000 com deslocamento 00000, no caso 00000;
Localizando C3
o endereo lgico gerado ser: segmento 00 com deslocamento 00010; verificando na MMU, o segmento 00 tem base 01000 e limite 0110; a MMU diz que o endereo procurado vlido, porque deslocamento 00010 est entre a base e o limite estabelecidos; endereo fsico a soma entre base 01000 com deslocamento 00010, no caso 01010;
Localizando P2
o endereo lgico gerado ser: segmento 10 com deslocamento 00001; verificando na MMU, o segmento 10 tem base 10100 e limite 0011; a MMU diz que o endereo procurado vlido, porque deslocamento 00001 est entre a base e o limite estabelecidos; endereo fsico a soma entre base 10100 com deslocamento 00001, no caso 10101;
Localizando P4
este um endereo fantasma - no existe na memria lgica; o endereo lgico INFORMADO : segmento 10 com deslocamento 00011; verificando na MMU, o segmento 10 tem base 10100 e limite 0011; a MMU diz que o endereo procurado NO vlido, porque deslocamento 00011 mais base 10100 (10111) excedem o limite estabelecido na MMU 0011);
Apesar de ser mais intuitiva para os programadores, a segmentao traz novamente o problema da fragmentao externa, causado pelas repetidas alocaes/liberaes de blocos de memria (segmentos).
Segmentao paginada
105
A segmentao paginada resolve o problema desta fragmentao, fazendo uma associao entre segmentao e paginao. Neste caso temos uma memria lgica que lista uma tabela de segmentos e cada segmento contm uma tabela de pginas (exclusiva do segmento). O endereo de uma informao composto pelo conjunto nmero do segmento, nmero da pgina e deslocamento dentro da pgina.
Sistemas Operacionais
O swap uma tcnica que permite ao sistema operacional trabalhar com mais memria fsica do que realmente se tem disponvel no banco da memria principal. O gerenciador de memria trabalha com uma rea de disco rgido (HDD) reservada especialmente para expandir a memria fsica do computador em caso de falta deste recurso em tempo de execuo de processos.
Swapping
Esta rea de armazenamento especial de baixssima velocidade, ou seja, tem um tempo de acesso muito alto; desta forma, o sistema operacional transfere para esta rea preferencialmente os processos que sofreram algum tipo de bloqueio e esto fora da lista de processos prontos. O processo ainda existe mas por algum motivo (I/O por exemplo) est fora da lista de prontos. O swaping um recurso necessrio como segurana para o funcionamento do sistema operacional, no entanto, no queremos que seja utilizado dado que sua velocidade de operao muito lenta.
Sntese
O sistema operacional faz o gerenciamento da memria do sistema de forma integrada com o hardware, ou seja, h uma interdependncia entre hardware e sistema operacional; O sistema operacional trabalha com dois tipos de memria, que so: memria fsica so os componentes eletrnicos da memria propriamente dita. Os processos no tem acesso direto ao hardware de memria; memria lgica a memria que o processo v e utiliza; MMU Memory Management Unit a unidade de gerenciamento de memria, faz a interface entre memria lgica e memria fsica, alm de implementar diversos mecanismos de proteo da memria fsica. Gerenciamento exitem diversas formas/mecanismos de gerenciamento da memria, sendo que alguns so mais/ menos eficientes: Parties fixas a memria dividida em espaos fixos de tamanhos variados; problemas so fragmentao externa e interna; Parties variveis - memria dividida em parties com o tamanho exato solicitado pelo processo; causa muita fragmentao externa, devido a grande quantidade de lacunas entre parties criadas; Parties com pargrafos memria dividida em blocos de tamanho fixo e os blocos so alocados aos processos conforme a demanda. Possui baixa fragmentao interna e alguma fragmentao externa. Paginao memria lgica e fsica so dividias em pginas e na MMU h uma tabela que relaciona a pgina existente na memria lgica com a pgina existente na memria fsica. No possui fragmentao externa e pouca fragmentao interna. Segmentao memria lgica e fsica so dividias em segmentos e na MMU h uma tabela que relaciona o segmento na memria lgica com o segmento na memria fsica. Causa fragmentao externa. Segmentao paginada cria um mecanismo de segmentos com pginas; cada segmento tem um conjunto de pginas; a MMU faz o mapeamento entre os segmentos e as pginas da memria lgica com a memria fsica; Swaping um mecanismo de expanso da memria fsica no disco rgido; no caso de falta de memria fsica disponvel, processos podem ser transferidos para a rea de swap onde normalmente so bloqueados, devido ao baixo tempo de resposta deste tipo de rea.
106
Unidade G
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Atividades
1. Represente a memria fsica para a seguinte tabela de pginas e a seguinte representao da memria lgica.
00000 00001 00010 00011 00100 00101 00101 00110 00111 01000 01001 01010 x1 x2 a1 a2 v1 v2 v3 v4 a3 a4 pg. Lgica 000 001 010 Pg. Fsica 100 000 001 x3 x4
107
Sistema de arquivos
Unidade H
Sistemas Operacionais
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
1. SISTEMA DE ARQUIVOS
Apesar de todos os procedimentos internos de um sistema operacional serem importantes para o funcionamento da mquina, com o sistema de arquivos que o usurio mais entra em contato. Pode-se dizer que o usurio v o sistema de arquivos como sendo a parte mais importante do sistema operacional at porque muitas informaes pessoais esto confiadas a eficincia e confiabilidade do sistema de arquivos de um determinado sistema operacional. Nesta unidade, vamos estudar as os principais conceitos que compem um sistema de arquivos com seus principais mecanismos de gerenciamento.
Introduo
Conceitos bsicos
Arquivos
Arquivos so estruturas, que armazenam dados sensveis para o usurio, ou seja, que tem alguma importncia para este. O arquivo pode ser de vrios tipos, mas sempre com alguma finalidade dentro do sistema. O usurio, que neste caso poder ser um usurio comum ou um programador avanado, confia que seus dados estejam devidamente armazenados em arquivos.
Diretrios (atualmente designados por pastas) so arquivos especiais, que armazenam listas de arquivos e outros diretrios. So utilizados para facilitar a organizao dos sistemas de arquivos modernos. Basicamente, no concebemos um sistema operacional que no permita uma separao de arquivos conforme nossa inteno.
Diretrios
A mdia o meio onde os dados so armazenados, podendo ser um disco rgido, um cdrom, uma pendrive. Cada mdia tem um mecanismo particular de armazenar os dados e cabe ao sistema operacional apresentar uma abstrao compreensvel deste sistema. Em outras palavras, o sistema operacional deve oferecer uma interface amigvel e eficiente para que o usurio possa manipular seus arquivos.
Disco
Uma partio uma diviso lgica que o disco deve ter e que gerenciado pelo sistema operacional. Todo sistema operacional trabalha com o conceito de parties para fins de possibilitar a abstrao que se prope. Um disco deve possuir pelo menos uma partio onde ser gravado o sistema de arquivos daquele sistema operacional em especfico.
Parties
Uma partio deve ser preparada com um e somente um sistema de arquivos (uma partio no comporta mais que um sistema de arquivos). Este sistema de arquivos ir definir como ser o arquivo propriamente dito alm de definir com o ser o gerenciamento de suas operaes e caractersticas.
Sistema de arquivos
111
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
O arquivo, que seria a menor parte do sistema de arquivos; que conforme visto anteriormente possui algum significado para o usurio possui tambm alguns atributos que variam de sistema operacional parra sistema operacional. De forma geral os atributos podem ser:
O arquivo
tipo texto, binrio, registro, imagem. Tamanho informa o espao do disco utilizado pelo arquivo em bytes; ltimo acesso alguns sistemas informam quando o arquivo foi aberto pela ltima vez; ltima modificao sistema informa quando foi a ltima alterao que o arquivo sofreu; dono do arquivo informa qual usurio o dono do arquivo;
Naturalmente queremos que o sistema operacional nos permita fazer o manuseio dos arquivos que gerencia. Logo, necessrio que o sistema oferea um conjunto de operaes bsicas para este servio.
Criao
Remoo
operao para apagar arquivos sempre que for necessrio;
Leitura
operao de abrir um arquivo e visualizar seu contedo; obedecendo o conjunto de permisses especificado.
Alterao
operao para abrir um arquivo e fazer alteraes dentro deste; obedecendo o conjunto de permisses especificado.
Alterao de permisses
Outras operaes podem ser compostas a partir de operaes bsicas, como por exemplo:
deve ser possvel, para o proprietrio do arquivo, modificar as permisses de um arquivo.
Cpia de arquivo
criao de novo arquivo: cria novo arquivo de destino leitura do arquivo: arquivo de origem lido; escrita no fim do arquivo: contedo lido gravado no fim do arquivo recm-criado.
112
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Movendo arquivo
criao de novo arquivo: cria novo arquivo de destino leitura do arquivo: arquivo de origem lido; escrita no fim do arquivo: contedo lido gravado no fim do arquivo recm-criado. remoo do arquivo de origem: arquivo antigo apagado.
Basicamente, o sistema operacional no se preocupa com o contedo do arquivo (no faz diferena o que tem dentro do arquivo) e, via de regra, o sistema operacional v o arquivo como uma sequencia de bytes, cujo significado conhecido pelo usurio [Oliveira, pg, 146, 2008]. Por outro lado, a estrutura interna, ou a forma com que os dados so armazenados interfere na em alguns aspectos do acesso deste arquivo.
O arquivo pode ter diversos formatos (estruturas) internas de armazenamento dos dados. Este formato est diretamente ligado aplicao que faz uso do arquivo.
Texto organizados em linhas/pargrafos; Binrio organizado em segmentos de dados; Registros organizados em campos; Imagem organizados em conjuntos de pixels.
Arquivos podem ter extenses de nome, que so um adendo ao nome, frequentemente utilizados pelo usurio para auxlio na organizao do usurio proprietrio do arquivo, no interferindo na forma com que o sistema operacional trata estes arquivos, mas informando
Extenso de nome
As vezes arquivos com mesma funo, mas de programas diferentes possuem extenses diferentes. Por exemplo arquivos texto feitos no editor Word possuem extenso .doc, enquanto arquivos texto feito no editor Broffice possuem extenso .odt. Na tabela a seguir, so apresentados algumas extenses clssicas.
Tipo
Arquivo texto
Extenso
.txt .c .doc / .docx
.odt
O controle de acesso um recurso para sistemas operacionais multiusurios para garantir a proteo dos arquivos, determinando regras de acesso e bloqueio. Todo arquivo possui um conjunto de informaes informando a qual usurio ele pertence e as regras de permisses de acesso.
Controle de acesso
O controle de permisses, via de regra, comea no ato de login de um usurio quando o usurio informa seu login e senha; caso seja autenticado no sistema o usurio ganha permisso de acesso e inicia uma
113
sesso de trabalho, que poder ser em um ambiente de texto ou grfico. A partir deste momento o sistema operacional sabe quem est logado e todos os processos disparados pelo usurio herdaro seus direitos de acesso.
Sistemas Operacionais
Ao fazer um acesso a um arquivo o sistema operacional confere se o usurio que est executando a ao consta na lista de permisses do arquivo acessado; estando autorizado o acesso acontece normalmente; no estando autorizado o sistema operacional emite um aviso de acesso no autorizado. Exemplo:
arquivo notas.txt pertence ao usurio professor, que tem permisso total de acesso; professor pode liberar acesso do tipo somente leitura para usurio aluno;
O sistema operacional pode ainda trabalhar com o conceito de grupos de usurios, em que diversos usurios so associados a um grupo (normalmente esta associao acontece por alguma ponto em comum ou semelhana de comportamento). A partir deste ponto, poderemos liberar o acesso a um grupo de usurios. Exemplo
arquivo notas.txt pertence ao usurio professor, que tem permisso total de acesso; professor pode liberar acesso do tipo somente leitura UM GRUPO de alunos;
O arquivo pode ser acessado de diversas formas, o que poder interferir no desempenho deste ou daquele tipo de arquivo. Abaixo vemos os principais tipos de acesso.
Forma de acesso
O arquivo comea a ser lido do incio para o fim. Este o mtodo mais simples de se acessar um arquivo em que as informaes so buscadas parte por parte (sequencialmente).
Acesso sequencial:
compiladores que precisam acessar o arquivo-fonte de forma sequencial; impressora que precisa imprimir o arquivo do incio ao fim.
Este mtodo de acesso inadequado para pesquisa de dados em arquivos do tipo registro porque para buscar um registro em qualquer posio do arquivo, teramos que percorrer o mesmo desde o incio.
O acesso relativo utilizado para pesquisa em uma coleo de registros. Basicamente ao buscar uma informao, informamos exatamente o registro que queremos ler. Desta forma, temos um acesso muito mas rpido, isto porque no precisamos percorrer todo o arquivo para recuperar uma informao. Por outro lado este mecanismo ineficiente para busca em arquivos texto (cdigo fonte por exemplo), j que no temos uma estrutura de registros interna.
Acesso relativo:
Este sistema de acesso equivalente ao acesso a banco de dados gerenciado por um SGBD.
Neste mecanismo a leitura ser feita a partir do local em que estamos dentro do arquivo (posio corrente) no necessrio informar a posio a ser lida. Alm disso, possvel reposicionar o cursor dentro do arquivo para novas leituras.
Posio corrente:
114
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
A implementao de arquivos define como um sistema operacional cria e mantm um arquivo no seu sistema. Diversos mecanismos e formas podero ser implementados, havendo diferenas entre sistemas operacionais. Neste ponto vamos estudar a forma elementar ou clssica para implementao de arquivos.
Implementao de arquivos
O sistema operacional tem uma estrutura de controle interna, chamada descritor de arquivo1 , que guarda todas as informaes de um determinado arquivo. Em outras palavras, cada arquivo possui um descritor que descreve o arquivo. As informaes mnimas que compem um descritor de arquivos so:
Descritor de arquivos
O descritor de arquivos uma informao persistente, ou seja, no se perde quando o sistema desligado. Para que isto seja possvel os descritores de um sistema de arquivos so guardados no prprio disco, dentro da prpria partio onde esto os arquivos a que eles (os descritores) se referem. No ato da criao da partio, o sistema operacional reserva algumas reas do disco para armazenar guardar estes descritores evidentemente, estas so reas protegidas e que um usurio comum no tem acesso. Para acessar um arquivo, o descritor de processo precisa antes ser carregado na memria e ficar carregado pelo tempo que o arquivo estiver sendo manipulado. Ao fazer o encerramento de uso do arquivo, o descritor que est na memria salvo no disco, atualizando as informaes para o prximo uso.
nome do arquivo; extenso do arquivo (nos casos em que for necessrio); tamanho do arquivo; ltimo acesso; ultima modificao no arquivo; identificao do proprietrio do arquivo; lista permisses com usurios e a respectiva permisso; localizao do arquivo no disco informa o endereo do arquivo dentro do disco.
Para fazer acesso a algum arquivo o processo solicitante precisa disparar uma chamada de sistema informando sua inteno e com qual arquivo. Esta relao mantida, na memria do sistema operacional, em uma estrutura chamada tabela de descritores de arquivos abertos. Desta forma, o sistema operacional sabe quais arquivos esto abertos e por quais processos, alm de controlar qual o tipo de acesso o processo est executando no arquivo.
Tipicamente, uma TDDA carrega todas as informaes do descritor de arquivos, alm de controlar quantos e quais processos esto acessando/manipulando determinado arquivo.
O sistema operacional tambm precisa ter controle sobre as variveis de cada processo em relao a um determinado arquivo. Isto ocorre porque cada processo pode abrir um mesmo arquivo de formas diferentes; aqui entra uma outra estrutura de controle chamada Tabela de Arquivos Abertos por Processo que mantm informaes que relacionam o processo com o descritor de arquivos aberto. Por exemplo:
115
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
modo de acesso do processo no arquivo-fonte leitura/escrita (RW) somente leitura (RO) localizao do cursor de leitura dentro do arquivo; alteraes do processo (antes do salvamento).
O procedimento de abertura de um arquivo poder variar entre sistemas operacionais. Quando um processo emite uma chamada de sistema para abertura de um arquivo, o sistema operacional segue (basicamente) os seguintes passos:
1. procura no disco o descritor de arquivo que se busca a) esta pesquisa feita no diretrio corrente ou no diretrio informado na chamada de sistema;
2. Se o descritor no encontrado ento o arquivo no existe e um aviso dado ao processo solicitante; 3. Se o descritor encontrado, um cdigo (tipo um endereo), composto pela partio + endereo do descritor retornado para a chamada de sistema; 4. O sistema de arquivos consulta a TDAA para verificar se o descritor de arquivo localizado j est aberto. a) b) Se NO EST aberto, carrega o descritor de arquivo na TDDA; Se J EST aberto, incrementa o nmero o registro de quantos processos esto usando este descritor da arquivo;
5. Uma vez que o descritor de arquivo est carregado na TDDA o sistema operacional confere se o processo tem permisso de manipulao do arquivo; a) Se permisso est certa prossegue liberando o arquivo para uso do processo; b) Seno gera um erro que comunicado ao processo e fecha o arquivo;
1. o sistema de arquivos localiza o descritor na TDAA e decrementa o contador de processos usando o descritor de arquivo; 2. quando este contador chegar a zero, o sistema de arquivos sabe que no h mais processos fazendo uso do arquivo; ento o registro fechado, ou seja, o espao na TDAA liberado para uso por outro descritor de arquivo.
Um sistema operacional tem um conjunto bastante grande de chamadas de sistema, disponveis para uso dos programadores, atravs das bibliotecas de funes das linguagens de programao. Este conjunto de funes conhecido como API2 da linguagem de programao especifica. Um programador precisar ter o mnimo de domnio destas funes para programar para em determinado sistema operacional com determinada linguagem.
Manipulando arquivos
116
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
O pequeno programa acima mostra a utilizao de manipulao de arquivos. Para testar, basta compilar na maquina virtual configurada:
117
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Para testar:
$ ./arq teste.txt
Sntese
O sistema operacional responsvel por apresentar de uma interface amigvel para gerenciamento de arquivos; o sistema de arquivos do sistema operacional ir viabilizar o gerenciamento dos arquivos do sistema; Arquivo uma estrutura, que fica armazenada em um meio e que contem dados que fazem sentido para algum usurio, mas no tem importncia para o sistema operacional. Diretrios so arquivos especiais seu contedo so listas de arquivos e outros diretrios. Os diretrios so teis para facilitar a organizao dos arquivos do sistema/usurios. Um disco (ou outro meio de armazenamento) dever ter pelo menus uma partio (que ma diviso lgica) com um sistema de arquivos (que determina como os arquivos so armazenados). Todo arquivo possui uma estrutura interna, seus dados podero ser estruturados na forma de linhas/pargrafos, registros, cdigo ou pixels; outras formas podem ser encontradas e/ou desenvolvidas. O sistema operacional poder acessar os arquivos de diversas formas (sequencial, relativo, ou posio corrente); a escolha do mtodo ir depender do tipo de arquivo/aplicao que est sendo usada. O arquivo possui uma estrutura de dados para seu controle chamada descritor de arquivo, que controla diversas informaes de todos os arquivos do disco; cada arquivo possui um descritor de arquivo; O sistema de arquivos mantm uma tabela de descritores de arquivos abertos para controlar quais arquivos esto abertos e por quais processos em determinado momento; O sistema de arquivos mantm uma outra tabela de arquivos abertos por processo para controlar variveis que so pertinentes para um processo especificamente;
Atividades
1. Montar um programa que faa uma cpia do arquivo criado no exerccio feito pelo cdigo anterior.
118
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
2. SISTEMA DE ARQUIVOS
Na parte anterior, verificamos alguns conceitos fundamentais sobre o sistema de arquivos. Nesta unidade, vamos aprofundar um pouco mais na forma com que o sistema de arquivos gerencia o arquivo no disco, focando principalmente na forma com que os arquivos so armazenados no espao do disco.
Introduo
O HD, tambm chamado de memria secundria, um dispositivo eletromecnico que armazena dados em um disco magntico. Dentro do hd, temos diversos componentes que trabalham de forma integrada. As principais partes internas do disco so (acompanhar na figura 1):
O HD
So os discos magnticos onde as informaes so gravadas. Observando a figura atentamente, pode-se verificar que o HD apresentado contm dois discos magnticos. HDs comuns so fabricados com 2, 3 ou 4 discos, sendo que cada disco gravvel nas duas faces.
Discos (platter)
o componente que grava/l o disco. Esta pea nunca encosta na superfcie do disco e sim fica a uma distncia milimtrica. Para cada disco, h duas cabeas leitoras (uma para cada face).
Cabea leitora
Este componente faz a movimentao da cabea leitora na rea do disco, para que o conjunto localize o local do disco onde est a informao buscada.
Brao de leitura
119
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Saiba mais:
<http://www.hardware.com.br/livros/hardware/capitulo-hds-armazenamento.html>
A organizao interna do disco determina como ser o trabalho do hardware e do sistema operacional para gravao/recuperao de dados. Todos os discos possuem a mesma geometria, sendo que neste esquema que ser feito a partio e criado o sistema de arquivos. Na figura H.2 podemos observar o esquema da geometria no caso, representado com 4 discos.
Geometria do disco
Cada superfcie do disco dividida em trilhas (track na figura) e setores (sector na figura); as trilhas so linhas, na forma de crculo concntrico, que so endereadas por um nmero (0,1,2 ...) - a trilha mas externa (a maior delas) recebe o endereo 0. Cada trilha subdividida em setores, de 512 bytes, onde so armazenados as informaes. As trilhas , que esto nas duas superfcies de cada disco so perfeitamente alinhas com os outros discos e suas superfcies. O conjunto de trilhas (de todos os discos) com mesmo endereo formam um cilindro (cylinder na figura). Na figura, vemos que a trilha 0 de todas as superfcies esto alinhadas podemos abstrair este desenho e visualizar o cilindro. Cada cilindro recebe o endereo da trilha.
O hardware do disco faz o controle desta geometria que vem especificado pelo fabricante, por um procedimento chamado formatao fsica. No podemos fazer modificaes nesta formatao, porque implicaria em modificar a geometria do disco. O acesso a um dado em um disco um processo bastante complexo, que envolve diversas interfaces, que fazem tradues at que se possa chegar ao local fsico em que est o dado. Neste subitem, fazemos uma sntese deste procedimento de localizao de informaes.
Acessado um dado
Para que ns usurios possamos acessar uma arquivo, basta informarmos em qual partio, em qual diretrio e qual o nome do arquivo que queremos.
120
O processo envia esta informao para o sistema de arquivos (atravs de uma chamada de sistema), que faz uma converso deste endereo para outra informao chamada bloco fsico. O bloco fsico ento enviado controladora do disco, que faz nova converso deste endereo e localiza em qual cilindro, em qual superfcie e em qual setor est a informao buscada.
Unidade H
Uma vez localizado o dado, este lido e enviado pela controladora ao sistema operacional, que repassa ao processo. O sistema de arquivos pode fazer a organizao dos setores lgicos de vrias formas, cada qual com suas vantagens/desvantagens, que iro impactar no desempenho e forma de funcionamento do sistema de arquivo. Evidentemente, alguns mtodos de alocao no so utilizados comercialmente, enquanto outros se aproximam bastante dos mtodos de alocao nestes sistemas.
Alocao de arquivos
Descritor de ARQ1
inicio = 3; fim = 6;
Descritor de ARQ2
inicio = 8; fim = 10;
Descritor de ARQ3
inicio = 11; fim = 12;
Observa-se que os arquivos ocupam blocos fsicos do disco em sequncia, por outro lado, se ARQ2 precisar aumentar de tamanho, no h blocos contguos disponveis. Em outras palavras, temos espao em disco disponvel, mas no podemos alocar para ARQ2. Uma soluo seria reorganizar todos (ou parte) dos arquivos para que o espao disponvel passe a ficar contguo. Vantagens
simplicidade para implementao; velocidade na busca de todos os blocos do arquivo;
Desvantagens
121
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Para resolver o problema do crescimento de arquivos, precisa-se de um mecanismo que facilite este crescimento. Para isto, utiliza-se uma estrutura de dados em que o cada bloco sabe o endereo do prximo bloco do arquivo. A figura H.4 procura demonstrar este recurso. No disco hipottico apresentado, h 3 arquivos e seus descritores de arquivo simplificados so:
Alocao encadeada
Descritor de ARQ1
inicio = 3; tamanho = 4;
Descritor de ARQ2
inicio = 8; tamanho 4;
Descritor de ARQ3
inicio = 11; tamanho = 3;
Cada bloco fsico reserva uma parte de seu espao para registrar o endereo do prximo bloco, por exemplo 4 bytes. Desta forma, o arquivo no cresce de forma contgua, o que pode ser observado em ARQ2, que est espalhado pelo disco. Alm disso, o bloco descritor no aponta mais o fim do arquivo e sim seu tamanho. O ltimo bloco de cada arquivo aponta para um endereo chave -1 (que no caso indica fim do arquivo). Vantagens
permite o crescimento do arquivo; velocidade na busca de todos os blocos do arquivo;
Desvantagens
perde espao em disco para fazer o encadeamento - para blocos de 4 Kbytes, utilizando 4 bytes de cada bloco, perde-se 0,1% do espao em disco para este controle. NO permite acesso relativo para acessar o bloco 4 de ARQ2, precisamos percorrer todo o arquivo o que um problema para arquivos grandes;
A alocao indexada permite o crescimento do arquivo alm de permitir o acesso relativo. Neste sistema, a lista de blocos ocupados pelo arquivo transferida para dentro do descritor de arquivo, onde uma lista indexada criada e armazena os endereos do prximo bloco. A figura H.5 procura demonstrar este esquema. No disco hipottico apresentado, h 2 arquivos, que so ARQ1 e ARQ2.
Alocao indexada
122
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Cada descritor de arquivo possui uma tabela indexada que registra o endereo do prximo bloco do arquivo, permitindo por exemplo buscarmos diretamente ; desta forma, podemos permitir o crescimento do arquivo e tambm acessar qualquer registro do arquivo diretamente. Para permitir arquivos maiores, teramos que ter uma tabela de ndices maior - por exemplo para arquivos de 2GBytes precisamos de uma tabela com 500.0001 ndices, o que ir consumir muita memria (j que os descritores de arquivos ficam carregados na memria). Vantagens
permite o crescimento do arquivo; permite acesso relativo;
No entanto, o crescimento do arquivo limitado ao tamanho da tabela de ndices, que no caso da figura H.5, poderemos enderear 10 blocos de 4KB cada, o que nos permite um arquivo de tamanho mximo de 40KBytes (que um tamanho de arquivo bem limitado).
Desvantagens
Para resolver o problema do crescimento de arquivos, adota-se nveis de indireo na tabela de indexao. O mtodo de localizao fica muito parecido com o mtodo de indexao convencional. A figura H.6 procura representar o mecanismo2.
1. 2GB / 4KB = 500.000 2. Deve-se considerar que no possvel representar muitos blocos fsicos.
123
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
No descritor de arquivos, que agora contem 11 ndices, os 10 primeiros ndices so apontadores diretos, ou seja, apontam blocos os blocos fsicos do arquivo diretamente o que permite um arquivo de at 40KB3 . Para permitir o crescimento do arquivo, utiliza-se o ndice de nmero 10 aponta para um bloco fsico no disco (no caso bloco 18) que por sua vez funciona como um indexador.
Como cada bloco fsico contm 4KB e um cada indexador ocupa 4bytes, podemos ter em um bloco fsico 1024 ndices. Verifica-se que o bloco 18 est apontando para 1024 blocos fsicos (no possvel desenhar isto); o que nos permite aumentar nosso arquivo para 4,2MBytes. Considerando que 1KB = 1024B ento 4KB = 4096bytes o valor exato disponibilizado :
Como Fazer:
(4096 x 10 ndices diretos) + (1024 ndices indiretos x 4096) = 4235264 bytes que arredondando d 4MBytes.
E se precisarmos de um arquivo maior, usamos dois nveis de indireo (apontador duplamente indireto, que no caso, ir apontar para 1024 APONTADORES de 1024 blocos fsicos de 4KB. Isto permite ao arquivo atingir 4,2GBytes.
124
Unidade H
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Considerando que 1KB = 1024B ento 4KB = 4096bytes o valor exato disponibilizado com apontador duplamente indexado : (4096 x 10 ndices diretos) + (1024 ndices indiretos x 4096) + (1024 x (1024 ndices indiretos x 4096))= 4299202560 bytes, que arredondando d 4GBytes.
Como Fazer:
E se ainda assim, nosso arquivo precisar aumentar de tamanho, lanamos uso do apontador triplamente indexado, que aponta para 1024 APONTADORES, onde cada um apontam para 1024 outros APONTADORES, que por sua vez apontam para 1024 blocos fsicos de 4K. Isto permite ao arquivo atingir 4,4TBytes o que, para os padres atuais, considerado um arquivo bem grande. Considerando que 1KB = 1024B ento 4KB = 4096bytes o valor exato disponibilizado com apontador duplamente indexado : (4096 x 10 ndices diretos) + (1024 ndices indiretos x 4096) + (1024 x (1024 ndices indiretos x 4096)) + (1024 x (1024 x (1024 ndices indiretos x 4096))) = 4402345713664 bytes, que arredondando d 4,4 TBytes. Normalmente, um computador pessoal precisa ter acesso a diversos sistemas de arquivos porque acessamos diversas mdias normalmente cada tipo de mdia tem seus prprio sistema de arquivos, por exemplo:
Como Fazer:
CDROM sistema de arquivos ISO9660; DVDROM sistema de arquivos UDF ou RAW; Carto de memria sistema de arquivos FAT16, FAT32 e suas variaes;
Desta forma, o sistema operacional precisa reconhecer e manipular diversos sistemas de arquivos. Logo h necessidade de uma interface universal para todos estes mecanismos para gerenciamento de arquivos. Os dois principais sistemas de arquivos para acesso mltiplo so:
HD com mltiplas parties, cada qual com seu prprio sistema de arquivos; Virtual File System VFS, desenvolvido pela SUN; File System Switch FSS, desenvolvido pela AT&T;
Sntese
O hd um dispositivo eletromecnico complexo, para acessar um dado em sua estrutura interna, preciso que o sistema operacional informe em qual bloco fsico o dado est. Internamente, a controladora do hd transforma esta informao para um endereo contendo Cilindro, Disco e Setor. O sistema de arquivos um mecanismo que organiza e gerencia a forma com que os dados so armazenados. As principais formas organizao so: alocao contgua: simples mas no permite o crescimento do arquivo; alocao encadeada: permite o crescimento do arquivo mas no permite acesso relativo; alocao indexada: permite acesso relativo e um crescimento limitado do arquivo; alocao indexada com nveis de indireo na indexao: permite acesso relativo e um crescimento considervel do arquivo;
125
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Atividades
1. Identificar as quais caractersticas estudados nos mecanismos de alocao clssicos esto presentes nos dois sistemas de arquivos FAT32 (Microsoft) e ext3 (Sistemas Unix-like).
126
Gerenciamento de I/O
Unidade I
Sistemas Operacionais
Unidade I
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
UNIDADE
GERENCIAMENTO DE I/O
Sempre que fazemos uso de um sistema informatizado, seja em um PC; um servidor; um supercomputador; um celular ou smartphone ou at mesmo um forno micro-ondas microprocessado; estamos fazendo uso de dispositivos de entrada (IN) e sada (OUT). Estes dispositivos servem para permitir que ns usurios possamos interagir com o sistema. Para que um PC tenha usabilidade (sirva para alguma coisa), precisamos de no mnimo um teclado; um mouse e um monitor; sem os quais no temos interao com a mquina. Nesta unidade vamos estudar como o sistema operacional faz o gerenciamento de I/O.
Introduo
Verifica-se que existe uma grande diversidade de dispositivos de entrada e sada para computadores. Diante desta variedade, podemos fazer algumas classificaes:
Dispositivos de I/O
Os dispositivos de armazenamento servem para armazenar arquivos que representam dados de usurios ou programas de usurios. Nesta categoria, h uma variedade bastante grande de dispositivos, que por sua vs so encontrados em grande variedades de tipos, tamanhos, formatos. Estas caractersticas iro variar conforme a aplicao a que dispositivos se destina, no entanto seu funcionamento bsico ser sempre o mesmo. So exemplos de dispositivos de armazenamento:
HD (disco rgido); Leitores de CDROM/DVDROM; Leitores de discos flexveis; unidades de fita magntica;
Cartes de memria.
Esta categoria de dispositivo tem por objetivo permitir que o usurio possa interagir com o sistema. Esta interao pode acontecer de diversas formas e novamente ir depender do objetivo da aplicao. So exemplos de dispositivos de interface humana:
Interface humana
teclado, mouse, monitor; tela para touch (touch-pad, touch-screen); equipamentos de realidade virtual (luvas, culos, etc); sistema de som (microfone, altofalantes);
cmeras de vdeo.
129
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Esta categoria de dispositivo tem por objetivo viabilizar a comunicao ou a interao entre sistemas. Uma comunicao cliente/servidor; um sistema distribudo so exemplos de aplicaes destes dispositivos. So exemplos de dispositivos de comunicao inter-mquinas:
Comunicao inter-mquinas
placa de rede (cabeada, sem fio); bluetooth; USB; WIMAX; Infra-vermelho; I2C.
Dispositivos de entrada
teclado; mouse; microfone; scanner.
Dispositivos de sada
vdeo; impressora; alto-falantes.
So dispositivos que permitem tanto a entrada quanto a sada de informaes em um sistema. Exemplo:
Dentro de um computador, todas as informaes (comandos ou dados) so binrias e so expressas em bytes (1 byte um conjunto de 8 bits). Tipicamente, computadores modernos trabalham com larguras de barramento de 64bits ou 32bits.
Nossos dispositivos tambm podem ser classificados (separados) quanto a forma com que estes bits so transportados entre o dispositivo e o computador. Os dois principais tipos de comunicao de dispositivos com o computador so: Neste tipo de comunicao os bits so enviados em paralelo (simultaneamente) por um caminho chamado barramento. Todas os bits saem e chegam ao mesmo tempo no no device.
Paralelo
130
Unidade I
Neste tipo de comunicao os dados da comunicao so postos em uma fila e enviados um aps o outro em um nico fio (meio de comunicao);
Serial
Impressora com interface serial ou USB; HDs SATA (atuais) HDs SAS (atuais) Controladoras de vdeo PCI-X
Atualmente, muitos dispositivos esto sendo migrados para comunicao serial porque este padro permite um aumento da frequncia da comunicao com menor taxa de interferncia. Como consequncia temos um melhor desempenho. Um dispositivo, por qualquer que seja, nunca se conecta diretamente ao barramento do computador sempre necessrio um hardware intermedirio que faz o controle interno do dispositivo e cria uma interface de acesso com o hardware. A figura I.1 procura representar isto.
Ateno:
Interfaceamento
Verifica-se na figura I.1 a representao hipottica de um computador com 2 devices, sendo um HD e uma Placa de rede. O device no est ligado diretamente ao computador; a ligao feita atravs de uma interface, que faz a mediao entre o dispositivo e o computador.
131
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Toda interface precisa e uma controladora dedicada. Esta controladora um processador que o fabricante do device projetou para que seja feito o controle da interface e do prprio device. A controladora conhece a arquitetura interna e os mecanismos de funcionamento do device.
Controladora
A controladora apresenta ao sistema um conjunto de operaes genricas para manipulao dos dados do device; estas operaes genricas so solicitadas controladora do device pelo sistema operacional. A controladora traduz o pedido do sistema operacional para aes de controle do device. So exemplos de operaes genricas:
ler dados - informa ao device que se quer ler algum dado dele; escrever dados - informa ao device que se quer gravar algum dado nele; ler status - para verificar como est a situao do device. Pode estar ocupado, aguardando, hibernando ou algum outra situao especfica do tipo de device; reinicializar - para que o device reinicialize seu mecanismo e controles internos.
Um problema importante saber como o processador enderea ou encontra o dispositivo entre diversos outros. Este mecanismo depende basicamente da arquitetura do hardware em uso.
Endereamento do dispositivo
Neste mecanismo, tpico da arquitetura CISC, os dispositivos de I/O so endereados como se fossem um endereo de memria. Basicamente o espao de endereos de memria dividido e at um endereo memria e dali pra diante I/O o sistema operacional sabe o que est acessando pelo endereo usado. A figura I.2 procura mostrar este esquema de endereamento.
No exemplo hipottico:
O range de 0000 at 7FFF memria, permite uma quantidade de 32 KB; O range 9000 at 90FF endereamento da controladora de som;
132
Unidade I
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Neste mecanismo, tpico da arquitetura RISC, os dispositivos de I/O so endereados diretamente, ou seja, o espao de endereamento de I/O completamente dissociado do espao de endereamento da memria. A figura I.3 procura mostrar este esquema.
No exemplo hipottico
O range de 0000 at 7FFF memria, permite uma quantidade de 32 KB; O range de 0000 at 00FF endereamento da controladora de som;
Neste mecanismo, no h uso de chamada de sistema; O controle de entrada e sada responsabilidade do programador, o que aumenta a complexidade do programa escrito; Processo acessa a I/O mas no sai do processador (muita perda de tempo); Atualmente os sistemas operacionais no permitem mais este tipo de comunicao.
Interrupes
Neste mecanismo, j h uso de chamada de sistema; O processos pede I/O para o sistema operacional, que envia para o device; Quando device tem a resposta, envia uma IRQ (requisio de interrupo) para o processador, que para o que est fazendo e atende o device, levando seus resultados para a rea de memria do processo solicitante; requer mecanismo de controle de IRQ (presente em todos os computadores atuais).
DMA
Direct Memory Accesss Neste mecanismo, j h uso de chamada de sistema; O processos pede I/O para o sistema operacional, que envia para o device; Quando device tem a resposta, entrega direto na rea de memria do processo solicitante; A grande vantagem a economia de tempo do processador (que no se preocupa em fazer o transito de informaes entre I/O e processo; requer circuito controlador de DMA.
133
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Os sistemas de I/O costumam ter algum nvel de complexidade, isto ainda associado a grande diversidade de dispositivos de I/O no mercado; diversos fabricantes; diversos modelos; diversos tipos. Como o sistema operacional controla tudo isto ?
Subsistema de I/O
O subsistema de I/O um mdulo do sistema operacional responsvel por este controle. Os principais objetivos deste subsistema so:
reduzir o nmero de rotinas de acesso (para simplificar); permitir a incluso de um novo device no sistema operacional sem ter que modificar a interface para o usurio final; padronizar o acesso aos devices.
O subsistema de I/O organizado (separado) em 4 camadas fundamentais, cada qual com uma funcionalidade. Cada camada entrega camada superior uma abstrao mais simples para acessar a camada inferior; quanto mais alta a camada mais simples ou padronizado mecanismo de acesso (a abstrao). Aqui por abstrao, entende-se o nvel de complexidade necessrio para acessar o dispositivo. A figura I.4 procura representar este subsistema.
Esta camada representa o hardware propriamente dito todos os dispositivos com suas respectivas interfaces e controladoras. Neste nvel, toda atividade acontece em nvel de comandos eletromecnicos (no caso do HD e leitores de CD/DVD) e eletrnicos.
Primeira camada
Cada device presente na camada de hardware possui seu conjunto prprio de operaes e modo de funcionamento. Nesta camada o sistema operacional faz sua interface com o hardware, para cada hardware presente deve haver um driver fazendo a traduo dos comandos do sistema operacional para o hardware.
Segunda camada
A camada 2 fornece a camada 3 uma viso uniformizada dos dispositivos presentes no computador. Aqui, fica clara a afirmao de Tanenbaum, feita na unidade A, o sistema operacional esconde do programador o hardware e tambm oculta muitas coisas desagradveis relacionadas com interrupes, temporizadores, gerenciamento de memria e outros recursos de baixo nvel.
134
Unidade I
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
O device driver um mdulo de software fornecido pelo fabricante do dispositivo que anexado ao sistema operacional e permite que estes se conversem. O device driver um componente obrigatrio para todos os dispositivos presentes. Nos sistemas operacionais atuais, o device driver costuma ser automaticamente carregado na instalao do dispositivo caso isto no acontea, o dispositivo no funcionar e ser necessrio fazer a instalao manualmente.
Device Driver
O driver sempre dependente do sistema operacional, ou seja, um driver compilado para o sistema operacional GNU/Linux no ser compatvel com o sistema operacional Microsoft Windows1
1. Marcar registrada da Microsoft Corporation
A terceira camada implementa um conjunto de funes comuns a todos os dispositivos aqui no temos mais a diversidade das camadas 1 e 2. Os principais procedimentos implementados so:
Terceira camada
Escalonamento de I/O:
controla o acesso ao dispositivo; busca organizar o acesso do dispositivo principalmente quando h concorrncia pelo recurso; algoritmos escalonadores anlogos ao escalonador do processador;
Denominao:
controla a identificao dos dispositivos, para que o sistema operacional possa fazer referncia a este ou aquele dispositivo. Em Linux, os nomes dos dispositivos podem ser vistos na pasta /dev2 O HD SATA por exemplo: /dev/sda identifica o primeiro HD Sata do sistema /dev/sdb identifica o segundo HD Sata do sistema /dev/sda1 identifica a primeira partio do primeiro HD Sata /dev/sda2 identifica a segunda partio do primeiro HD Sata
Bufferizao:
implementa um mecanismo de memria intermediria para fazer o ajuste entre a quantidade de informao que se quer acessar/gravar em um determinado dispositivo;
Cache de dados:
mecanismo para armazenar os dados mais acessados de um dispositivo, para otimizar o desempenho; alguns sistemas operacionais implementam cache de disco com prefetching, onde o objetivo antecipar a ao do usurio carregar neste cache os prximos arquivos que sero abertos pelo usurio.
Alocao/liberao:
mecanismo que gerencia a reserva e a liberao de um recurso; impressora por exemplo pode ser usada por usurio por vez para controlar isto, implementa-se um mecanismo de spool para enfileirar as requisies dos usurios.
Direitos de Acesso:
controle de permisses de acesso para dispositivos; podemos permitir/negar a utilizao da impressora para este ou aquele usurio.
135
Sistemas Operacionais
Fomento ao Uso das Tecnologias da Informao e Comunicao
Tratamento de erros:
alguns erros podem ser tratados diretamente nesta camada, para diminuir a quantidade de erros ocorridos na prxima camada.
A quarta camada a API que o programador faz uso para manipulao dos dispositivos. Aqui tem-se acesso s funes que iro controlar os dispositivos do computador.
Quarta camada
Sntese
Dispositivos de I/O so responsveis interao entre usurio maquina e mquina mquina. Os dispositivos de i/o podem ser classificados de diversas formas: funo armazenamento, interao homem-mquina, interao mquina-mquina; direo na comunicao entrada, sada e entrada/sada; tipo de comunicao serial / paralelo todo dispositivo precisa de uma interface para trabalhar esta interface um circuito que fica entre o barramento do computador e o dispositivo propriamente dito. Toda interface controlada por um processador dedicado ao dispositivo; os dispositivos de I/O podem ser endereados diretamente ou com o se fossem uma rea de memria; os dispositivos de I/O podem transmitir seus dados de 3 formas I/O programada em que o programador faz todo o controle da transmisso dos dados (mtodo no mais utilizado porque desperdia tempo de processamento); Interrupes - o dispositivo envia uma interrupo ao processador avisando que os dados esto disponveis; o processador para o que est fazendo e envia os dados do device para o processo; DMA o dispositivo de I/O entrega seus dados diretamente na memria do processo solicitante. Para gerenciar os dispositivos o sistema operacional tem um modulo chamado subsistema de I/O, que dividido em 4 camadas distintas; cada camada tem por funo simplificar o acesso ao dispositivos . Este sistema oculta do usurio a verdade sobre o hardware do computador. Primeira camada representa o hardware propriamente dito; Segunda camada representa os drivers de dispositivo que so mdulos de software que fazem a interface entre o device e o sistema operacional. Terceira camada representa uma interface de uniformizao e regulamentao no acesso dos dispositivos, o oferecendo camada superior uma abstrao mas acessvel; Quarta camada representa a API de programao do sistema operacional para o acesso aos dispositivos; possui a abstrao mais alta
136
Unidade I
Sistema Universidade Aberta do Brasil - UAB | IF Sul-rio-grandense
Atividades
1. Na mquina virtual que configuramos no incio da disciplina, instalamos o sistema operacional GNU/Linux 2.6.32 (distribuio Debian Lenny). Este kernel reconhece automaticamente muitos dispositivos de hardware.
a) listar os drivers carregados com o comando #lsmod; b) manipulao de drivers em linux carregar o driver tun (um driver para tunelamento - criar tuneis de rede) - para carregar o driver # modprobe tun liste novamente os drivers carregado e localize o driver tun remova o driver #rmmod tun liste novamente os drivers carregado e localize o driver tun
137