Você está na página 1de 149

UNIVERSIDADE PAULISTA

Autores: Prof. Fbio Furukawa


Prof. Roberto Nunes
Colaboradores: Profa. Elisangela Monaco de Moraes
Prof. Roberto Macias
Prof. Fbio Viei ra do Amaral

Professores conteudistas: Fbio Furukawa

Roberto Nunes

O professor conteud ista Fbio Fu ru kawa, natural de So Pau lo (Bras i1), nasceu em 197 5 e atua
in interruptamente na rea de sistemas desde 1994. Iniciou como estag iri o, atuou como tcn ico em eletrn ica,
analista de sistemas, engenheiro de redes, analista de negcios e, atua lmente, como ld er responsvel pela
entrega de servios de hosting na Amrica Latina pa ra empresa mu ltinacional e lder do seg mento. Tamb m
professor de diversas disciplinas na rea de redes e tecnologia da informao e coordenador de cu rsos
universitrios. O conteudista formado em tcnico em eletrnica pelo Colgio Lavoisier, cursou engenharia
eltrica na PUC-SP, formou-se em cincia da computao na universidade FAAP, ps- gra duado em Master
Business Administration com nfase em sistemas de computao pela Faculdade Get lio Vargas, possui cursos
de extenso em Emergin Leader pela universidade de Harvard Business School e diversos cursos e certificaes
relacio nados a redes e TI. O conteudista tem experincia internacional trabalhando e participando de eventos
em pases, como Estados Unidos, Espanha, Itlia, Frana, Argentina, Chi le, Colmbia e Mxico. Fala portugus
(lngua nativa), ingls fluente, espanhol intermed irio e japons bsico.
O professor conteud ista Roberto Nunes, possui ps-gradua o MBA - Engenharia de Qualidade - Gesto
e Tecno logias da Qua lidade na Escola Politcn ica da Universidade de So Paulo (USP) e cursa ps-g raduao
em Formao de Professores para o Ensino Superior na Universidade Paulista (UNIP). Possui graduao em
Administrao pela Faculdade Radial (200 1) e, atua lmente, professor da Universidade Paulista (UNIP) e
profissional da rea de informtica na Universidade de So Paulo (USP).

Dados Internacionais de Catalogao na Publicao (CIP)


F938

Furukawa, Fabio
Fundamentos de Sistemas Operacionais.
Roberto Nunes. - So Paulo : Editora Sol.
160 p. il.

Fabio Furukawa ;

Nota: este volume est publicado nos Cadernos de Estudos e


Pesquisas da UNIP, Srie Didtica, ano XVII, n. 2-022/11, ISSN 1517-9230.
1.Abstrao em Sistemas Operacionais 2.Gerenciamento de
Recursos 3.Evoluo Computacionai i.Ttulo
CDU 681.3

Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transm itida por qualquer forma e/ou
quaisquer meios (eletrnico, incluindo fotocpia e gravao) ou arquivada em qualquer sistema ou banco de dados sem
permisso escrita da Universidade Paulista.

Prof. Dr. Joo Carlos Di Genio


Reitor

Prof. Fbio Romeu de Carva lho


Vice-Reitor de Planejamento, Administrao e Finanas

Profa . Melnia Dalla Torre


Vice-Reitora de Unidades Universitrias

Prof. Dr. Yugo Okida


Vice-Reitor de Ps-Graduao e Pesquisa

Profa. Ora. Marlia Ancona-Lopez


Vice-Reitora de Graduao

Unip Interativa - EaD


Profa. Elisabete Brihy
Prof. Marcelo Souza
Prof. Dr. Lu iz Felipe Scabar
Prof. Ivan Daliberto Frugoli

Material Didtico - EaD


Comisso editorial:
Ora. Anglica L Carlini (UN IP)
Dr. Cid Santos Gesteira (UFBA)
Ora. Divane Alves da Silva (U NIP)
Dr. Ivan Dias da Motta (CESUMAR)
Ora. Ktia Mosorov Alonso (UFMT)
Ora. Va lria de Carva lho (UNIP)
Apoio:
Profa. Cludia Regina Batista- EaD
Profa. Betisa Ma laman - Comisso de Qualificao e Aval iao de Cu rsos
Projeto grfico:
Prof. Alexa ndre Ponzetto
Reviso:
Silvana Pierro
Geraldo Teixei ra Jr.

Fundamentos de Sistemas Operacionais


APRESENTAO ......................................................................................................................................................9
INTRODU0 ...........................................................................................................................................................9
Unidade I

1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS.................................................................................... 11


1.1 Nivelamento ............................................................................................................................................ 11
1.2 Abstrao ................................................................................................................................................. 12
1.2. 1 Gerncia ...................................................................................................................................................... 15
2 HISTR IA DOS SISTEMAS OPERACIONAIS ............................................................................................ 16
2.1 Prime ira gerao de computadores (1945-1 955) - Vlvulas ............................................. 17
2.2 Segunda gerao de computadores (1955-1 965)- Transistores e sistemas
em lote (batch) .............................................................................................................................................. 20
2.3 Terceira gerao de computadores (1 965-1 980) - Cls e multiprogramao .............. 21
2.4 Quarta gerao de computadores (1980-atua lmente) - Computadores
pessoa is............................................................................................................................................................ 22
Unidade 11

3 TI POS DESISTEMAS OPERACIONAIS....................................................................................................... 27


3. 1 Batch (de lote) ....................................................................................................................................... 27
3.2 De rede ...................................................................................................................................................... 27
3.3 Distribudo ............................................................................................................................................... 28
3.4 Multiusurio e mu lt itarefas ............................................................................................................. 28
3.5 Oesktop/Computador pessoal ......................................................................................................... 28
3.6 Servidor .................................................................................................................................................... 28
3.7 Embarcados............................................................................................................................................. 29
3.8 Tempo real ............................................................................................................................................... 29
3.9 De computadores de gra nde porte ............................................................................................... 29
3.10 Mu lti processa dores ........................................................................................................................... 29
3.11 Portteis................................................................................................................................................. 30
4 VISO GERAL SOBRE HARDWARE DE COMPUTADORES................................................................. 30
4.1 Processadores......................................................................................................................................... 30
4. 1.1 Processadores multithread e mu ltincleo .................................................................................... 32
4.2 Memria................................................................................................................................................... 33
4.3 Disco .......................................................................................................................................................... 36
4.4 Fi tas............................................................................................................................................................ 37
4.5 Dispositivos de E/S............................................................................................................................... 37
4.6 Barramento ............................................................................................................................................. 38

Unidade 111
5 GERENCIAMENTO DE PROCESSOS ........................................................................................................... 47
5.1 Introduo a processos ...................................................................................................................... 47
5.1.1 Processo ...................................................................................................................................................... 47
5.1.2 Criao de processos ............................................................................................................................. 49
5.1.3 Trmino de processos ............................................................................................................................ 50

5.2 Comunicaes entre processos....................................................................................................... 51


5.2.1 Condio de corrida ............................................................................................................................... 51
5.2.2 Excluso mtua e regio crtica ........................................................................................................ 52
5.2.3 Excluso mtua com espera ociosa ................................................................................................ 53
5.2.4 Semforos .................................................................................................................................................. 55
5.2.5 Monitores ................................................................................................................................................... 56
5.2.6 Troca de mensagens .............................................................................................................................. 57
5.2.7 Escalonamento ........................................................................................................................................ 58

6 GERENCIAMENTO DE MEMRIA ............................................................................................................... 59


6.1 Introduo a gerenciamento de memria ................................................................................. 59
6.2 Abstrao - espaos de endereamento da memria .......................................................... 61
6.2. 1 Permuta de memria ............................................................................................................................. 61

6.3 Memria virtual .................................................................................................................................... 62


6.3.1 Paginao ................................................................................................................................................... 63

6.4 Segmentao ......................................................................................................................................... 65

Unidade IV
7 SISTEMAS DE AROUIVOS ............................................................................................................................... 71
7. 1 Introduo a sistemas de arquivos ................................................................................................ 71
7. 1.1 Arqu ivos ...................................................................................................................................................... 71
7.1.2 Atributos ..................................................................................................................................................... 71
7.1.3 Estrutura de arquivo .............................................................................................................................. 72
7.1.4 Opera es ................................................................................................................................................... 73

7.2 Uso de arqu ivos ..................................................................................................................................... 74


7.2.1 Abertu ra de arquivo ............................................................................................................................... 74
7.2.2 Formas de acesso .................................................................................................................................... 75

7.3 Compartilhamentos............................................................................................................................. 77
7.3.1 Travas em arqu ivos ................................................................................................................................. 77
7.3.2 Semntica de trava de acesso ........................................................................................................... 78

7.4 Introduo a diretrios ...................................................................................................................... 79


7.4.1 Organizao de volumes ...................................................................................................................... 79
7.4.2 Diretrios .................................................................................................................................................... 80
7.4.3 Sistema de diretrios em nvel nico ............................................................................................. 82
7.4.4 Sistema de diretrios hierrquico .................................................................................................... 82

7.5 Gerenciamento e otimizao de sistemas de arqu ivos ......................................................... 83


7.5.1 Gerenciamento do espao em disco ............................................................................................... 83
7.5.2 Cotas de utilizao de disco ............................................................................................................... 85
7.5.3 Cpia de seg urana ................................................................................................................................ 87

7.6 Tipos de sistemas de arquivos ......................................................................................................... 90


7.6.1 Sistema de arquivos ISO 9660 ........................................................................................................... 90
7.6.2 Sistema de arquivo do FAT.................................................................................................................. 93
7.6.3 Sistema de arquivos do ambiente Unix ......................................................................................... 96
7.6.4 Sistema de arquivos do Linux ............................................................................................................ 98
8 GERENCIAMENTO DE ENTRADA E 5ADA ............................................................................................ 100
8.1 Introduo a gerenciamento de entrada e sada .................................................................. 100
8.2 Fundamentao- hardware de entrada e sada (E/5) ......................................................... 100
8.3 Dispositivos de entrada e sada .................................................................................................... 101
8.3. 1 Controladores de dispositivos (driver) .......................................................................................... 103
8.3.2 E/S mapeada em memria ................................................................................................................ 105
8.3.3 Acesso di reto memria (DMA) ..................................................................................................... 106
8.4 Software de E/5 ................................................................................................................................... 108
8.4. 1 E/S prog ramada ..................................................................................................................................... 109
8.4.2 E/S usando interrupo ...................................................................................................................... 110
8.4.3 E/S usando DMA..................................................................................................................................... 111
8.5 Camadas de software de E/5 .......................................................................................................... 111
8.5. 1 Tradutores de interrupo .................................................................................................................. 111
8.5.2 Drivers dos dispositivos ...................................................................................................................... 112
8.5.3 Software de E/S independente de dispositivo .......................................................................... 114
8.5.4 Software de E/S do espao do usurio ........................................................................................ 11 5
8.6 Hardware de E/5.................................................................................................................................. 11 5
8.6. 1 Discos rgidos.......................................................................................................................................... 11 6
8.7 Relgio ....................................................................................................................................................123
8.7. 1 Hardware do relgio - viso geral ................................................................................................ 124
8.7.2 Software do relgio- viso geral ................................................................................................. 125
8.7.3 Temporizador por software- viso geral .................................................................................. 126
8.8 Teclado, mouse e monitor- viso geral ................................................................................... 126
8.8. 1 Sof tware do teclado ........................................................................................................................... 127
8.8.2 Software do mouse............................................................................................................................. 128
8.8.3 Software de sada ................................................................................................................................ 129
8.9 Thin clients - clientes magros.......................................................................................................132
8. 10 Gerenciamento de energ ia........................................................................................................... 133

APRESENTAO

Fundamentos de Sistemas Operacionais uma das disciplinas da ementa do curso de graduao da


UNIP que reconhecida pelos alunos, professores e pelo mercado como o conhecimento fundamental
para que aspirantes ou profissionais das reas de tecnologia tenham a possibilidade de entender, analisar
e recomendar a evoluo dos sistemas operacionais, gerenciamento de processos, gerenciamento de
memria (hierarquia de memria, modos de endereamento, estruturas de controle, memria virtual),
gerenciamento de arquivos e gerenciamento de entrada e sada.
Esta disciplina tem por objetivo geral fornecer os conceitos necessrios para a compreenso do
funcionamento dos sistemas operacionais. Compreender as funes do sistema operacional dentro de
um sistema computacional. Despertar uma viso crtica sobre os requisitos de confiabilidade, segurana
e desempenho envolvidos no sistema operacional.
Como objetivos especficos, busca-se fornecer conhecimentos tericos sobre polticas, estruturas e
tcnicas de operao de sistemas computacionais. Capacitar o aluno na avaliao e determinao de
sistemas operacionais em aplicaes especficas visando aos requisitos de funcionalidade e aplicabilidade
prtica. Compreender as necessidades e os mecanismos utilizados pelo sistema operacional para prover
segurana para o sistema computacional.

INTRODUO
Desde sua inveno at os dias atuais, os computadores so dispositivos que vm ajudando o
homem a conseguir ultrapassar o que at ento pareciam barreiras impossve is de serem superadas
fora dos filmes de fico cientfica. Certamente, na poca que nossos avs estava m no colgio- e as
mquinas de telgrafo e de escrever eram os dispositivos tecnolgicos mais evoludos-, se algum
afirmasse que seria possvel que ns tivssemos a condio de conversar com amigos localizados
em diferentes pases, ou que seria possvel, por meio da computao, prever a meteorologia e
identifica r biometricamente a identidade das pessoas, ou que as empresas mais valiosas do
mundo seriam baseadas em conceitos abstratos, como dados binrios gravados em equipamentos
espalhados pelo mundo, ento esse indivduo seria considerado, no mnimo, um bom autor de
livros de fico ou um louco.
O computador , sem dvida, o dispositivo que passou a estar em todos os lugares e a ser usado
por todas as pessoas, independente da idade, condio social, raa ou preferncia poltica - poderamos
afirmar que o computador, ou pelo menos a computao, o mais democrtico dos elementos na
sociedade moderna.
Para as pessoas que somente so classificadas como usurias dos sistemas de computao e no
possuem a pretenso de con hecer os "segredos" dessa fascinante cincia, nos ltimos anos foram criados
computadores que apresentam interfaces extremamente amigveis, integradas, heterogneas, seg uras,
velozes e outros atributos que fizeram com que o computador tomasse formas incrveis: embutido em
televisores, carros, avies ou do tamanho da nossa mo ou, ainda, em forma de celular (que uma
verdadeira cent ral multimdia). Para os profissionais que decidiram segu ir a carreira da computao,

-------------------8-

atuando em atividades relacionadas aos componentes fsicos ou lgicos, h intrigantes e excitantes


assuntos que necessitamos entender para podermos continuar ampliando esse legado que, sem dvida,
tem muito para chegar ao seu ponto de maturidade.
Como um computador pode processar diferentes tarefas simultaneamente? Como os programas de
computador, sendo executados numa mesma mquina, podem obter os recursos necessrios para suas
tarefas e no causar conflitos nem mesmo apresentao do resultado do programa A na tela do programa
B por equvoco? Como usurios podem acessar computadores remotos e compartilharem informaes
de forma segura? Como os diferentes tipos de sistemas podem trocar dados via rede de forma segura
e sem conflitos por falta de compatibilidade? So essas e outras questes que estaremos debatendo
ao longo dos captulos deste livro-texto, possibilitando que amantes da computao e profissionais da
rea conheam e saibam como tirar melhor proveito da nova computao. Esse debate possibilitar
tambm o desenvolvimento de solues que iro atender ao mercado de forma eficaz e segura, ajudar
a definirmos se estamos comprando um computador que ir ou no atender as nossas necessidades e
servir para entendermos a evoluo dos computadores, alimentando nossa fome por conhecimento e
fomentando nossa imaginao em relao a como ser o computador do futuro.

-cD~-------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

4.
'R
[!]

. .

[!]

. .

1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS

1 1 Nivelamento
Opropsito gera I dos computadores, desde aqueles pequenos e integrados conhecidos como telefones
inteligentes (smartphones), que podem ser carregados no bolso, at os de grande porte que necessitam
de ambientes extremamente planejados e controlados, similar em relao ao que esperamos deles. Em
linhas gerais, abdicando das partes e objetivando o todo, podemos simplificar dizendo que introduzimos
algo bruto na entrada e esperamos como resultado um produto lapidado com caractersticas especficas
para necessidades especficas.
Durante o processo de transformao do produto bruto at a sada e entrega do produto final
existem componentes fsicos e lgicos trabalhando nesta produo. Os componentes fsicos no nosso
mundo computacional so conhecidos como hardware e a parte lgica, como software. Estes e outros
diversos termos e nomes utilizados so palavras de origem inglesa.

importante destacar que se tentarmos traduzir alguns termos para a lngua portuguesa, isso pode
causar problemas de entendimento durante a comunicao entre profissionais da rea de tecnologia,
pois na maioria dos casos estes termos j esto intrnsecos.
O hardware de um computador pode incluir o computador em si, os discos e a unidade de disco,
impressora, mouse etc. e o software corresponde a qualquer programa ou grupo de programas que
instrui o hardware sobre a maneira como ele deve executar uma tarefa, inclusive sistemas operacionais,
processadores de texto e programas de aplicao.
O sistema operacional a parte lgica que controla todo hardware, ou seja, mesmo que estejamos
usando um programa de computador com propsito de navegao na internet, de envio e recebimento
de e-mails, editores de texto e imagem ou qualquer outra aplicao (software), na realidade estes
esto se comunicando com o sistema operacional e cabe ao sistema operacional executar as tarefas
necessrias para uso dos componentes fsicos do computador, como memria, disco, controladores de
vdeo, rede etc.
A Figura 1, a seguir, ilustra a arquitetura macro de um sistema de computao tpico. Podemos
observar elementos fsicos- hardware e lgicos- software.

---------------------

Unidade I
Usurio do sistema

Figura 1 - Estrutura do ambiente computacional tpico

A maioria dos usurios de computador quando interagem com o aplicativo, baseado no ambiente
shell (interpretador de comandos) em modo texto ou ambientes GUI (Graphical User Interface- interface
grfica com o usurio), usando cones no ambiente grfico, de fato no esto atuando diretamente no
sistema operacional.
Podemos sumarizar em duas palavras-chave os objetivos bsicos de um
sistema operacional: abstrao e gerncia, cujos principais aspectos so
descritos a segui r. 1

1 .2 Abstrao
Cada componente fsico de um computador possui caractersticas intrnsecas para atender ao seu
propsito, porm alm desta abordagem temos dispositivos que fazem parte de um mesmo propsito,
porm com estruturas bem diferentes. Isso se deve s diversas tecnologias disponveis no mercado e a
outros motivos atrelados s estratgias dos fabricantes ao desenvolver seus produtos.
Para exemplificar, faremos uma analogia com o mdulo de impresso que parte integrante dos
editores de texto. Neste caso trivial, j podemos nos deparar com uma situao bem enigmtica e
complicada de ser tratada. A diversidade de modelos de impressoras, tipos de conectares, se est ligada
diretamente ao computador ou se um dispositivo em rede e todas as demais questes fariam qualquer
programa ser extremamente complexo de ser desenvolvido e, mesmo se fosse factvel, todos os programas
ocupariam muito espao no disco rgido.
A Figura 2 ilustra como seria se os programas tivessem que atuar diretamente com os dispositivos
fsicos do ambiente computacional.

Disponvel em: <http://pt.scribd.co m/doc/13290978/socap01>. Acesso em: 8 jun. 20 11.

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

I I
~

--

Figura 2 - Aplicao atuando diretamente com os dispositivos

Entretanto, a abordagem bem diferente da demonstrada na Figura 2, temos na realidade


dois mundos comp letamente distintos e uma via chamada sistema operaciona l que interliga
esses dois mundos; para o mundo lg ico, o mundo fs ico uma abstrao, e, para o mundo fsico,
o mundo dos programas que fazem interface com os usurios uma entidade completamente
desconhecida.

---------------------

Unidade I

Figu ra 3 - Abstrao

O modelo apresentado na Figura 3 representa como os sistemas operacionais tpicos interagem


servindo de conexo entre o hardware e os aplicativos. Neste modelo, o desenvolvedor manda a impresso
para uma entidade lg ica que representa uma impressora e cabe ao sistema operaciona l encaminhar
para a impressora fsica os dados a serem impressos.
Dessa forma, o sistema operacional deve definir interfaces abstratas para os
recursos do hardware, visando a atender os objetivos como:
Prover interfacesdeacessoaosdispositivos maissimplesde usar que as interfaces
de baixo nvel, para simplificar a construo de programas aplicativos.
Tornar os aplicativos independentes do hardware. Ao definir interface
abstrata de acesso ao dispositivo de hardware desejado, o sistema
operacional desvincula os aplicativos do hardware e permite que ambos
evoluam de forma autnoma.

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Definir interfacesdeacesso homogneas para dispositivos com tecnologias
distintas. Por meio de suas abstraes, o sistema operacional permite aos
aplicativos usar a mesma interface para dispositivos diversos. 2

No exemplo demonstrado na Figura 3, os aplicativos podem produzir uma impresso sem precisar se
preocupar com o modelo e a compatibilidade com a impressora.
1.2.1 Gerncia
Os programas, por meio do sistema operaciona l, usam o hardware para
atingir seus objetivos: gravar, apagar, acessar e armazenar dados, imprimir
documentos, navegar na internet, tocar msica etc.
Quando dois ou mais aplicativos precisam concorrentemente e
simultaneamente acessar recu rsos de hardware, ento podem surgir
conflitos. Cabe ao sistema operacional baseado nas polticas de sua estrutura
gerenciar o uso dos recursos de hardware e administrar disputas e conflitos.
Seguem duas situaes ilustrativas onde a gerncia de recursos do hardware
impretervel:
O uso dos processadores deve ser distribudo entre os aplicativos ativos no
sistema, de forma que cada um deles possa executar no tempo, sequncia
e velocidade adequada para cumprir suas funes sem prejudicar os
outros. O mesmo ocorre com a memria RAM, que deve ser distribuda
de forma justa entre as aplicaes.
A impressora um dispositivo cujo acesso deve ser efetuado de forma
exclusiva, apenas um aplicativo por vez. Para resolver essa questo,
o sistema operacional armazena temporariamente todas as sadas
destinadas impressora, criando fi la de trabalhos a imprimir (printjobs),
normalmente atendidos de forma sequencial (FIFO, First In First Out Primeiro a entrar o primeiro a sair).3
Imagine o que aconteceria se dois ou mais programas tentassem imprimi r
suas sadas simultaneamente na mesma impressora. As primeiras linhas
poderiam ser do primeiro programa, as linhas seguintes seriam do segundo
programa e assim por diante. 4

Disponvel em: <http://pt.scribd.com/doc/13290978/socap01>. Acesso em : 8 jun. 2011.


Disponvel em: <http://www.etejga.com.br/download/informatica/mod 1/gso/SISTEMASOfo200PERACIONAIS.pdf>.
Acesso em: 8 jun. 2011 .
4
Disponvel em: <http://www.scribd.com/doc/37558291/And rew-S-Tanenbaum-Sistemas-Operacionais-2a-Edicao>.
Acesso em: 8jun. 2011.
3

---------------------

Unidade I
2 HISTRIA DOS SISTEMAS OPERACIONAIS
Clientes de tecnologia da informao impulsionam pesquisas, desenvolvimento e proliferao de
novos equipamentos e programas. At bem pouco tempo atrs, era impossvel imaginarmos que teramos
integrado num telefone a diversidade de recursos disponveis, tanto no mbito da mobilidade, quanto
pela possibilidade de customizaes exclusivas. Fatos como estes apresentados movem o conjunto de
engrenagens e a evoluo dos sistemas operacionais fundamental para atender a toda demanda do
mercado.
O guia referencial apresentado em quatro perodos representa a cronologia do desenvolvimento dos
sistemas operacionais em relao a geraes de computadores de forma sucinta e genrica, entretanto
chama a ateno para a existncia de uma estrutura.

r. ---.' :-

Saiba mais

Linha do tempo - a histria do computador completa pode ser


encontrada em: Computer History Museum, <http ://www.computerhistory.
org>, acesse Exhibits- Timeline of Compute r History.
O ingls Charles Babbage projetou o primeiro computador de uso geral. Esta mquina exclusivamente
mecnica era conhecida como "a mquina analtica'~ Em seu projeto, Charles vislumbrava partes como
rodas, engrenagens e correias de alta preciso que no eram compatveis com a tecnologia disponvel
em sua poca, portanto a mquina nunca foi construda.

Figura 4- Charles Babbage (1791-1871)

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


2.1 Primeira gerao de computadores (1945-1955)- Vlvulas
Na Universidade do Estado de lowa, no perodo de 1937 a 1942, o professor John Atanasoff
(1903-1995) e seu ento aluno Clifford Edward Berry (1918-1963) criaram o primeiro computador
digital eletrnico da histria. Eles so considerados os pais dos computadores modernos.
Na Figura 5, apresentado o Atanasoff-Berry Compu ter que uma rplica do primeiro computador
digital da histria.

Figura 5- Computador Atanasoff-Berry

Em 1941, Konrad Zuse (1910-1995). em Berlim, construiu o computador Z3, demonstrado na Figura
6, primeiro computador eletromecnico, construdo de rels.

Figura 6 - Computador Z3

A mquina Colossus era um computador eletrnico usado por ingleses para ajudar a decifrar
mensagens alems durante a Segunda Guerra Mundial. Este era o primeiro computador programvel no
mundo. Eram usadas vlvulas trmicas para executa r os c lculos.

-------------------8-

Unidade I
O Colossus, demonstrado na Figura 7, foi projetado pelo engenheiro Tommy Flowers (1905-1998)
com suporte de Harry Fensom, Allen Coombs, Sid Broadhurst e Bill Chandler.

Figura 7 - Computador Colossus

Howa rd H. Aiken (1900-1973) foi o engenheiro principal no desenvolvimento do ASCC


(Automatic Sequence Controlled Calculator). demonstrado na Figura 8, computador
eletromecnico chamado de Mark I, montado pela IBM e enviado para Harvard em fevereiro
de 1944.

Figura 8 - Computador Mark I

John William Mauchly (1907-1980) e seu aluno John Presper Eckert (1919-1995), em parceria com
o governo dos Estados Unidos, construram, na Universidade da Pensilvnia, o primeiro computador
eletrnico, conhecido como ENIAC (Eiectronic Numerical lntegrator And Computer) demonstrado na
Figura 9.

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 9 -Computador ENIAC

Todos os computadores demonstrados at o momento eram muito primitivos e levavam segundos


para executar at o clculo mais simples.
Na poca em que essas mquinas estava m em plena produo,
um mesmo grupo de profissionais projetava, construa, programava, operava
e realizava a manuteno de cada equipamento. 5

Tipicamente, a programao das mquinas era feita ligando conectares em painis para controlar as
funes bsicas do eq uipamento. Nesta gerao de equ ipamentos, no existia linguagem de programao
nem sistema operaciona I.
A operao era realizada de acordo com os seguintes passos:
O programador reservava antecipadamente o tempo de mquina.
O programador encaminhava-se at a sa la da mquina, inseria um pai nel
de programao no computador.
Aguardava horas monitora ndo e torcendo pa ra que nenhuma das
milhares de v lvu las queimasse durante a execuo.6

No incio da dcada de 1950, as mq uinas perfuradoras de cartes permitiram escrever


programas em ca rtes e l-los em lu ga r de pai nis de programao, permit ind o assim um avano
no processo.

Dispon vel em: <http://wikimmed.blogs.ca.ua .pt/index.php/3._Estado_da_arte>. Acesso em : 8 jun. 201 1.


/dem.

--------------------6

Unidade I
2.2 Segunda gerao de computadores (19551965)- Transistores e
sistemas em lote (&atch)
Em meados dos anos de 1950, foram introduzidos os transistores no mercado computacional,
permitindo assim uma verdadeira revoluo, elevando a confiabilidade em nvel desejado para que
pudessem ser fabricados e comercializados. Anteriormente aos transistores, alm do tamanho colossal
dos equipamentos, ainda existia o agravante das vlvulas apresentarem muitos problemas que acabavam
comprometendo o resultado dos clculos executados pelos computadores primitivos.
Neste perodo, tambm houve a criao da organizao estruturada por funes, em que havia
separao entre projetistas, fabricantes, programadores e tcnicos de manuteno. As mquinas desta
poca ainda permaneciam com tamanhos elevados se comparadas s maquinas dos dias atuais.
Esses computadores denominados computadores de grande porte (manframes) eram instalados
em salas especialmente planejadas e operados por equipes de profissionais altamente capacitados para
a poca. Devido ao elevado valor destes computadores, somente grandes entidades podiam t-las. Para
que um programa ou conjunto de programas fossem executados, o programador primeiro escrevia o
programa num papel e, depois, perfurava-o em cartes. O programador, ento, levava a pilha de cartes
para a sala de entradas, entregava-a a um dos operadores que, em seguida, alimentava a mquina
leitora para que fosse obtida a sada impressa.
Conforme demonstrado na Figura 10, objetivando a reduo do tempo desperdiado durante o
processo de leitura dos cartes, neste perodo foi adotado o sistema em lote (batch), que consiste em
usar um computador de menor porte, como o IBM 1401 (Figura 11) que era excelente para ler cartes,
copiar fitas e imprimir sadas, mas no to eficiente em clculos numricos que eram executados pelos
IBM 7094 (Figura 12).
Aps acumular uma elevada quantidade de cartes e transportar as informaes para as fitas
magnticas, elas eram encaminhadas para a sala das mquinas, onde eram montadas nas unidades
de fita. O operador carregava um programa especial (precursor do sistema operacional atual), que lia
as tarefas contidas nas fitas e as executavam de forma sequencial. Neste modelo, ao invs de enviar o
resultado para sada impressa, ele era, ento, gravado em uma segunda fita. Posteriormente a todos os
lotes serem executados, o operador retirava as fitas de entrada e de sada, trocava a fita de entrada com
a do prximo lote e levava a fita de sada para o computador 1401 que ento a imprimia off-line.
Unidade
de fita

Fita de
entrada

Sistema
de fita s

Fita de
sada

Figu ra 10 - Sistema em lote antigo

-ct~-------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 11 -IBM 1401

Figura 12 - IBM 7094

2.3 Terceira gerao de computadores ( 1965-1980) - Cls e


multiprogramao
Em 1964, a IBM lanou a linha de equipamentos da srie IBM 360 que foi a primeira linha de
computadores a usar circuitos integrados (Cis} em pequena escala, proporcionando melhor
custo-benefcio em comparao gerao de mquinas construdas com transistores.
Para atender linha de equipamentos da terceira gerao, o sistema operacional OS/360 foi lanado,
introduzindo v rias tcnicas fundamentais que at ento eram ausentes. Possivelmente, a tcnica de
suporte multiprogramao foi a mais significativa, ou seja, enquanto a mquina 7094 com sistema
operacional FMS (Fortran Monitor System} ou IBSys estava lendo dispositivos de E/S com as fitas
magnticas, ela no processava mais nada, deixa ndo assim a CPU ociosa. Nos equipamentos da linha
360 rodando o OS/360, esta deficincia foi resolvida repartindo a memria em partes e alocando-as para
ta refas. Enquanto uma tarefa estivesse esperando por uma operao de E/S (entrada e sada} terminar a
outra tarefa, poderia usar a CPU.
Outro fato importante que aconteceu durante a terceira gerao de computadores foi o crescimento
dos minicomputadores. Esse crescimento iniciou-se com o DEC PDP-1 (Programmed Data Processor-1},
em 1961, que, para certos tipos de aplicaes no numricas, era to rpido quanto os 7094, porm
custava 5% do valor de uma mquina 7079, criando, assim, uma demanda extraordinria para mquinas
PDP, conforme Figura 13.

---------------------

Unidade I

Figura 13- PDP-1

2.4 Quarta gerao de computadores ( 1980-atualmente) - Computadores


pessoais
O incio da quarta gerao teve como marco o desenvolvimento dos circuitos integrados contendo
mil hares de transistores em alguns centmetros quadrados de siIcio, dando origem era dos computadores
pessoais.
Em 1974, o chip de computador 8080 da Intel lanado no mercado, sendo a primeira CPU (Central
Processing Unit- Unidade Central de Processamento) de 8 bits de uso geral. A Intel pede para Gary Kildall,
um de seus consultores, para desenvolver um sistema operacional para o 8080 que recebeu o nome de CP/M
(Contrai Program for Microcomputers - Programa de Controle para Microcomputadores). Posteriormente, Gary
Kildall adquiriu os direitos sobre o CP/M, que foi cedido pela Intel, ento Kildall fundou a Digital Research.
A Digital Research reescreveu o CP/M adequando-o execuo em muitos microcomputadores que
utilizavam o chip da Intel 8080, Z80 fabricado pela Zilog e outros microprocessadores. Por cerca de
cinco anos com o seu novo sistema operacional CP/Me tambm motivado pela crescente quantidade de
programas aplicativos que foram escritos para este sistema, a Digital Research dominou o mercado.
O IBM PC foi lanado pela IBM no incio dos anos 1980 e, aps dificuldades em negociar com a
Digital Research o desenvolvimento de um sistema operacional para seu equipamento, a IBM procurou
Bill Gates para desenvolver um sistema operaciona l compatvel com sua plataforma.
Bill Gates comprou (supostamente por 75 mil dlares), de uma fabricante local de computadores, a
Seattle Computer Products, o sistema operacional DOS (Disk Operating System - sistema operaciona l de
disco). Aps contratar Tim Paterson, o criador do DOS, como funcionrio da sua empresa e ajustar parte
do cd igo, ento Bill Gates vendeu para a IBM o Sistema Operacional chamado MS-DOS (Microsoft Disk
Operating System - Sistema Operacional de Disco da Microsoft).
Em 1983, foi lanado o PC/AT que utilizava o processador Intel 80286, mais tarde o 80386 e,
subsequentemente, o 80486. Mesmo sendo um sistema primitivo nesta altura, o MS- DOS j inclua

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


aspectos mais avanados, muitos deles derivados do XENIX que era uma verso do UNIX vendida pela
Microsoft.
Nos anos 1960, Doug Engelbart inventou uma interface grfica completa com foco no usurio
final, com janelas, cones, menus e uso de mouse, esta interface conhecida como GUI (Graphical User
Interface) e que fora prontamente adotada pela Xerox Pare em suas mquinas.
Posteriormente, Steve Jobs, da Apple, visitando a Xerox Pare viu a interface grfica GUI e
instantaneamente percebeu seu enorme potencial. Aps o fracasso comercial com o projeto Lisa, a
empresa de Jobs desenvolveu e lanou o Apple Macintosh que foi um sucesso logo de incio por ter
preo competitivo e ser mais amigvel mesmo para usurios que no tinham nenhum conhecimento
nem desejava m conhecer comandos de computadores.
A Microsoft, impulsionada pelo sucesso que o ambiente grfico dos Macintosh fazia no mercado,
desenvolveu o Windows que o sucessor do MS-DOS. Porm, as verses iniciais do Windows eram
completamente montadas sobre o MS-DOS. Somente na verso Windows 95 o sistema passou a usar
o MS-DOS apenas para ser carregado e executar programas (legados do MS-DOS). Posteriormente,
a Microsoft lanou o Windows 98, porm ainda havia grande quantidade de cdigos em linguagem
assembly de 16 bits da Intel.
David Cutle que foi um dos projetistas do sistema operacional VAXVMS liderou o projeto do Windows
NT (Windows New Technology}. O Windows NT foi totalm ente reescrito em plataforma de 32 bits.
Inicialmente, a Microsoft esperava que o Windows NT substitusse por completo o parque do MS-DOS,
porm isso s foi possvel na verso NT 4.0, quando o sistema realmente foi aderido principalmente em
redes corporativas. No incio de 1999, a verso 5 do Windows NT foi renomeada para Windows 2000 na
tentativa de substituir o Windows 98 e o NT 4.0.
Sem xito, a Microsoft lanou o Windows Millennium Edition que era uma verso aprimorada do
Windows 98. Em 2001, foi lanado o Windows XP que era uma verso sutilmente atualizada do Windows
2000. O Windows XP teve melhor aceitao, substituindo basicamente todas as verses anteriores
do Windows. Em 2007, o Windows Vista lanado com a incumbncia de suceder o Windows XP e,
posteriormente, em 2009, a Microsoft lanou o Windows 7. Apresentaes feitas pela Microsoft no
comeo de 2008 mostraram um She/1 novo, com uma barra de tarefas diferente, um sistema de network
chamado de HomeGroup e aumento na performance.
O sistema operacional Unix (e seus derivados) o grande competidor no mundo computacional.
Apesar do seu melhor potencial ser aplicado a servidores empresariais, este sistema operacional vem
conquistando parte do mercado de estaes de trabalho. Para computadores com processadores CISC
(Complex lnstruction Set Computer) como Intel ou AMD, existe uma ampla variedade de derivados do
Unix que so genericamente con hecidos como Linux.
Os computadores Macintosh, alm de possurem o seu sistema operacional chamado MAC OS,
tambm podem contar com uma verso modificada do FreeBSD que tambm um derivado do Unix.

---------------------

Unidade I
Para mquinas de alto desempenho vendidas pela Hewlett-Packard, IBM e Sun Microsystems e
equipadas com processadores RISC (Reduced lnstruction 5et Computer). padro o uso do sistema
operacional Unix (HP-UX, 5UN 5olaris, IBM AIX).

Saiba mais
<ftp ://ftp.dca.fee.u nica mp.br/pub/docs/ea876/so-ca ps 12.pdf>

M/Vv\>-

Resumo

Ao longo da histria da computao, mquinas totalmente mecnicas


foram, aos poucos, sendo substitudas por equipamentos que mesmo os mais
otimistas dos cientistas, da poca dos primeiros computadores do mundo, jamais
poderiam acreditar ou afirmar que seria possvel. Para a computao atual ter
se tornado realidade, muitas quebras de paradigmas e diversas transformaes
no hardware, bem como no software, foram necessrias. A pluralidade dos
equipamentos foi durante muitos anos um grande benefcio para o modelo que
temos atualmente, que ainda no o definitivo, to pouco o mais eficiente.
Ofato dos sistemas operacionais terem sido elaborados como estruturas
abstratas, ou seja, permitindo que os desenvolvedores de equipamentos
pudessem obter resultados expressivos indo ao nvel dos bits, enquanto os
desenvolvedores de sistemas e usurios enxergassem pelo prisma de um
nvel elevado e figurativo, possibilitou que reas de especializao surgissem
ao invs do modelo antigo que compreendia um mesmo especialista ou
grupo de especialistas que atuavam praticamente desde o desenvolvimento
do equipamento at a operao e a manuteno.

Exerccios
Questo 1. Ao ligar o computador, um usurio comum tem a impresso que o primeiro software
(programa} executado o sistema operacional. Isso no verdade. O hardware (parte fsica do
computador, formado por componentes eletrnicos, circuitos integrados e placas, que se
comunicam por meio de barramentos} sofre uma checagem geral pelo B/05 (Sistema Bsico de
Entrada/Sada), este sim o primeiro software executado. Se no houver nenhum problema com
os diversos dispositivos, o processo de inicializao do computador poder continuar e o seg undo
software, denominado bootstrap, ser executado. A funo do bootstrap, alm de atualizar alguns
regi stradores, permitir ao usu rio a seleo do sistema operacional que dever ser executado/
carregado pelo computador. Nos computadores com um nico sistema operacional, o bootstrap e
o 8105 passam despercebidos. Porm, no caso da Ana, que instalou no seu computador os sistemas
operacionais Wind ows XP, Wind ows 7, Linux e Solaris, aps a checagem do hardware pelo B/05, o

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


GRUB (bootstrap do Linux} apresenta uma interface com uma lista com todos os sistemas operacionais
disponveis. Aps a seleo pelo usurio, o sistema operacional ser executado/carregado. Apesar de
ser somente o terceiro software a ser executado/carregado no computador, o sistema operacional
tem sua importncia. Qual a funo do sistema operacional?
A} Gerenciar todos os recursos do sistema computacional e esconder do usurio a complexidade do
hardware, funcionando como um intermedirio entre o usurio e o computador, oferecendo um
conjunto mais conveniente de instrues.
B} Gerenciar todos os recursos fsicos do sistema computacional permitindo que o kernel cuide
apenas dos recursos lgicos.
C} Gerenciar todos os recursos lgicos do sistema computacional permitindo que o kernel cuide
apenas dos recursos fsicos.
D} Gerenciar todos os programas de usurio do She/1.
E} Permitir que os usurios avanados tenham acesso direto ao hardware do computador, realizando
todas as atividades relacionadas ao seu gerenciamento fsico.
Resposta correta: alternativa A.
Anlise das alternativas
A} Alternativa correta.
Justificativa : a funo bsica dos sistemas operacionais esconder dos usurios a complexidade do
hardware.
B} Alternativa incorreta.
Justificativa: o sistema operacional responsvel pela gerncia da parte fsica do sistema
computacional, mas o kernel formado pelo conjunto de programas de sistema responsvel pelo
gerenciamento tanto da parte fsica como da parte lgica do sistema computacional. O kernel o
sistema operacional propriamente dito.
C} Alternativa incorreta.
Justificativa: o sistema operacional responsvel pela gerncia da parte fsica do sistema computacional,
mas o kernel formado pelo conjunto de programas de sistema responsvel pelo gerenciamento tanto da parte
fsica como da parte lgica do sistema computacional. O kernel o sistema operacional propriamente dito.
D} Alternativa incorreta.
Justificativa : o She/1 a interface que permite que o usurio interaja com o sistema operacional.

---------------------

Unidade I
E) Alternativa incorreta.
Justificativa: mesmo para os usuanos ma1s avanados sena impossvel gerenciar o sistema
computacional sem o sistema operacional.

Questo 2. (ENADE 2005) Apesar de todo o desenvolvimento, a construo de computadores e


processadores continua, basicamente, seguindo a arquitetura clssica de Von Neumann. As excees a
essa regra encontram-se em computadores de propsitos especficos e nos desenvolvidos em centros de
pesquisa. Assinale a opo em que esto corretamente apresentadas caractersticas da operao bsica
de um processador clssico.
A) Instrues e dados esto em uma memria fsica nica; um programa constitudo de uma
sequncia de instrues de mquina; uma instruo lida da memria de acordo com a ordem
dessa sequncia e, quando executada, passa-se, ento, para a prxima instruo na sequncia.
B) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando o seu operando de
destino necessita ser recalculado; essa instruo executada e o resultado escrito no operando
de destino, passando-se, ento, para o prximo operando a ser recalculado.
C) Instrues e dados esto em uma memria f sica nica; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando todos os seus
operandos-fonte estiverem prontos e disponveis; essa instruo executada e o resultado
escrito no operando de destino, passando-se, ento, para a instruo seguinte que tiver todos os
seus operandos disponveis.
O) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando todos os seus
operandos-fonte estiverem prontos e disponveis; essa instruo executada e o resultado
escrito no operando de destino, passando-se, ento, para a instruo segu inte que estiver com
todos os seus operandos disponveis.
E) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de uma
sequncia de instrues de mquina; uma instruo lida da memria de acordo com a ordem
dessa sequncia e, quando executada, passa-se, ento, para a prxima instruo na sequncia.

Resoluo desta questo na

Plataforma~

Hora de exercitar
Avaliativcf

Slides da videoaula l.=.J


o

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

...

....

..

[!]r.: .

. .

o&;

[!]t-i .

[!] ~ .

3 TIPOS DE SISTEMAS OPERACIONAIS


Podemos classificar os sistemas operacionais com base referencial em diversos
parmetros e perspectivas, velocidade, suporte a recursos especficos, acesso
rede etc. 1
A seguir, so apresentados alguns tipos de sistemas operacionais tpicos
(muitos sistemas operacionais esto enquadrados em mais de uma das
categorias apresentadas). 2

3.1 Batch (de lote)


Os sistemas operacionais mais antigos, principalmente os desenvolvidos
para a segunda gerao de computadores, trabalhavam "por lote", ou seja,
todos os programas a serem executados eram co locados numa fila. 3
O processador recebia um programa aps o outro, para ser processado em
sequncia, o que permitia um alto grau de utilizao do sistema. Atualmente,
o termo "em lote" usado para designar um conjunto de comandos que
deve ser executado em sequncia. 4

OS/360 e VMS so alguns exemplos de sistemas operacionais de lote.

3.2 De rede
Os sistemas operacionais de rede devem suportar operaes em rede, ou seja,
a capacidade de oferecer s aplicaes locais recursos que estejam localizados
em outros computadores da rede LAN (Local Area Network) ou WAN (Wide
Area Network), como servios de autenticao remota, acesso a arquivos,
acesso a banco de dados, impressoras etc. Deve tambm disponibilizar seus
recursos locais aos demais computadores, de forma controlada. 5

A maioria dos sistemas operacionais atuais est alinhada com esta classificao.
1

Disponvel em: <http://www.computronixbras.com/cursos/SOP/Windows2000/ApostilaSOSite.pdf>. Acesso em: 8

jun. 2011.
2

Disponvel em:
Disponvel em:
4
Disponvel em:
5
Dispon vel em:

<http://www.scribd.com/doc/ 13290978/socap01>. Acesso em: 8 jun. 2011.


<http://www.ebah.com.br/sistemas-operacionais-pdf-a52910.html>. Acesso em: 8 jun. 2011.
<http://www.scribd.com/doc/13290978/socap01>. Acesso em: 8 ju n. 2011.
<http://www.scribd.com/doc/13290978/socap01>. Acesso em: 8 jun. 2011.

-------------------~

Unidade 11
3.3 Distribudo
No sistema operacional distribudo, os recursos utilizados por cada usurio
em cada mquina esto disponveis de forma transparente aos usurios. Ao
acessar uma aplicao, o usurio interage com sua interface, entretanto
no sabe onde est executando ou armazenando seus arquivos, sendo esta
deciso de total responsabilidade do sistema e totalmente transparente para
o usurio do sistema.6

3.4 Multiusurio e multitarefas


Para entendermos um sistema operacional, muito importante definir o que processo ou tarefa.
Chamamos de processo um programa que est em execuo. E onde est a importncia em saber essa
definio? Um programa em execuo requer recursos, principalmente da CPU, e concorre com outros
processos para ser realizado. Portanto, cabe ao sistema operacional, quando multiusurio e multitarefas,
gerenciar os recursos disponveis a todos os processos.
Um sistema operacional multiusurio deve suportar a autenticao
e a autorizao de cada usurio quando necessrio o uso de algum
recurso contido no sistema (arquivos, processos, conexes de rede} e
garantir regras para o co ntrole de acesso, objetivando impedir o uso
desses recursos por usurios no autorizados. Essa funcionalidade
fundamental para a segurana dos sistemas operacionais de rede
e distribudos. Grande parte dos sistemas operacionais atuais
multiusu rio. 7

3.5 Desktop/Computador pessoal


Um sistema operacional Desktop projetado para atender ao usurio domstico e/ou corporativo
que necessite realiza r atividades t riviais, como editar textos, elaborar planilhas e grficos, navegar na
internet etc. Suas principais caractersticas so a interface grfica, o suporte interatividade e a operao
em rede. Exemplos de sistemas Desktop so o Windows XP, Mac OS X e Linux.

3.6 Servidor
O sistema operacional classificado como servidor possibilita a gesto
eficiente de grandes quantidades de recursos fsicos como: disco, memria
e processadores, gerindo as prioridades e limites sobre o uso dos recursos.
Tipicamente, um sistema operacional servidor tambm tem suporte a rede
e multiusurios.8
6

Disponvel em: <http://www.scribd.com/doc/13290978/socap01>. Acesso em: 8 jun. 2011.


Disponvel em: <http://www.scribd.com/doc/ 13290978/socap01>. Acesso em: 8 jun. 2011.
8
Disponvel em: <http://www.fatecsbc.edu.br/Dowload/sistemasoperacionais/socap01.pdf>. Acesso em: 8 jun. 2011.
7

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Alguns exemplos de sistemas servidores so: HP-UX, Sola ris, AIX, FreeBSD, Linux e Windows Server
2008.

3.7 Embarcados
Um sistema operacional embarcado ou embutido (embedded) construdo
para operar sobre um hardware com poucos recursos de processamento e
armazena mento. 9

Exemplos tpicos so aparelhos de N, reprodutores de MP3, aparelhos de DVD etc. Um ponto


positivo destes equipamentos que dependem deste tipo de sistema que dificilmente ser possvel
instalar algum software que no seja extremamente compatvel, no permitindo o uso de software no
confivel. Exemplos de sistema embarcado: QNX e VxWorks.

3.8 Tempo real


Esse sistema operacional caracterizado por ter o tempo como parmetro principal. Outras duas
subdivises so: sistemas de tempo real crticos, voltados tipicamente ao controle de processos
industriais e militares e os sistemas de tempo real no crticos, como os aplicados em sistemas
de udio digital ou multimdia. A grande diferena entre estas duas subcategorias que, no caso de
sistemas que dependem do tempo real crtico, eles no podem ter degradao de desempenho (como
o caso dos sistemas que controlam a linha de produo de veculos), j o no crtico, apesar de no
desejado, se houver um pequeno atraso, no ir gerar tantos danos.

3.9 De computadores de grande porte


Sistema de grande porte tipicamente utilizado por grandes corporaes e, como caractersticas
predominantes desses sistemas podem-se considerar a elevada capacidade de E/5, sistema em lote
(batch). processamento de transaes e tempo compartilhado. Exemplos de sistema de grande porte
so: 05/390 e S/400.

3. 1O Multi processadores
Osistema operacional desta categoria pode tratar mltiplas CPUs simultaneamente. Equipamento
com multiprocessadores ou multincleos tm como objetivo principal melhorar a capacidade
computacional dos equipamentos, trazendo melhor desempenho para o ambiente. Com o advento
dos processadores multincleo, at sistemas operacionais voltados para computadores pessoais
esto comeando a lidar com multiprocessadores. Alguns exemplos de sistemas operacionais
multiprocessados so: Windows, Linux, Solaris e AIX.

------------------
9

Disponvel em: <http://www.scribd.com/doc/1 3290978/socap01>. Acesso em: 8 jun. 2011.

Unidade 11
3. 11 Portteis
Voltados para computadores como os PDA (Personal Digital Assistant) e telefones celulares. Um ponto
de destaque para os sistemas portteis que os PDA e celulares no possuem disco rgido multigigabyte,
fazendo grande diferena. Os sistemas operacionais para portteis so: Symbian OS, Windows Mobile e
Paim OS.
4 VISO GERAL SOBRE HARDWARE DE COMPUTADORES
O hardware e o sistema operacional devem ser extremamente congruentes para que seja possvel
obter o melhor resultado desta combinao. H pelo menos dois pontos de vista para analisarmos
essa dupla: um seria a estratgia adotada pela Intel ao criar o processador 8080 e posteriormente
solicitar para Gary Kildall que criasse um software para rodar neste hardware; j a outra forma
seria a vontade de qualquer desenvolvedor imaginar que qualquer funcionalidade desejada seria
prontamente atendida pelo software, porm sabemos que isso no possvel e, para seu melhor
aproveitamento, faz-se necessria uma homogeneidade entre os desenvolvedores de hardware e
software.
Independente das ideologias, turma do hardware ou do software, temos que ter conceitualmente um
modelo pertinente arquitetura do hardware de um computador pessoal para que possamos entender
melhor os sistemas operacionais.
Conceitualmente, computadores simples podem ser abstrados para um modelo esquemtico
representado na Figura 14. Temos o barramento que seria a nossa estrada possibilitando a comunicao
entre os elementos, a memria e os dispositivos de E/S.

CPU

MMU

Controlador
de disco

Figura 14- Principais elementos de um computador pessoal simples

4. 1 Processadores
A CPU traz das memrias instrues, decodifica, interpreta as instrues a serem executadas e as
executa; a partir da, busca as instrues subsequentes e processa o ciclo novamente at ter instrues
a serem executadas.

-ct~-------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Cada arquitetura de CPU tem um conjunto especfico de instrues que pode executar. Portanto,
uma CPU RISC no executa programas desenvolvidos para plataformas C/SC, o oposto tambm
verdadeiro.
Todas as CPUs possuem registradores internos para armazenamento de variveis importantes e de
resultados temporrios. Em adio aos registradores de propsito geral, usados para conter variveis e
resultados temporrios, a maioria dos computadores possuem vrios registradores especiais disponveis
de forma aparente para os programadores. O primeiro a se destacar o contador de programa que
contm o endereo de memria da prxima instruo a ser buscada, ou seja, ele atualizado para
apontar a prxima instruo.
Outro registrador especial o ponteiro de pilha, que aponta para o topo da pilha da memria que
contm uma estrutura para cada rotina chamada, mas que ainda no se finalizou. Uma estrutura de
pilha da rotina contm os parmetros de entrada, as varive is locais e as variveis temporrias que no
so mantidas nos registradores.
Outro registrador especial a PSW (Program Status Word - palavra de estado do programa). Esse
registrador contm os bits do cdigo de condies, os quais so alterados pelas instrues de comparao,
pelo nvel de prioridade da CPU, pelo modo de execuo e por vrios outros bits de controle. Programas
de usurios normalmente podem ler toda a PSW, mas em geral so capazes de alterar somente alguns
de seus campos. Normalmente, o PSW conter o ponteiro/endereo da prxima instruo para ser
executada.
Toda vez que o sistema operacional compartilha o tempo de CPU e, por algum motivo, ele
interrompe a execuo de um programa, inicia ou reinicia outro, ento o sistema operacional necessita
salvar todos os reg istradores para que possa m ser restaurados quando o programa for executado
novamente.

CPUs modernas possuem recursos para executar mais de uma instruo em tempo concorrente,
o que chamamos de pipeline (Figura 15). Elas podem executar uma busca, executar decodificao e,
simultaneamente, a execuo de instruo.
Busca

- - 1..
~

Decodificao

..

Execuo

Figura 15 - Pipeline

Alm do pipeline, temos o superescalar, esse tipo de processador possui mltiplas unidades
de exec uo, conforme demon strado na Figura 16. Portanto, duas ou mais instrues so
buscadas, decodificadas e armazenadas temporariamente em um buffer, at que possam ser
execu tadas.

-------------------~

Unidade 11

Decodificao

Execuo
1e2

CPU

8a

0000000000
Figura 16- Superescalar

4.1.1 Processadores multithread e multincleo


O presidente da Intel, Gordon E. Moore, fez uma prospeco que por muitos considerada uma
profecia, na qual o nmero de transistores dos chips teri a um aumento de 100% a cada perodo de 18
meses. Como a prospeco se tornou um fato, essa teoria recebeu o nome de Lei de Moore. A Figura 17
demonstra graficamente essa lei.
Nmero de
Transistores
100.000.000.000

_____________.

+---------~--....;.__

10.000.000.000

~~~"lm 2 9Mb0
...
lta~!urri21.5Mb 0 . . . ; ; /

1.000.000.000

..

100.000.000

. ~

. . Pentium

ll.!.; o~entium 4

. v

10 .000.000

.
. .Penttum

lnt~I4S6

........ 0 ,., .,.,.;.,.,.,


o

1.000.000

ltanlum
0
Pentium 11
' Pcntium

Pro o

BQ286~ _,_... 1ntel386


100.000
10.000

. . , ?v

...;;. . -a~ss

.. ;,7

.;;.-04oo4
1000+------------------------~
1970

1975

1980

1985

1990

1995

2000

2005

2010

Ano
Dobr<~ndo <1

cada 18 meses

Lei de Moore

Processadores Intel

Figura 17 - Crescimento do nmero de transistores para processadores Intel (pontos) e


Lei de Moore (Linha de cima = 18 meses, linha de baixo = 24 meses)

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


O Intel Pentium 4 e outros chips de processadores tm a propriedade chamada multithreading ou
hyperthreading. No ambiente da cincia da computao, a execuo de um thread a menor unidade de
processamento que pode ser atendida por um sistema operacional. A estrutura de threadse processos diferente
de um sistema operacional para outro, porm, na maior parte dos casos, um threacf 0 contido num processo.
Mltiplos threads podem existir num mesmo processo e compartilhar recursos como a memria, enquanto
diferentes processos no compartilham esses recursos. Em particular, o thread de um processo compartilha as
instrues e contextos. Ana logicamente, mltiplo thread de um processo o mesmo que mltiplos alunos lendo
instrues em um mesmo livro, porm no necessariamente todos os alunos lendo a mesma pgina.
Se um dos processos precisa ler uma palavra a partir da memria demandando muitos ciclos
de relgio, uma CPU multithreading no oferece paralelismo, ento apenas um processo por vez
executado, mas o tempo de chaveamento reduzido para a ordem de um nanossegundo.
O grande problema que multithreading compreendido pelo sistema operacional como uma CPU,
portanto se um computador tiver, por exemplo, duas CPUs, cada uma com dois threads, o sistema
operacional entender e ter que gerenciar como se existissem 4 CPUs no sistema.
Outra opo a CPU com multincleo. Isso o mesmo que fisicamente vermos um nico chip, porm,
internamente, temos mltiplos chips como se fossem vrias CPUs. importante destacar que sistemas com
CPU multincleo requerem SO para multi processadores. A Figura 18 ilustra uma CPU com dois ncleos.

Figu ra 18- CPU Dual Core (dois ncleos)

Saiba mais
<http://www.tra in ing.com.br/lpmaia/mu ltithread.pdf>

4.2 Memria
Na teoria, a memria deveria ser mais performtica do que a execuo de uma instruo processada por
uma CPU, pois, com isso, a CPU jamais teria que esperar pela resposta da memria; entretanto, na prtica,

------------------
10

Thread = em cadeia; programa que consiste em vri as sees menores independentes.

Unidade 11
isso no uma verdade. Para tentar resolver este problema, a abordagem contempornea construir o
sistema de memria seguindo uma hierarquia de camadas conforme se demonstra na Figura 19.
Tempo de acesso

1 nanossegundo

Capacidade

< 1KB

2 nanossegundos

4MB

10 nanossegundos

512- 2048MB
200- 1000GB

100 segundos

400-800 GB

Figura 19 - Hierarquia de memria tpica (nmeros aproximados)

No topo da pirmide, temos os registradores que esto contidos nas CPUs. Esses so feitos do mesmo
material que as CPUs e so to rpidos quanto elas. Desta forma, o tempo do registrador para a memria
desprezvel e a capacidade de memria disponvel nos registradores de 32 x 32 bits para CPU de 32
bits e de 64 x 64 bits para CPU de 64 bits, sendo menos de 1 KB mesmo no caso das CPUs de 64 bits.
Seguindo, no segundo nvel, vem amemria cache11 , que controlada pri nci paI mente pelo hardware-conforme
demonstrado na Figura 20. Atualmente, vrios dispositivos como processadores, discos rgidos, placas-me,
placas controladoras e outros possuem cache. A memria cache mais usada para armazenar informaes
frequentemente mais usadas, porm memria cache muito cara e no to abundante nos sistemas.

Figura 20- Cache na CPU Dual Core


11

Cache = peq uena rea de memria rpida , integrada unidade central de processamento.

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


No prximo nvel, possvel identificar a memria principal tambm conhecida como memria
RAM (Random Access memory- memria de acesso aleatrio). demonstrada na Figura 21. Todas as
solicitaes vindas da CPU e que no esto na memria cache so encaminhadas para a memria
principal.
f iMI C~tl' Dt~ IM~~
IJXQ7 'lhe ~ ~ Co bG

~l.,. H... H...


a -

- l l l l t-

ir...i I li........
n- ~~ i:
~

lllt_IIJ_I .I-JI'I- Jil~

aiUUIIl-

11... Pil D.... IOIIR: SDRANI


11 - . . - - . . I

' I

l lj

11

'

11

: I

-u- - -,
l lj

lj

l'l

.J i...J ! i! i ! ! ~ H ;.. i I ~- !

.!! -!~ !r .!c::-:

1111111111fllriiii111111111111111111111111111!JIIIfl 11fltlllllll111111111111111111111111111

i
'

-- ii

ii

i i.

....... .~.~ &

! !~ !' !~

.... i

ii

ii

jj

!~ -~
- -i
i

1111111111 ,111111111111111111111111111111 ' llllllllllllllllrlllllllllllllllllllllllll

.i
I
i

i~

~r

IJ

If

ll
11

I 11 l1

I~

l i 11 U t 11 I~

li

I fJ I 11 ' I

r~= r=~:.

iiiii'iiiiiiiiii.iiiiiii ii'liillt

ZN pin SOOIMM l DOR SIJIRAM)

J ..pln S IMM CORAM I

Jl.pen SIMM 1fPMt

~ ~f

t rl

n ]!

W! 'Jf
-n' ~! 1. 1 1!

.
11111111111111111111' 111 111111111 '11

'~

----.;

U ., ;;
1I f.

IIIIIPI!II!IIIIIUII:II!IIIItrlll' ll

Figura 21 -Tipos de memria RAM

-------------------~

Unidade 11
ROM (Read Only Memory} e CMOS so outros tipos de memrias tambm presentes nos sistemas
computacionais. A memria ROM normalmente usada pelos fabricantes para gravar cdigos
controladores do hardware e so previamente programadas em fbrica, no sendo possvel sua alterao,
a no ser que se usem equipamentos especficos para esta finalidade. A memria CMOS (Figura 22)
tipicamente usada para manter data e hora atualizadas e parmetros de configurao do hardware
como sequncia de boot e outros mesmo que o computador seja desligado. A memria CMOS necessita
de uma bateria (Figura 23) para manter seu contedo.

Figura 22 - ROM

Figura 23 - Bateria da CMOS

4.3 Disco
Os discos magnticos esto na camada logo abaixo da memria principal, sendo conhecidos como
discos rgidos ou, em ingls, hard disks e tambm, de forma abreviada, como HD. O grande atrativo
dos discos magnticos em relao memria o preo bem menor se comparado R$/GB, entretanto o
contraponto a velocidade de acesso que muito mais lenta por ser um dispositivo mecnico, conforme
ilustrado na Figura 24.

Figura 24- Disco rgido aberto

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Na estrutura de um disco magntico, temos como uma das principais partes o grupo de discos
metlicos em que so gravadas as informaes. Tipicamente, esses discos rodam a velocidades de 5400
a 10000 rpm (rotaes por minuto) e tm uma mdia de transferncia de 0.5 Gbit/s. Em ambientes
projetados com servidores de rede e, principalmente, servidores de banco de dados transacional,
normalmente, so instalados discos com velocidade de 15000 rpm, podendo-se atingir a mdia de
transferncia acima de 1.6Gbit/s. Os discos de 10000 ou 15000 rpm usam discos menores para mitigar
grandes demandas de energia, entretanto isso acarreta que estes discos com maior capacidade de
rotao por minuto possuam menos capacidade que os discos magnticos de menos rpm.
As informaes so escritas no disco em uma srie de crculos que tm o mesmo centro. Cada cabea
pode ler e gravar uma regio circular chamada trilha. Juntas, as trilhas de uma posio do brao formam
um cilindro. Mover o brao entre cilindros prximos leva aproximadamente 1 ms e mover o brao de
um determinado cilindro para outro distante leva em torno de 5 a 10 ms. A seguir, a Figura ilustrativa
da unidade a fita de backup LTO 5 que a tecnologia mais atual durante a elaborao deste material.

4.4 Fitas
A fita magntica o ltimo tipo de memria na pirmide ilustrada na Figura 25. Esse meio muito
utilizado como mdia de cpia de segurana (backup), transportando uma cpia daquilo que est nos
discos magnticos para fitas magnticas. Com base nas normas de segurana ISO 27001, e at mesmo
do Banco Central Brasileiro, obrigatrio o uso de sistemas de backup para garantir que a informao
esteja disponvel em caso de o sistema principal apresentar problema. Grandes sistemas utilizam robs
que controlam a troca de fitas, bem como softwares especiais para backup como o Veritas Backup Exec,
Data Protector, ARCserve, Tivoli Storage Management e outros.

Figura 25 - LTO 5 (Capacidade 1.5 TB- 6 Gb/sec. SAS)

4.5 Dispositivos de E/5


Os dispositivos de E/S so geralmente os controladores e os dispositivos. O controlador formado por
um ou mais chips numa placa; estes controladores possuem a funo de receber os comandos do sistema
operacional e gerar as instrues mais adequadas para os dispositivos, fornecendo ori entao exatamente
de como o disco rgido armazena e acessa os dados, por exemplo. Os dispositivos possuem interfaces
bastante padronizadas. Isso ajuda, porque a controladora IDE pode controlar qualquer disco IDE12.

------------------
12

IDE: ln tegrated Drive Electronics.

Unidade 11
Entre o sistema operacional e o controlador, h outro software chamado driver de dispositivo.
funo do driver de dispositivo se comunicar com o controlador emitindo comando e recebendo
respostas. Os fabricantes de controladores devem fornecer drivers especficos para cada sistema
operacional a que do suporte.
Existem trs maneiras diferentes para entrada esada (E/5): o mtodo mais simples quando o programa
de um usurio emite uma chamada de sistema, ento o ncleo do sistema operacional a traduz em uma
chamada ao driver relacionado, em seguida, o driver inicia a entrada e sada e fica em constante checagem
se o dispositivo terminou a operao; quando a operao finalizada, o driver coloca os dados onde
so necessrios; o sistema operacional, ento, remete o controle para quem originou a chamada. Neste
processo, a CPU fica ocupada durante a monitorao, se a operao de E/5 terminou ou no.
No segundo mtodo, o driver inicia o dispositivo e instrui que ele o informe quando terminar; durante este
perodo de intervalo, o sistema operacional retoma o controle da CPU para executar outra tarefa. Assim que o
controlador recebe a sinalizao do final da transferncia, ele gerar uma interrupo para sinalizar o trmino.
O DMA (Direct Memory Access) o terceiro mtodo para a implementao de entrada e sada. Neste
cenrio, utilizado um chip especial de acesso direto memria, controlando o fluxo de bits entre a
memria e algum controlador sem interveno constante da CPU. Nesse processo, a CPU configura o
chip DMA informando a quantidade de bytes que devem ser transferidos, os endereos do dispositivo e
de memria empregados, e a direo. Ento, a execuo fica a cargo do DMA. Assim que o DMA finalizar
a tarefa, haver uma interrupo.

Saiba mais
<http://www.di.ufpb.br/ra imundo/H iera rqu ia/Hiera rq ui a>
4.6 Barramento
O termo barramento definido como elos de comunicao que consistem em um conjunto de vias.
Ao longo da evoluo da arquitetura computacional, os barramentos foram tomando forma mais
heterognea e estruturada para as necessidades modernas. Os processadores e memrias foram ficando
cada vez mais velozes, e o computador antigo, que inicialmente tinha somente um barramento, passou
a no mais dar conta. Podemos fazer uma analogia com uma estreita rua de bairro onde temos somente
casas e um trfego predominante de pessoas, porm, com o passa r do tempo, prdios so const rudos
e os moradores passa m a se locomover usa ndo carros. Em determinados horrios, o fluxo de carros
saindo do mesmo local e entrando no barramento, ou melhor, entrando na rua, ir gerar uma sobrecarga
impossvel de ser atendida por esta via; ento que surge a implantao de novas vias ou, pelo menos,
o alargamento deste elo de comunicao.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Tipicamente, os sistemas modernos possuem oito barramentos, conforme a Figura 26, sendo:
barramento de cache, local, memria, PCI 13, SCSI 14, USB 15, IDE16 e ISA17 , cada um com diferentes funes
e taxas de transferncia.
Barramento
de memria
Memria
principal

Barramento
local
Ponte
PCI

Ponte
ISA

....
Barramento

cache

CPU

SCSI

Cache
L2

USB

Figura 26 - Estrutura de barramentos de um computador tpico

Para efeitos de compatibilidade com placas de E/Santigas, atualmente ainda podemos encontrar incluso nos
sistemas o barramento ISA. Esse barramento era predominante no IBM PC/AT que funciona em 8,33 MHz e pode
transferir 2 bytes por vez, com uma taxa mxima de 16,67 MB/s. Posteriormente ao ISA, a Intel desenvolveu o
barramento PCI objetivando a substituio do ISA. Na Figura 27, demonstrado o exemplo dos conectares do
PCI Express, e, na Figura 28, a diferena entre o PCI e o ISA. Obarramento PCI alcana taxa de funcionamento em
66 MHz e transfere 8 bytes por vez, propiciando, assim, 528 MB/s (diferena de mais de 3000% entre o ISA para
o PCI). Os equipamentos mais modernos j contam com o barramento PCie Gen2 x16.

Saiba mais
<http://www.pcisig.com/specifications/pciexpress/>.
13

PCI: Peripheral Component lnterconnect- Interconexo de Componentes Perifricos.


SCSI: Sma/1 Computer System Interface - Interface de Pequenos Sistemas de Computadores.
15
USB: Universal Serial Bus - Barramento Seria l Un iversal.
16
IDE: lntegrated Drive Electronics - Unidade Eletrnica Integrada.
17
ISA: lndustry Standard Architecture - Arquitetura para Padro Industrial.
14

-------------------~

Unidade 11

Figura 27 -Tipos de conectares

PCI

ISA

Figura 28 -Tipos de conectares

A CPUse comunica com o barramento PCI por meio do barramento local que, por sua vez, se comunica
com a memria por intermdio de um barramento dedicado. Usando, por exemplo, um sistema Pentium
com uma cache de nvel 1 dentro do chip e uma cache de nvel 2 muito maior que fica na parte externa
do chip e conectada CPU pelo barramento cache.
Este sistema contm tambm trs barramentos especficos: IDE, USB e SCSI. Obarramento IDE, como
descrito anteriormente, pode ser usado para conectar discos fsicos e unidade de CD-ROM.
O padro USB foi desenvolvido por um consrcio de empresas, entre as quais se destacam: Microsoft,
Apple, Hewlett-Packard, NEC, Intel e Agere. O smbolo do USB representado na Figura 29.

-ct~-------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 29 -Smbolo do USB -Tridente

A verso USB 1.0 suporta taxa de 1,5 Mbit/s a 12 Mbit/s (verso 1.1 ), a verso 2.0, velocidades na taxa
de 480 Mbit/s (60MB/s), e a verso 3.0, de 4,8 Gbit/s (600MB/s).
Uma das caractersticas fundamentais para o sucesso do USB, principalmente pela demanda de
agilidade de interoperabilidade, que esta tecnologia compartilha o mesmo drver entre os seus
dispositivos, tornando dispensvel instalar um novo drver para cada novo dispositivo USB.Isso traz como
beneficio maior o fato de podermos instalar dispositivos USB no computador sem precisar reinici-lo,
ou seja, plug and play18
Como barramento de alta performance, temos o SCSI, destinado para discos de alto desempenho e
demais dispositivos que demandam grande largura de banda.
O SCSI baseado na Shugart Associates System Interface (SASI). A SASI foi
desenvolvida em 1981 pela Shugart Associates em conjunto com a NCR
Corporation. Em 1986, o Instituto Americano de Padres Nacionais (ANSI
- American National Standards lnstitute) aprovou o SCSI, uma verso
modificada da SASI. O SCSI usa uma controladora para enviar e receber
dados e energia de dispositivos SCSI, como HDs e impressoras.19

O SCSI tipicamente usado para controlar discos com estrutura ordenada contendo elementos
acessveis individualmente referenciados por nmeros, denominado RAID 20.
Outras tecnologias, como o serial-ATA (SATA), tambm podem ser usadas para
este propsito. O RAIO tambm aumenta a fault tolerance (tolerncia a falhas)
por meio de mirroring (espelhamento) e parity (paridade). O espelhamento
faz uma cpia exata dos dados de um disco rgido em um segundo disco
rgido. A paridade requ er no mnimo trs discos, e os dados so gravados
sequencialmente para cada unidade, exceto o ltimo. A ltima unidade
armazena um nmero que representa a soma dos dados dos outros discos. 21
18

Plug and play: termo ingls que significa que se pode conectar e jogar, ou seja, rpido e fcil, sem necessidade
de reiniciar o sistema para fazer o novo dispositivo ser reconhecido.
19
Disponvel em: <http://informatica.hsw.uol.com.br/scsi1.htm>. Acesso em: 8 jun. 2011.
20
RAIO: Redundant Array of lndependent Disks.
21
Dispon vel em : <http://informatica.hsw.uol.com.br/scsi1.htm>. Acesso em: 8 jun. 2011.

-------------------~

Unidade 11
Na Planilha 1, so demonstrados diversos tipos de SCSI. Os mais lentos no esto em uso, mas foram
includos nesta lista para efeito de comparao.
Nome

Especificao

Nmero de
dispositivos

Largura de
barramento

Velocidade de
barramento

MB/s

SCSI -Assncrono

SCSI- 1

8 bits

5 MHz

4 MB/s

SCSI -Sncrono

SCSI-1

8 bits

5 MHz

5 MB/s

Wide

SCSI-2

16

16 bits

5 MHz

10 MB/s

Fast

SCSI-2

8 bits

10 MHz

10 MB/s

Fast/Wide

SCSI-2

16

16 bits

10 MHz

20 MB/s

Ultra

SCSI-3- SPI

8 bits

20 MHz

20 MB/s

Ultra/Wide

SCSI-3- SP

16 bits

20 MHz

40 MB/s

Ultra2

SCSI-3 SPI-2

8 bits

40 MHz

40 MB/s

Ultra2/Wide

SCSI-3 SPI-2

16

16 bits

40 MHz

80 MB/s

Ultra]

SCSI-3 SPI-3

16

16 bits

40 MHz

160 MB/s

Ultra320

SCSI-3 SPI-4

16

16 bits

80 MHz

320 MB/s

Planilha 1 -Tipos de SCSI

Objetivando aprimorar e possibi litar que o sistema operaciona l tivesse possibilidades reais de
gerenciar de forma consolidada os diversos dispositivos de E/S, e baseado no conceito similar previamente
implantado pela Apple no Macintosh, a tecnologia plug and play para computador pessoal foi projetada
pela Intel e Microsoft.
O plug and play facilitou a vida dos profissiona is e usurios caseiros que se aventuravam a tentar
instalar placas no sistema. Naquela poca, que no deixa sa udades, uma simples insta lao de uma
nova placa de som, por exemplo, poderia fazer com que outro dispositivo parasse de funcionar de forma
quase que inexplicvel e isso ocorria por conflito de interrupo e endereos de registradores.
Naquela poca, era comum encontrar placas controladoras com componentes chamados jumpers,
conforme a Figura 26, que tinham a finalidade de possibilitar ao usurio configurar um nvel de
interrupo e endereo de dispositivos de E/S que no conflitassem com outros dispositivos j existentes
no sistema.
-. :fi
u
- Jll - ..

. -..
.

'!_..,: .. r

..-

r: .
t

F-

;~ .

'J

---
.

~-- ~~

}f- ......,

1 a. .

r_

'

,...,

to ' ~- ':t
(( ff~- r!;
~~t
-r,"

~;

ri

~~

-~~ -

-- wt1;.:
. .-.; --r>.
.~Jtm
~

~ ""' 'i' "

-.~ ...::. ..

"

.' ~~',.rn ~~
..... '! d

..,.,
.....

. ~"':

li

'

, rr!t

...
;A

,.i'>,.,

.' .,;.... r'

1)-

i~

: ::: , I .

p\_ , .,..,

f4 -

JIIIlllllH1J IJH, :-J;J ltl JI llltJIHIIHUli.l.l;J .I.


~

. ~;

r-t

Figura 30 - Placa controladora com jumpers para configurao de IRQ

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Saiba mais
<http://www.gta.ufrj.br/g rad/01_1/ba rra menta>

rwv.,..::;

Resumo

No modelo abstrato de sistema operacional, temos que ter alguns


entendimentos a respeito de processadores, memrias e dispositivos de
entrada e sada que so conectadas por barramento.
Alm da estrutura de hardware em que est montado o sistema
operacional, os conceitos tpicos sobre os quais todos os sistemas
operacionais so construdos so:
Processos.
Gerenciamento de memria.
Gerenciamento de E/S.
Sistema de arquivos.
Segurana.
Os sistemas operacionais podem ser vistos por dois prismas:
Dispositivo gerenciador de recursos.
Mquina estendida.
Todos os sistemas operacionais possuem, na sua essncia, o conjunto
de chamadas de sistema com que eles podem lidar. Dentre elas,
destacamos:
Criao e finalizao de processos.
Leitura e escrita de arquivos.
Gerenciamento de diretrios.
Chamadas diversas.

-------------------~

Unidade 11
Os sistemas operacionais so, geralmente, entre outros, estruturados
conforme as classificaes abaixo:
Sistema monoltico.
Hierarquia de camadas.
Microncleo.
Sistema de mquina virtual.
Exoncleo: tem como finalidade permitir que uma aplicao solicite
uma regio especfica da memria, simplesmente para assegurar que
os recursos pedidos esto disponveis e que o programa tem direito a
acess-los.
Modelo cliente servidor.

Exerccios
Questo 1. (ENADE 2008) Uma alternativa para o aumenta de desempenho de sistemas computacionais
o uso de processadores com mltiplos ncleos, chamados multicores. Nesses sistemas, cada ncleo,
normalmente, tem as funcionalidades completas de um processador, j sendo comuns, atualmente,
configuraes com dois, quatro ou mais ncleos. Com relao ao uso de processadores multicores e
sabendo que threads so estruturas de execuo associadas a um processo, que compartilham suas
reas de cdigo e dados, mas mantm contextos independentes, analise as seguintes asseres.

I. Ao dividirem suas atividades em mltiplas threads, que podem ser executadas paralelamente,
aplicaes podem se beneficiar mais efetivamente dos diversos ncleos dos processadores
multicores.
11. Osistema operacional nos processadores multicores pode alocar os ncleos existentes para executar
simultaneamente diversas sequncias de cdigo, sobrepondo suas execues e, normalmente,
reduzindo o tempo de resposta das aplicaes s quais esto associadas.
Acerca dessas asseres, assinale a opo correta.
A) As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da
primeira.
B) As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa correta da
primeira.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


C) A primeira assero uma proposio verdadeira e a segunda, uma proposio falsa.
D) A primeira assero uma proposio falsa e a segunda, uma proposio verdadeira.
E) Tanto a primeira quanto a segunda asseres so proposies falsas.
Resposta correta: alternativa C.
Anlise das alternativas
A) Alternativa incorreta.
Justificativa: ao afirmar que existe uma sobreposio de execues, o autor induz o leitor ao erro,
pois, apesar do processamento estar distribudo entre as CPUs, ainda existe um compartilhamento de
recursos, que devem manter um sincronismo a fim de se evitar Dead/ocks, portanto, a alternativa possui
dois erros: afirmar que as duas asseres so verdadeiras e ainda afirmar que a segunda assero justifica
a primeira de forma correta.
B) Alternativa incorreta.
Justificativa: o erro encontra-se na falsidade da segunda assero.
C) Alternativa correta.
Justificativa: justificvel pelo entendimento do funcionamento bsico de Threads.
D) Alternativa incorreta.
Justificativa: o erro est justamente em se questionar a veracidade da primeira assertiva.
E) Alternativa incorreta.
Justificativa: o erro est justamente em se questionar a veracidade da primeira assertiva.
Questo 2. (ENADE 2008) Com relao s diferentes tecnologias de armazenamento de dados,
julgue os itens a seguir.

I. Quando a tenso de alimentao de uma memria ROM desligada, os dados dessa memria so
apagados. Por isso, esse tipo de memria denominado voltil.
11. O tempo de acesso memria RAM maior que o tempo de acesso a um registrador da unidade
central de processamento (UCP).

-------------------~

Unidade 11
111.0 tempo de acesso memria cache da UCP menor que o tempo de acesso a um disco
magntico.
IV. O tempo de acesso memria cache da UCP maior que o tempo de acesso memria

RAM.
Esto certos apenas os itens:

A) I e 11.
B) I e 111.
C) 11 e 111.
D) 11 e IV.
E) 111 e IV.

Resoluo desta questo na

Plataforma~

Hora de exercitar
AvaliativJO

Slides da videoaulao

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

5 GERENCIAMENTO DE PROCESSOS

5.1 Introduo a processos


Os sistemas computacionais atuais so capazes de desenvolver uma grande variedade de tarefas
simu Ita nea mente. Mui tas vezes isso passa despercebido para ns e s nos Iem bra mos desta extraordinria
capacidade quando ela falha, ou quando o sistema j est sobrecarregado e notamos a degradao de
desempenho em alguma das tarefas que lhe demos e da qual no estamos tendo o nvel de servio
esperado.
Se pegssemos um servidor de arquivos como exemplo e pudssemos ver o que est acontecendo
dentro do crebro dele no momento de pico de uso do sistema, notaramos que dezenas, em muitos
casos centenas, de usurios esto fazendo milhares de requisies simultaneamente, que o antivrus est
varrendo tudo que entra e sai, e, por outro lado, temos o software de gerenciamento de redes monitorando
e solicitando dados de desempenho do servidor e, por sua vez, os diversos discos trabalhando em RAIO
necessitam processar as funcionalidades desta tecnologia. Certamente, necessrio que os processos
estejam em plena ao para orquestrar toda essa estrutura.
Em todos os sistemas com suposto conceito de paralelismo, temos a CPU trabalhando por algumas
dezenas ou centenas de milissegundos numa nica aplicao e subsequentemente na prxima at o ciclo
se completar. Esta sequncia continuar at termos todos os processos concludos, porm no podemos
esquecer que outros processos podem estar entrando na fila a todo o momento. Devido rapidez dos
ciclos, esse cenrio de suposto paralelismo ir gerar para a percepo humana a sensao de que o
ambiente est processando as requisies, atendendo s diversas aplicaes de forma simultnea.
Somente nos casos de sistemas com mltiplos processadores que teremos de fato mltiplos
programas sendo atendidos no mesmo instante. Controlar mltiplas atividades em paralelo algo que
vem sendo desenvolvido e aprimorado com base num modelo conceitual de processos sequenciais que
facilita o paralelismo que estudaremos neste captulo.
5. 1. 1 Processo
Veremos neste captulo que os softwares de computador so organizados em processos sequenciais.
Um processo um programa em execuo, acompanhado dos va lores
correntes do contador de programa, dos registradores e variveis. 1

------------------
1

Disponvel em: <http://www.ufpi.br/subsiteFiles/eml/arquivos/fil es/SO/SO_Livro.pdf>. Acesso em: 8 jun. 2011.

Unidade 111
Conforme demonstrado na Figura 31, uma CPU pode executar um processo por vez. Na Figura 32,
temos a ilustrao de um sistema com dois cores, que equivale a termos duas CPUs, porm ainda temos
a mesma afirmativa -todas as CPUs podem executar um processo por vez.

CPU
1 core

tempo
Processo A

.......

Processo B

Fig ura 31 - CPU 1 core e 2 processos

core 1

core 2

Tempo core 1

Tempo core 2

Processo A
....... Processo B

c:>
D

Processo C
Processo D

Figura 32 - CPU 2 cores e 4 processos

Va le destacar que um processo e um programa possuem conceitos distintos, sendo que o processo
constitui uma atividade, possuindo programa, entrada, sada e um estado. Tambm devemos sa lientar
que processos podem conter mais de uma tarefa, conceituando ento que tarefa e processo so
distintos.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


No ncleo dos sistemas operacionais, temos o PCBs (Process Contrai Blocks) que armazena as
informaes referentes aos processos ativos no ambiente. Cada processo possui um identificador nico
no sistema, o PIO- Process IDentifier.
5.1.2 Criao de processos
Processos so criados e destrudos constantemente nos sistemas. Essas operaes disponibilizam
aplicaes por meio de chamadas de sistema que diferem entre sistemas operacionais.
Para os sistemas de propsitos gerais, necessrio algum mecanismo para criar e terminar processos
durante a operao quando for necessrio.
Teremos nos sistemas quatro eventos que fazem que processos sejam criados: no incio do sistema,
um processo em execuo procedendo a uma chamada de sistema de criao de um processo, requisio
do usurio para criar um novo processo e bacth job2 sendo iniciada.
Ao iniciar o sistema operacional, tipicamente vrios processos so criados. Entre esses
processos, temos os que esto em primeiro plano e interagindo com o usurio e outros que esto
em segundo plano, portanto no esto diretamente interagindo com o usurio. Para exemplificar
um processo em segundo plano, podemos pegar o caso de um servidor de FTP (File Transfer
Protocol) que fica inativo durante boa parte do tempo, sendo ativado somente quando um
cliente FTP solicita a abertura de uma nova conexo - usamos o termo daemons para descrever
um processo que fica em segundo plano com finalidade de lidar com alguma atividade como a
descrita.
Processos que esto em execuo podem fazer chamadas de sistema (system calfs) para criar
um ou mais novos processos. Criar novos processos indicado quando a tarefa a ser executada
puder ser facilmente dividida em vrios processos relacionados, interagindo, entretanto, de maneira
independente.
Os usurios podem iniciar um novo processo comeando um programa no ambiente GUIou no
ambiente Shell.
No caso de sistemas em lote, tipicamente encontrados em computadores de grande porte,
o usurio, administrador ou at mesmo um alinhamento prvio, pode submeter tarefa em
lote para o sistema. O sistema operacional criar um novo processo e o executar quando
tiver recurso disponvel e/ou redefinindo prioridades e executando o processo no momento
determinado.
Se usarmos como exemplo o ambiente Unix, teremos a chamada de sistema fork para criar
um processo. Essa chamada cria uma rplica do processo solicitante conforme descrito na
Figura 33.

------------------
2

Bacth job =ta refa em lote.

Unidade 111
Processo pai
Tarefas

Processo pai

Memria

Tarefas

L'
arquivos
abertos

L'

arquivos
abertos

Conexes
M 11 I I I

I I
";'I

~ ~,

1
\

',

Fork ' ', ......

1 1
'\
\ \

'
\

,,

''
''' '
''' '

\.

'

,,.!!! li

' '

''
'

'

'\

Memria

Tarefas

~eturn

',

I
-n
arquivos
abertos

'

,,
,','
I

',

' / ,
,,,
"'

, ' ,(

'

1. I I I 11

,
,'

Conexes

'

return

I
\

Memria

L'

Conexes
'

',

Processo filho

1 11 11

ncleo

a.

b.
Figura 33 -A chamada de sistema fork: (33a. antes e 33b. depois).

Posteriormente, o processo filho executa r subsequentemente "execve" ou uma chamada de sistema


similar para mudar sua imagem de memria e executar um novo programa.
No ambiente Windows, uma nica chamada denominada CreateProcess de funo do Win32 trata
o processo de criao e carga do programa correto no novo processo. O processo Win32 possui dezenas
funes para gerenciar e sincroniza r processos e tpicos relacionados.
Tanto no Unix quanto no Windows quando um novo processo fi lho criado, o processo pa i e filho
possuiro seus prprios espaos de endereamento de memria, permitindo assim que se o processo
pai ou filho alterar uma palavra em seu espao de endereamento, a mudana no impacte o outro
processo.
5.1.3 Trmino de processos

Aps o trmino, o processo finalizado com base nas quatro condies t picas: normal, por erro, erro
fatal e cancelado por terceiros - sendo as duas primeiras voluntri as e as duas ltimas involuntrias.
Processos terminados de forma involu ntria no so com uns num sistema em perfeito funcionamento.
A seguir, verificaremos as quatro condies e notaremos por qua l motivo essa afirmao um fato.
O primeiro caso, que a condio normal de se encerrar um processo, ve rificado pela chamada
exit no Unix ou ExitProcess no Windows. Nestes casos, o processo termina aps finalizar as tarefas
que estavam previstas, mesmo que seja um usurio finaliza ndo um programa, fec hando a janela no
ambiente GU/ ou pela opo relativa no ambiente She/1.
Num ambiente Unix, a chamada de sistema exitserve para informar ao ncleo do sistema operacional
que o processo em questo no mais necessrio e pode ser eliminado, liberando todos os recursos a ele

-ct~-------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


empregados. Processos podem solicitar ao ncleo o encerramento de outros processos, mas essa operao
s aplicvel a processos do mesmo usurio ou se o processo solicitante pertencer ao administrador do
sistema.
Os processos que interagem com outros no podem ser concludos quando algum parmetro errado
fornecido. Para exemplificar, vamos considerar o caso de um usurio tentando colocar o nome duplicado
entre dois arquivos no sistema, ento uma caixa de dilogo emerge e pergunta ao usurio se ele quer
tentar novamente; desta forma teremos por consequncia a segunda condio que a sada por erro.
Erro fatal um erro causado pelo processo e normalmente por um erro de programa. Como exemplo
podemos ter a execuo de uma instruo ilegal, a referncia memria inexistente ou a diviso por
zero; em todos estes casos, teremos como resultado um erro fatal.
O cancelamento por outro processo ocorre quando um processo x executa uma chamada de sistema
determinando que o sistema operacional cancele outro(s) processo(s) n. Tanto no Unix/Linux a chamada
o ki/1 e no ambiente Windows a funo Win31 correspondente a TerminateProcess.
5.2 Comunicaes entre processos
A comunicao entre processos algo frequente nos sistemas atuais, havendo a necessidade de
obtermos uma comunicao estruturada e sem interrupes acontecendo entre eles.
Em linhas gerais, temos trs tpicos importantes na comunicao entre processos: como um processo
passa a informao para outro; como garantir que mltiplos processos no entrem em conflito; e o
terceiro pertinente, como haver uma sequncia adequada quando existirem dependncias.
5.2.1 Condio de corrida
Processos que trabalham juntos podem compartilhar algum armazenamento comum e serem
capazes de ler e escrever. O armazenamento compartilhado pode estar na memria principal ou em um
arquivo compartilhado.
Para entendermos o processo de condio de corrida, vamos considerar como exemplo um spool de
impresso.
Para imprimir um arquivo, um processo entra com o nome do arquivo numa posio da fila em
um diretrio de spoo/. Em paralelo e de forma constante, o deamon de impresso verifica na fila se h
algum arquivo para imprimir. Se houver algum arquivo para imprimir, ele ser impresso e, em seguida,
seu nome ser removido da fila.
Ainda pensando no cenrio para exemplificar nossa condio de corrida, imagine que h duas
va riveis compartilhadas, sendo uma de sada com o nome out que apontar para o prximo arquivo
a ser impresso, e uma de entrada como o nome de in que apontar para a prxima posio livre no
diretrio de impresso.

-------------------~

Unidade 111
Agora, imagine que temos dois processos X e Y que decidem quase que simultaneamente colocar,
cada um deles, um arquivo, sendo X= ArquivoX e Y= ArquivoY, na fila de impresso. Ento, o processo X
l a varivel in e nota que a posio 1 est disponvel, o processo X armazena a posio 1 na sua varivel
vaga_impressao_disponivel. Porm, neste instante, a CPU transaciona para o processo Y, entendendo
que X j ocupou o tempo necessrio durante este ciclo de processamento. No momento em que Yl a
varivel in, nota que a posio 1 est disponve l, ento Yarmazena em sua varive l vaga_impressao_
disponvel a posio 1. Podemos notar que ambos os processos passam a conter a posio 1 como
varivel indicando a vaga 1 da fila de impresso.
Oprocesso Ycontinua sua execuo armazenando o nome ArquivoYna vaga 1, ento atualiza a va rivel
in para conter o valor 2. Depois desta tarefa, o processo Ypassa a executar outras tarefas subsequentes. De
forma fortuita, o processo X volta a executar suas tarefas da posio em que havia parado, aps verificar
sua varivel vaga_impressao_disponivel e encontrar o valor 1, ento escreve o ArquivoX na vaga 1. Aps
o processo X executar a tarefa de gravao do arquivo, teremos a posio 1 da fila de impresso ocupada
pelo ArquivoX e o ArquivoY concomitantemente apagado. Como X atualiza a varivel in com o valor 2, o
diretrio de spool est internamente consistente, no havendo nenhuma suspeita, portanto o deamon no
notar nada anormal ou inconsistente, porm o processo Yjamais obter qualquer sada.
O usurio que mandou imprimir o ArquivoY certamente imaginar que houve algum boicote aps
esperar por muito tempo e nada sa ir da impressora. Portanto, cen rios como este em que temos dois ou
mais processos que esto lendo ou escrevendo algum dado compartilhado e cujo resu ltado final depende
de quem executa - e quando executa -, so chamados de condies de corrida (race conditions).
extremamente exaustiva a atividade de anlise, depurao e resoluo de cdigos de programa que
apresentam condies de corrida.
-~

( ,...

..."

Saiba mais
Diagrama de Processos:
<http://www.las.ic.unica mp.br/ed mar/PUC/2006/SO/SO-Au la2.pdf>

5.2.2 Excluso mtua e regio crtica


Excluso mtua (mutual exclusion) o modo de asseg urar que processos sejam impedidos de usar
uma va rivel ou um arquivo compartilhado que j estiver em uso por outro processo. Poderamos ter
evitado a condio de corrida apresentada anteriormente se tivssemos aplicado a excluso mtua ou
por modo abstrao evitando que os programas usassem a regio crtica simultaneamente.
Entendemos por regio crtica (criticai region) ou seo crtica (criticai section) a parte dos programas
em que h acesso memria ou arquivo compartilhado. Ainda que essa soluo impea as condies
de disputa, isso no suficiente para que processos paralelos colaborem de forma correta e eficiente
usando dados comparti lhados.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


So necessrias quatro condies elementares para chegarmos a uma boa soluo:
Dois ou mais processos nunca podem estar simultaneamente em suas regies crticas.
Nada pode ser definitivamente afirmado no que tange velocidade ou ao nmero de cores.
Nenhum processo executado fora de sua regio crtica pode bloquear outros processos.
Nenhum processo deve esperar infinitamente para estar em sua regio crtica.
Portanto, em um modelo abstrato, as caractersticas necessrias para satisfazermos a condio
desejada so demonstradas na Figura 34, em que o processo X entra em sua regio crtica no tempo T1.
Subsequentemente, no tempo T2, o processo Y tenta entrar em sua regio crtica, entretanto falhar
devido ao fato de outro processo j estar ocupando esta condio exclusiva. Ento, Xfica temporariamente
aguardando at que o processo Y deixe sua regio crtica.
Y entra na
regio crtica

Processo Y

Y deixa a
regio crtica

Core 1

Regio crtica

Regio crtica

Processo X

Core 2

X Bloqueado

Figura 34 - Regio crtica

5.2.3 Excluso mtua com espera ociosa


Quando estamos usando os sistemas mais antigos que possuam somente uma CPU com um
nico core, a forma mais tri vial e segu ra para evitarmos que mais de um processo entre na regio
crtica aplicada com a desativao das interrupes assim que o primeiro processo entrar na
regio crtica e consecutivamente reabilit-las assim que sair desta regio. Portanto, quando se
desativa a interrupo, a CPU no poder chavear para outro processo, com isso no tem como
ocorrer a cond io de corrida apresentada anteriormente.

-------------------~

Unidade 111

" ' Observao


Entretanto, caso tenhamos um problema num processo que desative as
interrupes e nunca mais as reative, certamente, teremos um problema
maior para lidar do que a situao decorrida, ou seja, teremos o sistema
IiteraI mente parado.
Podemos concluir que a desativao das interrupes uma tcnica coerente para o prprio sistema
operacional, porm com alto nvel de risco para os processos dos usurios que necessitem de excluso
mtua.
Com as novas arquiteturas de chips com mltiplos processadores, esta tcnica de desabilitar
interrupes torna-se inadequada, tendo em vista que, por um lado, se desativarmos a interrupo de
uma nica CPU, teremos outras CPUs ou cores com a possibilidade de terem processos entrando em
regies crticas e, por outro lado, se desativarmos a interrupo de todas as CPUs e/ou cores, estaremos
impactando na performance da mquina, pois certamente comprometeremos as tarefas dos chips cujas
interrupes desativamos por "precauo':
Existem outras tcnicas para evitarmos que mltiplos processos entrem simultaneamente em
suas regies crticas. Entre elas, temos a opo por software. Essa opo seria baseada numa varivel
compartilhada que se chamaria lock (trava), em que teramos valores O ou 1, sendo O para sinalizar
que no temos nenhum processo em regio crtica, e 1 para sinalizar que temos algum processo prvio
em regio crtica. O mecanismo simples, um processo checa se est em 1 ou O, estando em O ento
significa que tem permisso para entrar em sua regio crtica, porm, "supostamente", no antes de
colocar a varivel em 1, o que indicaria que outro processo j est em sua regio crtica. Portanto, se um
novo processo tentar entrar numa regio crtica, antes ir checar se a varivel est em 1, estando assim,
este processo ir aguardar. Entretanto, esta tcnica apresenta o mesmo problema descrito no exemplo
da fila de impresso.
Outra opo seria o chaveamento obrigatrio que por meio da varivel turn controla a vez de quem
entra na regio crtica, verificando e compartilhando a memria compartilhada. Ofuncionamento dessa
tcnica se d quando um segundo processo que tambm queira entrar em sua regio crtica ter de
esperar at que a varivel turn seja chaveada de valor. Porm, para isso precisa ficar testando de forma
repetitiva at a liberao. Esse processo chamado de busy waiting (espera ociosa).

Observao
O busy waiting um processo que despende muito tempo de CPU, mas
somente em situaes nas quais a espera factualmente pequena. Vale
destacar que uma trava que usa o busy waiting chamada de spin /ock
(trava giratria).

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Num nvel mais fsico (hardware), temos a instruo Test and Set Lock (TSL) que l no registrador
RX a palavra lock do contedo da memria e ento armazena um valor diferente de zero no endereo
de memria lock. Com o uso desse mecanismo, temos a soluo para o caso dos mltiplos cores, pois a
instruo TSL impede que outras CPUs acessem a memria enquanto ela no terminar a execuo do
seu processo em regio crtica.

5.2.4 Semforos

Como vimos anteriormente, quando um processo estivesse ativo e executando tarefas na


regio crtica, ento outros deveriam ficar "dormindo" at o trmino dessa tarefa. O semforo
o conceito proposto por E. W. Dijkstra para um tipo de varivel inteira, objetivando contar o
nmero de sinais de "acordar" salvos para o uso futuro. Um semforo poderia conter o valor O,
indicando que nenhum sinal de acordar foi salvo, ou algum valor positivo, sinalizando que um
ou mais sinais de acordar estivessem pendentes. Dijkstra props a existncia de duas operaes
para os semforos: P (down) e V (up), que so mnemnicos e fazem aluso a sleep e wake up
(dormir e acordar).
A operao down (P) no semforo verifica se o valor contido maior que O. Caso isso seja mesmo um
fato, subtrair um sinal de up (V) que estiver na varivel e prosseguir com as tarefas. Porm, se o valor
contido na varivel apresentar o valor igual a O, ento o processo ser instrudo para s/eep (dormir),
porm sem terminar o down "ainda" (esse um ponto importante do semforo que ser debatido
adiante).

Observao
Vale destacar, nesse momento, que verificar o valor sem alter-lo
e possivelmente ir dormir so tarefas que devem ser obrigatoriamente
executadas nessa ordem, alm de no poderem ser divididas.
Para evitarmos a condio de corrida, deve ser garantido que, ao iniciar uma operao de semforo,
nenhum outro processo poder ter acesso a este at que a operao tenha terminado ou sido
bloqueada.
J na operao up, incrementado no semforo um valor. Porm, se um ou mais processos estivessem
dormindo ao ser iniciada a operao up (lembrando que na operao down os processos no chegam
a terminar o ciclo completo, ficando em estado dormente - como foi destacado acima quando usei
o termo "ainda"), e estivessem impossibilitados de terminar a operao down, ento um deles seria
escolhido pelo sistema e atribudo a permisso para trmino do down. Apesar de o semforo permanecer
em Onessa etapa up, em um semforo que j continha um ou mais processos dormentes, e esperar para
terminar o down, teremos um processo a menos dormindo.

-------------------~

Unidade 111

Lembrete
Durante o up, apesar de o semforo terminar com o valor em O, ele
ter liberado um dos processos que estavam impossibilitados de terminar
o ciclo down.
No podemos esquecer que a operao de incrementar o semforo e acordar um processo que
estava previamente dormente tambm indivisvel, como o processo no caso explicado anteriormente
no down. Vale destacar tambm que um processo nunca dever ser bloqueado a partir de um up.

Saiba mais
<http://www.facom .ufu.br/"'fa ina/BCC_Crs/1 NF09-1 52009/Prjt_SO 1/
sem aphor.htm I>
5.2.5 Monitores

Hoare e Brinch Hansen propuseram uma unidade bsica de sincronizao de alto


nvel chamada de monitor. Podemos definir monitor como uma coleo de rotinas,
variveis e estruturas de dados, todos agrupados em um tipo especial de pacote.3

O monitor tem um papel fundamental para realizar a excluso mtua pelo fato de que somente um
processo pode estar ativo em um monitor num determinado tempo x. Tipicamente, quando um processo
executa uma chamada a uma determinada rotina do monitor, algumas das primeiras instrues da
rotina devero verificar se existe outro processo ativo dentro do monitor. Caso confirme que outro
processo encontra-se ativo dentro do monitor, ento o processo que realizou a chamada ficar suspenso
at que o processo que estava previamente ativo saia do monitor.

" ' Observao


Um processo que executar uma chamada ao monitor poder entrar
somente se no houver nenhum outro previamente ativo.
O monitor uma construo da linguagem de programao e os compiladores tratam suas
chamadas e rotinas de modo diferente de outras chamadas de procedimento. Tambm funo do
compilador implantar a excluso mtua. Tendo em vista que para codificar um monitor, quem codifica
3

Disponvel em: <http://www.computronixbras.com/cursos/SOP/Windows2000/ApostilaSOSite.pdf>. Acesso em: 8

~~un_._2o_1_1-----------------------------------------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


no necessariamente tem de conhecer como o compilador implanta a excluso mtua, ento basta
ter em mente que convertendo todas as regies crticas em rotinas do monitor, dois ou mais processos
nunca podero entrar em suas regies crticas ao mesmo tempo.
Alm da maneira simples pela qual o monitor consegue tratar as excluses mtuas, ele tambm
apresenta variveis condicionais que possibilitam bloquear processos quando no puderem
continuar.
As variveis condicionais apresentam duas operaes: wait e signal. O wait usado para definir
que uma rotina no pode prosseguir naquele instante. O signal foi abordado de duas formas distintas,
sendo uma por Hoare, que prope deixar o processo recm-acordado executar e suspender o outro. J
Brinch Hansen props que, se um signal emitido sobre uma varivel condicional pela qual os vrios
processos estejam esperando, somente um deles, que determinado pelo escalonamento do sistema,
ser despertado. Alm dessas formas h uma terceira que descreve a soluo, deixando o emissor do
sinal prosseguir sua execuo e permitindo ao processo em espera comear a executar somente depois
que o emissor do sinal tenha sa do do monitor.
Podemos notar que no semforo, usando o s/eep e o wake up, havia a possibilidade de ocorrer falhas,
porque pode haver uma situao, na qual um processo est tentando ir dormir e, em paralelo, outro
tentando acord-lo. Porm, quando usamos monitores, isso no tem como acontecer com a excluso
mtua que automtica. O signal no poder acontecer at que o wait ten ha terminado.
Linguagens como C, Pascal e outras diversas no possuem monitores. Entretanto, o monitor foi
projetado para resolver o problema de excluso mtua em CPU, acessando memria comum, porm,
quando estamos usando um sistema distribudo formado por mltiplas CPUs, e cada uma com sua
prpria memria privada e conectada por uma rede, os monitores passam a no ter efeito.

Saiba mais
<http://www.deinf.ufma.br/"'fssilva/graduacao/so/aulas/monitores.pdf>
5.2.6 Troca de mensagens
Semforos e monitores no permitem troca de informaes entre mquinas, que primordial no
mundo dos sistemas distribudos. Para essa condio temos o message passing (troca de mensagens},
que usa dois instrumentos: send e receive (envio e recebimento} colocados em rotinas de biblioteca.
Num ambiente de rede, um dos principais problemas a perda de pacotes causados por algum
motivador que estaremos nos abstraindo neste material de Fundamentos de Sistemas Operacionais. No
caso da troca de mensagens entre mquinas, isso se d por meio da rede e, como descrito anteriormente,
essa mensagem pode ser extraviada ao longo do percurso. Portanto, uma troca de mensagem usa o

-------------------~

Unidade 111
mecanismo similar ao usado no protocolo TCP/IP camada 4 Transportes TCP, onde a mensagem enviada
requer um sinal de acknowledge4 , ou seja, se quem enviou no receber a confirmao, ento uma nova
mensagem ser reenviada.
Vale destacar que se o emissor enviar a mensagem e o receptor receber, mas o problema acontecer
no retorno da confirmao, ento o emissor enviar uma nova mensagem. Entretanto, dessa vez, pelo
fato de a mensagem ter um nmero sequencial de confirmao, o receptor ir identificar que uma
retransmisso e descartar a mensagem -o mesmo se aplica no protocolo TCP da camada de transporte
do modelo TCP/IP.

5.2. 7 Escalonamento
Quando temos uma nica CPU, ou uma nica CPU disponvel entre as diversas existentes no sistema,
e mais de um processo estiver competindo para ser executado, ento caber ao sistema operacional
escolher qual dos processos ser privilegiado e essa escolha chama-se algoritmo de escalonamento.
Em linhas gerais, o escalonamento importante porque, dentre vrios processos, saudvel que
o sistema priorize aqueles que vo gerar mais impacto ao ambiente e seus usurios, caso no forem
privilegiados durante a escolha de quem deve ser o prximo a ser processado.
Entre os processos, temos aqueles que passam a maior parte do tempo computando, computer
bound (limitados pela CPU), enquanto outros passam a maior parte do tempo esperando por entrada e
sada, 1/0 bound (limitados a entrada e sada).
Devemos escalonar os processos em quatro situaes descritas na sequncia abaixo:
1. Quando temos os processos pai e filho para serem executados. A definio de qual deve ser

priorizado, em muitos casos, essencial para o perfeito funcionamento das tarefas e resultado
correto.
2. Quando temos um processo que terminou e j no est mais no sistema, h a necessidade da
escolha de um novo processo e, portanto, o escalonamento, nessa situao, faz-se necessrio.
3. Quando um processo bloqueado por alguma razo, ento outro processo deve ser selecionado
para ser executado. Processos predecessores podem ser priorizados, pois, se forem executados os
sucessores, pode haver dependncias que iro gerar resultados inconsistentes.
4. Ao ocorrer uma interrupo de E/S, pode ser necessrio uma deciso de escalonamento.

Os algoritmos de escalonamento podem trabalhar tipicamente de duas formas: no antecipado e


antecipado. No primeiro caso, o processo "no antecipado" pode ficar executando pelo tempo que for
4

Acknowledge: sinal que enviado por um receptor para indicar que uma mensagem transmitida foi recebida e
qu e ele est pronto para a prxima mensag em.

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


necessrio, ou seja, por horas at que seja bloqueado ou at que libere a CPU. No segundo, o algoritmo
de escalonamento antecipado escolhe um processo e o deixa em execuo por tempo mximo fixado.

6 GERENCIAMENTO DE MEMRIA
6. 1 Introduo a gerenciamento de memria
At aproximadamente o primeiro quarto dos anos 2000, as memrias RAM (tambm conhecidas como
memria principal) eram extremamente caras. Ficvamos completamente pasmos se comparssemos
percentualmente o valor dos pentes de memrias em relao ao valor total do computador. Porm, j
tivemos dias piores. Nos anos de 1960, mesmo os maiores computadores do mundo possuam cada um algo
que faria com que eles parecessem uma bica d'gua e nossos computadores de mo, um rio Amazonas.
E como era possvel termos programas to eficientes com to pouca memria? Na realidade, a
resposta dividida em duas partes. A primeira que o programador daquela poca tambm conhecia as
entranhas do computador e programar era algo que exigia mais do que conhecimentos da linguagem
de programao versus a necessidade de negcio que estava motiva ndo aquele projeto. Por isso, o
programador, tipicamente, tinha de "tirar leite de pedra: A outra parte da resposta que no tnhamos
as mltiplas interfaces entre aplicaes em rede, nem ambientes de trabalho com tanta qualidade
grfica, nem mesmo a complexidade que os programas atuais possuem.
Com o passar do tempo, a hierarquia de memria, vista antes neste livro, contribuiu para atender a
demanda exponencialmente crescente por memria. Podemos comparar os programas atuais com um
camelo que, depois de atravessar o deserto por dias sem beber nenhum gole de qualquer coisa lquida
e de uma exaustiva jornada, encontra um tanque d'gua (a gua seria a memria}. No necess rio
concluir que, enquanto houver gua disponvel, o camelo estar consumindo- as aplicaes atuais so
cada vez mais cedentes por memria.
No sistema operacional, a parte parcialmente responsvel por gerenciar a hierarquia de memria
o gerenciador de memria, que tem como tarefa conhecer todo espao de memria, alocar para os
processos que esto necessitando e liberar as partes que no esto mais em uso pelos processos.
Conforme demonstrado na Figura 35, temos algumas variaes, sendo a primeira demonstrada na
Figura 35a, a variao por uso total de memria RAM (randon access memory- memria de acesso
randmico} onde o sistema operacional ficar na parte inicial e da memria e o programa do usurio na
parte mais elevada. O segundo modelo um mix de dois tipos de memria, sendo o programa do usurio
na memria RAM e o sistema operacional contido numa memria ROM (read only memory- memria
exclusiva de leitura} e como o nome j diz somente para leitura, portanto neste modelo no h o risco
do usurio ou algum problema na aplicao comprometer o sistema operacional - tipicamente este
modelo usado em sistemas portteis. No terceiro caso apresentado na Figura 35c temos os drivers de
dispositivos em ROM e programa do usurio e sistema operacional em RAM.

-------------------~

Unidade 111
Memria ROM
Drivers

Memria ROM
Memria RAM
Programa
do
usurio

Sistema
operacional

Memria RAM

Sistema
operacional

Programa
do
usurio

Memria RAM
Programa
do
usurio

Sistema
operacional

Figura 35- Conceito de modos de organizao de memria

Observao
Nos sistemas precursores no era possvel mais que um programa
ocupando a memria. Se isso ocorresse, causaria problemas aos dois
programas, ao que estava na memria e quele que tentasse fazer uso.
Com o avano e a necessidade de mltiplas aplicaes em funcionamento simultaneamente, a opo
encontrada foi o uso do swapping, ou seja, troca de processos. Isso consiste em o sistema operaciona l
pegar o contedo completo da memria e mov-lo para um arquivo na memria em disco rgido e,
subsequentemente, liberar a memria para o prximo processo.
Entretanto, no hardware tambm houve avano que no demandava somente a troca de processos
executada por software (pelo sistema operacional). Esse processo consiste em dividir a memria principa l
em blocos de 2 KB com chave de proteo de 4 bits para cada bloco e mantidas em reg istradores
especiais dentro da CPU.
Porm, nesse caso da diviso da memria em blocos, h "um problema quando se usa mais de um
programa". Os dois programas referendam a memria fsica absoluta, enquanto, na realidade, queramos
que cada programa referendasse um conjunto de endereos. Portanto, a soluo a realocao
esttica ou, em outras pa lavras, esse mecanismo de rotao visa rotu lar blocos da memria com uma
chave de proteo e comparar a chave do processo em execuo com a de cada palavra da memria
recuperada.

Saiba mais
< http ://www.slidesha re.net/aud ineisi lva 1/gerenciamento-de-memoria>

-ct~-------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


6.2 Abstrao - espaos de endereamento da memria
Expor a memria fsica aos processos pode trazer problemas, chegando at a ocasionar o travamento
do sistema operacional. Entretanto, hoje, depois da histria toda ter acontecido, sabemos que existe um
mtodo para tratar essa situao, caso contrrio no seria possvel estarmos com o nosso computador
conectado internet, acessando o editor de texto e/ou dive rsas combinaes que fazem parte do nosso
dia a dia. Para isso temos de entender o processo de abstrao da memria.
Com a abstrao da memria e a implantao do espao de endereamento, cria-se uma memria
abstrata para abrigar os programas. Esta, por sua vez, possui um conjunto de endereos usado para
que o processo realize endereamento memria. Individualmente, os processos possuem seu prprio
espao de endereamento, diferente para cada processo.
6.2.1 Permuta de memria
Dezenas de processos so carregados somente para manter o sistema operacional tpico
funcionando, isto , s para ligar a mquina e aparecer a tela do desktop, sem ao menos abrir um
bloco de notas. Todos os processos dos sistemas atuais so verdadeiros consumidores esfomeados
por memria. Um simples processo inerente do prprio Windows ou Linux pode consumir algumas
dezenas de megabytes de memria. Para gerir todo esse alto consumo de memria, necessitamos de
mais memria. Um paradoxo, no?
O swapping, previamente comentado, um dos mtodos mais tri viais para gerir a sobrecarga
de memria. Esse mtodo vem sofrendo modificaes ao longo dos anos. Ele faz a cpia completa
do contedo da memria (que geralmente so processos ociosos) para um arquivo no disco rgido
e libera a memria para outro processo ocup-la. O outro mtodo o uso de memria virtual,
permitindo que programas possam ser ca rregados na memria principal e executados na ntegra
ou parcialmente.
Para entendermos o siste ma de troca de processos, temos, na primeira etapa desse exemplo, em
36a, inicialmente, o sistema operacional ocupando a parte mais baixa da memria (permanecer
nessa posio) e, logo em seguida, temos o processo X ocupando uma parte da memria disponvel.
Depois, na Figura 36b, um novo processo Y criado ou trazido do disco duro e posicionado na
memria logo acima do processo X. Na Figura 36c, um novo processo Z adicionado (notem que
nesse momen to no h mais espao disponve l na memria principal para novos processos). Na
Figura 36d, o processo X fica ocioso, ento enviado para o disco rgido. Em 36e e 36f, temos
outros processos sendo trocados e o ciclo vai sendo executado at que novos processos entrem
e disputem o tempo de CPU e memria e/ou que processos terminados sejam eliminados do
ciclo.

-------------------~

Unidade 111

Processo Z

Processo O
Processo T

Processo X

Processo X

Sistema
operacional

1------4
Sistema
operacional

l..!J

Processo Z
Processo Y

Processo Z

[I

Sistema
operacional

Processo Y

<

Processo X
Sistema
operacional

Processo X
Sistema
operacional

Processo Y

c.

<

Figura 36 - Ciclo de troca dos processos entre memria principal e secu ndria

" ' Observao


Se um processo maior que a rea livre, ou um processo, mesmo que
pequeno, porm, sem nenhuma rea de memria, estiver disponvel, ento
esse processo dever ser transferido para disco e ficar por l at que
memria suficiente seja liberada.

6.3 Memria virtual


Diante da elevada demanda por memria, os programas eram criados em mdulos denom inados
over/ays5 . Dessa forma, ao carregar um programa, o gerenciador de mdulo era quem, na real idade, seria
carregado e, em seguida, a sobreposio zero. Quando necessrio, era carregado prxima sobreposio
desse programa ou de outros. Todas as sobreposies ficam gravadas em disco.
Em 1961, um mtodo desenvolvido por John Fotheringham ficou conhecido como memria virtua l
que um conceito extremamente importante no ambiente de cincia da computao, permitindo que
programas usem mais RAM do que realmente est disponvel fisicamente. Esse processo possvel
porqu e o sistema operacional mantm rodando na memria principal somente as partes necess rias
5

Overlays: mdulos de sobreposio.

--~----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


do programa e as outras, que no esto em uso, ficam no disco rgido. Quando necessrio que outra
parte, que est no disco, seja carregada, ento ha ver o processo de swapping6
A memria virtual possui dois aspectos importantes: o primeiro a quantidade de memria fisicamente
instalada no equipamento, que chamamos de memria real. O outro tem muito mais capacidade que o
primeiro e chamamos de espao de memria virtual. No hardware, temos um componente de extrema
importncia que a Unidade de Gerenciamento de Memria (MMU). OMMU 7 suporta o sistema operacional
na execuo do mapeamento dos endereos da memria fsica e endereos da memria virtual, permitindo,
assim, a eficaz maestria de mover as partes dos programas da memria virtual para o disco ou vice-versa.

" ' Observao


Analisando pela perspectiva do programa, temos cada um com seu
prprio espaamento de endereos adjacentes que chamamos de pginas.

6.3.1 Paginao
A tcnica chamada paginao usada na maioria dos sistemas de memria virtual. A memria
virtual dividida em unidades de espaamento de endereos adjacentes chamadas de pginas. Estas
correspondem a unidades das memrias chamadas de frames.

" ' Observao


Enquanto o espao de endereamento virtual dividido em unidades
chamadas pginas (pages), temos as unidades correspondentes na memria
fsica que so denominadas molduras de pgina (frames). Tanto as pginas
quanto as molduras possuem o mesmo tama nho.
Se usarmos como exemplo um sistema que permite gerar endereos virtuais de 16 bits, - 216 (de Oa 64 K),
entretanto, se esse ambiente possuir somente 32 KB de memria fsica, ento isso significar que apesar de ser
possvel que programas de 64 KB sejam escritos, por outro lado no podero ser carregados por completo na memria
fsica. Sistemas reais possuem pginas de 512 bytes a 65.536 bytes. Neste exemplo, adotaremos pginas de 8.192
bytes (8 KB). Portanto, para atendermos a premissa que frames e pginas possuem o mesmo tamanho, teremos:
64 KB /8 KB

8 pginas virtuais

32 KB /8 KB

4 frames

Swapping: sistema no qual um programa movido para a memria secundria enquanto outro est sendo
executado.
7
MMU: Memory Management Unit - Unidade de Gerenciamento de Memria.
6

-------------------~

Unidade 111

Espao de endereamento virtual


57344 - 65536

t---~

Espao de memria fsica


pgina virtual

49152 - 57343
40960-49151
32768- 40959
24576 - 32767

24576- 32767

16384- 24575

16384- 24575

8192- 16383

8192- 16383

o- 8191

o- 8191

..._____,

estru tura da pgina

Figu ra 37- Comparativo espao de endereamento virtual versus endereo de memria fsica

Nos sistemas em que no utilizado o mecanismo de memria virtual, o endereo virtual idntico
ao endereo fsico. Portanto, para executar uma operao, o endereo virtual colocado no barramento
diretamente, ou seja, no necessrio que haja uma adequao do mundo virtual para o mundo fsico.
Entretanto, quando est presente o mecanismo de memria virtual, ento o endereo virtual vai para o MMU
que mapeia endereos virtuais em endereos fsicos antes de coloc-lo no barramento. mostrado na Figura
38a o fluxo de envio do endereo virtual, passando pelo MMU e envio do endereo fsico para o barramento
e na Figura 38b demonstrado como feito o mapeamento do endereo virtual para o endereo fsico.

CPU enviando endereo


virtual MM U

Memria
principal

MMU enviando endereo


fsico memria

Controlador
de disco

a.

Espao de endereamento virtual

Espao de memria fsica

24576 - 32767

8192- 16383

t----t

moldura de pgina 4

pgina virtual 1
I

b.
Figura 38 - Fluxo do endereo virtua l versus endereo fsico

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Na Figura 38b, foi isolada a converso da pgina 1 para a moldura de pgina 3, ou seja, quando um
programa tenta acessar o endereo 8.192, ento o endereo virtual "um" enviado pela CPU para a
MMU. Com base na tabela de pginas, a MMU detecta que a pgina virtual1 corresponde moldura de
pgina 4 (de 24.576 a 32.767).
Desenvolvedores de sistemas operacionais encontraram outras formas para melhorar a paginao de
memria virtual. Por exemplo, alguns sistemas podem restringir algumas pginas para serem utilizadas
somente como leitura (read-only); na memria, as pginas exclusivas de leitura so usadas para
armazenar cdigo de programas, portanto no podem ser modificadas por vrus, por exemplo, e valores
constantes que os programadores no esto autorizados a trocar.
Se qualquer tentativa de alterao em uma pgina restrita for executada por um programador, o
resultado ser uma situao de falha ao tentar alterar a pgina (page fault) ou erro de segmentao
(segmentation errar). Apesar de inicialmente esse aspecto proteger algumas pginas com atributo de
somente leitura, com os ambientes em rede e diversos ataques sendo desferidos contra os sistemas,
esses mecanismos passam a ser cada vez mais estudados pelos especialistas em segurana.

Saiba mais
<homepages.dcc.ufmg.br/"'scampos/cursos/so/aulas/aula 12_4.ps>

6.4 Segmentao
Alm da paginao, a segmentao de memria uma das formas mais simples para se obter a
proteo da memria. Com o uso da segmentao so atendidos os seguintes requisitos:
1. Pode haver vrios segmentos distintos.
2. Cada segmento pode ter um tamanho prprio.
3. Cada segmento constitudo de uma sequncia linear de endereos.
4. O tamanho dos segmentos pode variar durante a execuo.
5. O tamanho de cada segmento de pilha pode ser expandido sempre que algo colocado sobre ela
e diminudo sempre que algo retirado dela.
6. Segmentos diferentes podem crescer ou diminuir independentemente e quando for necessrio.
Quando o mecanismo de segmentao est presente e em uso, programas devem fornecer um
endereo composto de duas partes:

-------------------~

Unidade 111
1. Um nmero referindo-se ao segmento desejado.
2. Endereo dentro do segmento.
Alm de um segmento conter o conjunto de permisses e o nmero de itens de dados em uma varivel ou
lista, um segmento tambm contm a informao indicando onde o segmento est localizado na memria,
podendo conter, inclusive, uma identificao se o segmento est na memria principal ou secundria.
Se o segmento requisitado no estiver na memria principal, uma exceo ser enviada, ento o sistema
operacional ir trocar o segmento da memria secundria para a principal. A informao indicando onde o
segmento est localizado na memria deve ser, primeiro, o endereo inicial do segmento na memria, ou deve
ser o endereo da tabela de pgina para o segmento, se a segmentao implantada com a paginao.
A memria segmentada aparece para o programa como um grupo
independente de espaos de endereo chamado de segmento. Cdigo, dados
e pilhas so tipicamente contidos em segmentos separados. Para enderear
um byte num segmento, um programa envia o endereo lgico.8

Este consiste em um nmero referenciado ao segmento desejado e um endereo dentro do segmento


- um endereo lgico tambm conhecido como ponteiro. A referncia de segmento identifica o segmento
para ser acessado e o endereo lgico identifica um byte no espao de endereo do segmento. Programas
rodando em um processador IA-329 podem enderear at 16.383 segmentos com diferentes tamanhos e
tipos, e cada segmento pode ser dimensionado na ordem de grandeza de 232 bytes (4 GB). Internamente,
todos os segmentos que so definidos para o sistema so mapeados dentro do espao de endereo linear do
processador. Para acessar a localizao da memria, o processador traduz cada endereo lgico num endereo
linear. Essa traduo transparente para o programa que est usando a segmentao. A regio primria para
uso da memria segmentada para aumentar o grau de confiana que se pode ter quanto ao desempenho de
programas e sistemas. Por exemplo, alocando uma pilha de um programa em um segmento separado previne
o crescimento da pilha lendo do espao de cdigo ou dado e sobreposio de instrues ou dados.
n r------,

} Segmento5
Segmento 3
..................

}segmento3
Endereo ;
lgico
: Endereo efetivo
L . , __ _____.

segmento 1

0
Endereo linear
Figura 39 - Segmenta o de memria
8

Disponvel em: <http ://www.cpdee.ufmg.br/"' fvasc/Disci plinas/1 nterfaces/Aulas/AU LA_OfoB5P32bits.pdf>. Acesso


em: 8 jun. 2011.
9
IA-32 : Inte l Architect ure, 32-bit, generica mente chamado de i386, x86-32 ou x86.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Na Figura 39, so demonstrados cinco segmentos de tamanhos e tipos diferenciados, em destaque
ao lado esquerdo, tem a demonstrao do segmento 3 que est parcialmente usado.

~ .Resumo

Os processos so oferecidos pelos sistemas operacionais, ocupando cada


qual o seu prprio espao de endereamento. Eles podem ser criados e
terminados de maneira dinmica, de forma a evitar que dois processos estejam
em suas regies crticas simultaneamente. Os semforos, os monitores e as
mensagens so as formas nas quais os processos comunicam-se entre si.
Estados do processo:
Executando.
Passvel de ser executado.
Bloqueado.

possvel que o processo troque de estado quando ele, ou um outro processo,


executa uma das unidades bsicas (semforos, monitores ou mensagens).
Algoritmos de escalonamento so importantes para o ambiente e alguns
sistemas fazem distino entre mecanismo de escalonamento e poltica
de escalonamento, permitindo aos usurios controle sobre o algoritmo de
escalonamento.
Algoritmo de escalonamento a escolha feita pelo sistema operacional
de qual dos processos ser privilegiado quando h uma nica CPU, ou uma
nica CPU disponvel entre as diversas existentes no sistema, e mais de um
processo estiver competindo para ser executado.
Nos sistemas mais triviais, quando um programa carregado em
memria, ele ficar ocupando a memria necessria at que sua finalizao
acontea. Alguns sistemas permitem somente um processo por vez carregado
na memria principal, enquanto outros suportam a multiprogramao.
Quando necess rio que o sistema operacional use mais memria
principal (RAM), que realmente existe fisicamente na mquina, ento
necessria a troca de processos entre a memria principal e o disco.
Os espaos de endereamento de cada processo so divididos em
blocos e so chamados de pginas. Na memria fica a moldura de pgina
que recebe os blocos dos processos. O sistema de paginao ajuda no
tratamento de estrutura de dados que alteram seus tamanhos durante
a execuo, simplificando a ligao, o compartilhamento e facilitando a

-------------------~

Unidade 111
proteo customizada para cada segmento. Segmentao e paginao so
tipicamente combinadas para fornecer uma memria virtual bidimencional.

Exerccios
Questo 1. Considere o exemplo do cruzamento da ponte ilustrado na figura abaixo e descrito nos
itens a seguir.

...............................

____l=o:::J
_
D ~~

l1D [[]

l=o:::J l1D

----------------------

~~-----

Se ocorrer a disputa entre os carros na parte central da ponte, haver um problema de


s1ncron1smo.
o

Cada seo de uma ponte pode ser vista como um recurso.


Se ocorrer um deadlock, ele pode ser resolvido se um dos carros recuar (preemptar recursos e
reverter).
Vrios carros podem ter de recuar se um deadlock ocorrer.

possvel haver starva tion.


O problema acima pode representar duas situaes envolvendo sincronismo, deadlock e starvation.
O que poder acontecer se ocorrer deadlock?
A) Os dois carros esto representando dois processos que aguardam, indefinidamente, por um evento
que s poder ser causado por um desses processos.
B) Os dois carros esto representando dois processos bloqueados indefinidamente. Um processo
pode nunca ser removido da fila de semforos em que est suspenso.
C) Se o processo Pi, representado por um dos carros, est executando em sua seo crtica, ento
nenhum outro processo poder estar executando em suas prprias sees crticas.
D) O carro da direita ir subir na mureta, enquanto o segundo carro poder passar. O segundo carro
ir disparar um processo de agradecimento pela atitude, dando dois toques na sua buzina.
E) O carro da esquerda ir compartilhar sua seo crtica com o carro da direita sempre que ele
necessita r.
Resposta co rreta: alternativa A.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Anlise das alternativas

A) Alternativa correta.
Justificativa: durante um impasse entre dois processos, somente a interveno de um deles pode
desbloque-los.
B) Alternativa incorreta.
Justificativa: um semforo funciona como uma varivel que atribui O ou 1 aos processos que esto
dormindo, no existe uma fila de semforos.
C) Alternativa incorreta.
Justificativa: o erro est em afirmar que um processo no pode executar em sua prpria seo crtica.
D) Alternativa incorreta.
Justificativa: a correlao com carros de verdade realizando malabarismo absurda.
E) Alternativa incorreta.
Justificativa: a seo crtica de um processo no deve ser compartilhada de forma indiscriminada.
Questo 2. Os alunos do curso de computao de uma grande universidade utilizam a linguagem de
programao Cpara implementar seus programas. A figura 1 ilustra os procedimentos realizados pelo compilador
da linguagem Cpara gerar um arquivo executvel que, em um primeiro momento, apenas uma entidade passiva,
ocupando bytesda memria secundria. Afim de que essa entidade passiva tenha utilidade, precisa ser transformada
em um processo. Todo processo, para ser executado, necessita estar adicionado fila de processos prontos.

Tempo de
ca rga

Figu ra A - Procedimentos realizados pelo compilador da linguagem C (SILBERSCHATZ, GALVIN e GAGNE, 2007)

-------------------~

Unidade 111
Durante a execuo de um processo, so utilizados, em geral: variveis, objetos, funes etc. que
devero ser alocados na memria. A Figura B ilustra a MMU em operao.

Endereo
lgico
CPU

Registrador
de realocao
14000

346

Endereo
fsico

Memria

14346

MM U
Figura B- MMU em operao (SILBERSCHATZ, GALVIN e GAGNE, 2007)

Qual a funo da MMU no desenvolvimento de execuo de processo?


A) Converter um endereo fsico em um endereo lgico.
B) Dispositivo de hardware que mapeia endereos virtuais em fsicos.
C) Adicionar o endereo lgico memria.
D) Servir de registrador de realocao entre a CPU e a memria.
E) Monitorar os procedimentos dos programas na CPU e na memria.

Resoluo desta questo na

Plataforma ~

Hora de exercitar
AvaliativcJO

Slides da videoaulao

-ct~-------------------------------------

7 SISTEMAS DE ARQUIVOS
7. 1 Introduo a sistemas de arquivos
Em linhas gerais, no ambiente computacional, espera-se que dados inseridos na entrada saiam
como produto final, informao processada. Essas informaes podem ser compreendidas como textos,
planilhas, figuras, filmes etc. As informaes que podem ocupar de alguns bytes a milhares de milhes
de bytes devem ser armazenadas em dispositivos no volteis, ou seja, no podem ser perdidas com o
desligamento do computador e podem ser acessadas por mltiplos processos de forma concorrente.
As informaes so armazenadas tipicamente em disco e o armazenamento resume-se em sequncias
lineares de blocos de tamanho fixo que suportam duas operaes: busca do bloco k e escrita no bloco k,
surgindo, portanto, o conceito de arquivo.
7.1.1 Arquivos
Podemos definir um arquivo como sendo um conjunto de dados armazenados
em um dispositivo fsico no voltil, com um nome e/ou referncia que
permita sua localizao futura. 1

Arquivos podem ter diversos formatos, desde um simples arquivo texto ASCII com alguns poucos
bytes, at mesmo vdeos com vrios megabytes ou gibabytes em diversos formatos.
Um sistema de armazenamento de arquivos pode conter milhes de arquivos
que so organizados em estruturas hierrquicas denominadas diretrios. A
estrutura e a organizao fsica e lgica dos arquivos e diretrios dentro de um
dispositivo de armazenamento so denominadas de sistema de arquivos. 2

7.1.2 Atributos

Cada arquivo diferenciado por um conjunto de atributos. Tipicamente, temos alguns atributos mais
usados:
Nome: uma sequncia de caracteres para identificar de tal forma que um ser humano, ao v-lo
na tela, consiga identific-lo. Exemplo: relatorio.doc.
1

Disponvel em: <http://www.scribd.com/doc/ 12385571/Sistemas-Operacionais-Gerencia-de-Arquivos>. Acesso


em: 8jun. 2011.
2
/dem.

------------------~--

Unidade IV
Data: muito til no que tange ao gerenciamento do ambiente. Alm de ajudar o usurio a saber
quando um arquivo foi criado, pode tambm controlar a data e a hora do ltimo acesso, da ltima
modificao do contedo e at mesmo da ltima alterao de outro atributo, como o nome do
arquivo, por exemplo.
Tipo: indica se o formato do arquivo udio, vdeo, imagem, texto ou outro. O sistema de
arquivos do Windows e outros usam a extenso, que parte do nome, para indicar o tipo do
arquivo. Exemplo: '~doe" no arquivo com o nome "relatorio.doc" refere-se a um arquivo de texto
(abreviao de document).
Tamanho: esse atributo determina quanto de espao em bytes (1 byte = 8 bits) ou registros.
Exemplo: relatorio.doc 906.085 bytes.
Proprietrio: atualmente, com os sistemas em rede e multiusurios, cada arquivo tem um
proprietrio, que deve estar corretamente identificado- em alguns casos o prprio sistema o
proprietrio do arquivo e por isso nenhum usurio deveria alter-lo.
Permisses de acesso: determina qual usurio tm acesso ao arquivo e quais permisses so
atribudas a cada usurio (leitura, escrita, remoo etc.).

- Um usurio de sistema Unix chamado root, na teoria, deveria ter acesso total ao arquivo,
enquanto um usurio ou um processo que s deve consultar um arquivo de reg istros de log
deveria ter acesso s de leitura.
localizao: esse atributo indica o dispositivo fsico onde o arquivo se encontra e da posio do
arquivo dentro do mesmo. Para o usurio do sistema a localizao do arquivo demonstrada como
uma estrutura hierrquica que parte da raiz que o pai de todos os demais repositrios filhos.
7.1.3 Estrutura de arquivo

Os arquivos podem ser estruturados de v rias formas. A Figura 40 demonstra trs possibilidades
comuns, sendo a Figura 40a uma sequncia de estrutura de bytes. Para os sistemas operacionais Windows
e Unix, a estrutura de um arquivo nada mais que uma seq uncia desestruturada de bytes.
Isso oferece a mxima fl exibilidade, tendo em vista que os programas dos
usurios podem pr qualquer coisa que seja necessria em seus arquivos e
ter os nomes que mais forem conven ientes.3

Na Figura 40b, demonstrada uma forma estruturada.


Nessa estrutura, o arquivo uma sequncia de registros de tama nho fixo,
cada um com alguma estrutura interna. A principal ca racterstica dessa
3

Disponvel em : <http://www.ufpi.br/subsiteFiles/eml/arquivos/fi les/SO/SO_Livro.pdf>. Acesso em : 8 jun. 2011 .

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


estrutura que a operao de leitura retorna um reg istro e a operao de
escrita sobrepe ou anexa um registro, entretanto, esse modelo no mais
aplicado nos sistemas atuais.4
Na organizao demonstrada na Figura 40c, um arquivo constitudo de uma rvore de registros,
cada uma contendo um campo-chave em uma posio fixa no registro. Para que uma chave especfica
seja buscada de forma mais rpida, a rvore ordenada pelo campo-chave. O sistema operacional
decide onde colocar novos registros no arquivo. Esse tipo de arquivo bem diferente dos fluxos de
bytes desestruturados que so usados pelo Windows e Unix, porm so ainda muito usados para alguns
processamentos de dados comerciais.

11 f lefagtd

Iara r

11 Lagarto I, Cobra

11

a.

I!

I]

<:tg li
11

Wo 11 Coelho 11

eafllr,.wug~j

b.

c.

Figura 40- Estrutura de arquivos

7.1 .4 Operaes
Os aplicativos e o sistema operacional armazenam e recuperam dados dos arquivos e por meio de
um conjunto de operaes fazem uso deles.
As operaes bsicas envolvendo arquivos so:
Criar: a criao de um novo arquivo demanda a alocao de espao no
dispositivo de armazenamento e a definio de seus atributos (nome,
localizao, proprietrio, permisses de acesso etc.).

Ler: permite transferir dados presentes no arquivo para uma rea de


memria da aplicao e, se necessrio, enviar para um dispositivo de
sada como monitor, impressora e outros.
Abrir: antes que um aplicativo possa ler ou escrever dados em um
arquivo, este deve solicitar ao sistema operacional que o arquivo seja
aberto. Osistema ir, primeiro, verifica r se o arquivo existe, segundo, se as
4

/dem.

-------------------~

Unidade IV
permisses associadas permitem acesso ao arquivo, terceiro, localizar seu
contedo no dispositivo de armazenament o, ento criar uma referncia
para ele na memria.
Escrever: essa operao permite transferir dados da memria do
aplicativo para o arquivo armazenado no dispositivo fsico; os novos
dados podem ser adicionados no final do arq uivo ou sobrescrever dados
j existentes.
Fechar: ao concluir o uso do arquivo, a aplicao deve informar ao
sistema operacional que esse arquivo no mais necessrio, a fim de
liberar as estruturas de gerncia do arquivo na memria do ncleo.
Mudar atributos: usado para modificar outras ca ra ctersticas do arquivo,
como nome, proprietrio, localizao, permisses etc.
Remover: elimina o arquivo do dispositivo, descartando seus dados e
liberando o espao ocupado por ele.

Alm dessas operaes bsicas, outras operaes podem ser definidas, como
copiar, mover ou renomear arquivos. Entretanto, essas operaes geralmente
podem ser construdas usa ndo as operaes bsicas. 5

7.2 Uso de arquivos


Os processos podem ler e escrever dados em arqu ivos de form a no vo ltil. Uma interface
de acesso tipicamente composta por uma representao lg ica de cada arquivo contid o no
dispositivo de armazenamento necessria para que um processo use um arquivo. Por meio dessa
interface, os processos podem, entre outras opes, loca lizar arqu ivos no disco, ler e modificar
seu contedo.
7.2.1 Abertura de arquivo

Conforme demonstrado na sequncia a seguir, necessrio que o ncleo do sistema operacional


execute algumas operaes para que seja possvel abrir um arquivo, escrever novos dados ou modificar
os existentes:
1. Usando o nome do arquivo e o ca minho de acesso, loca lizar o arquivo no
dispositivo fsico.
2. Verificar se a ap licao tem permisso para usar o arquivo da forma
desejada (leitura e/ou escrita).
5

Disponvel em : <http://www.scribd.com/doc/12385571/Sistemas-Operacionais-Geren cia-de-Arquivos>.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


3. Criar uma estrutura na memria do ncleo para representar o arquivo
aberto.
4. Para fins de gerncia, inserir uma referncia a essa estrutura na lista de
arquivos abertos mantida pelo sistema.
5. Devolver aplicao uma referncia a essa estrutura para ser usada nos
acessos subsequentes ao arquivo recm-aberto.
Assim que estiver concluda a abertura do arquivo, o processo solicitante recebe
do ncleo do sistema operacional uma referncia para o arquivo recm-aberto.
Assim que o processo tiver terminado de usar um arquivo, ele deve solicitar
ao ncleo o seu fechamento, que implica em concluir as operaes de escrita
eventualmente pendentes e remover da memria do ncleo as estruturas de
gerncia criadas durante sua abertura. As referncias a arquivos abertos usadas
pelas aplicaes dependem da linguagem de programao utilizada para
constru-las. {...) Cada sistema operacional tem sua prpria conveno para
a representao de arquivos abertos. Por exemplo, em sistemas Windows, os
arquivos abertos por um processo so representados pelo ncleo por referncias
de arquivos (file handles), que so estruturas de dados criadas pelo ncleo para
representar cada arquivo aberto. Por outro lado, em sistemas Unix, os arquivos
abertos por um processo so representados por descritores de arquivos (file
descriptors). Um descritor de arquivo aberto um nmero inteiro no negativo,
usado como ndice em uma tabela que relaciona os arquivos abertos pelo
processo, mantida pelo ncleo. Dessa forma, cabe s bibliotecas e ao suporte
de execuo de cada linguagem de programao mapear a representao de
arquivo aberto fornecida pelo ncleo do sistema operacional subjacente na
referncia de arquivo aberto usada por aquela linguagem. Esse mapeamento
necessrio para garantir que as aplicaes que usam arquivos {ou seja, quase
todas elas) sejam portveis entre sistemas operacionais distintos. 6

7.2.2 Formas de acesso

Assim que o arquivo encontra-se aberto, a aplicao pode ler os dados contidos nele, modificando
ou escrevendo novas linhas.
Existem vrias formas de se ler ou escrever dados em um arquivo, que
dependem da estrutura interna de cada arquivo. Considerando arquivos
como uma sequncia de bytes, trs formas de acesso so usuais:
1. Acesso sequencial.
6

Disponvel em: <http://www.scribd.com/doc/1238 5571/Sistemas-Operacionais-Gerencia-de-Arquivos>. Acesso


em: 8jun. 2011.

------------------~~

Unidade IV
2. Acesso direto (ou acesso aleatrio).
3. Acesso indexado.
Acesso sequencial : os dados so lidos e/ou escritos em sequncia, do incio
ao final do arquivo. definido um ponteiro de acesso para cada arq uivo
aberto por uma aplicao que inicialmente aponta para a primeira posio
do arq uivo. A cada leitura ou escrita, esse ponteiro incrementado e passa
a indicar a posio da prxima leitura ou escrita. Quando esse ponteiro
atinge o fina l do arquivo, as leituras no so mais possveis, entretanto,
as novas escritas so. A chegada do ponteiro ao final do arquivo
normalmente sinalizada ao processo por meio de um flag de fim de arquivo
(EoF - End-of-File). Arqu ivos sequenciais eram eficientes quando o meio de
armazenamento era a fita magntica.
Acesso direto (ou aleatrio): possvel indicar a posio no arquivo onde
cada leitura ou escrita deve acontecer sem a necessidade de um ponteiro.
Por isso, caso se conhea previamente a posio de um determinado dado no
arquivo, no preciso percorr-lo sequencialmente at encontr- lo. Esse tipo
de acesso importante para gerenciadores de bancos de dados e aplicaes
com a mesma caracterstica, que precisam acessar rapidamente as posies do
arquivo correspondentes aos registros desejados em uma operao. "Na prtica,
a maioria dos sistemas operacionais usa o acesso sequencial como modo bsico
de operao, mas oferece operaes pa ra mudar a posio do ponteiro do
arquivo caso necessrio, o que permite ento o acesso direto a qualquer registro
do arquivo." No Windows e Unix usada uma operao especial chamada seek
que fornecida para estabelecer a posio atua l. Aps a operao seek, o arquivo
pode ser lido sequencialmente a partir de sua posio atual.
Acesso indexado: um mtodo de acesso mais sofisticado, que tem como
princpio o acesso direto, tambm con hecido como acesso indexado ou
acesso por chave. A estrutura in terna do arquivo pode ser vista como um
conjunto de pares chave/valor que deve possuir uma rea de nd ice onde
existam ponteiros para os diversos registros, permitindo que sempre que uma
aplicao desejar acessar um reg istro, ento dever ser especificado uma
chave por meio da qual o sistema pesquisa r o ponteiro co rrespondente na
rea de ndice e, portanto, realizado um acesso direto ao registro desejado.
O ncleo do sistema operaciona l implanta os mecanismos de acesso e
indexao do arquivo, o armazenamento e a busca de dados nesse tipo de
arqu ivo tipicamente muito rpido e em aplicaes ma is simples dispensa
o uso de bancos de dados.7
7

Disponvel em : <http://www.scribd.com/doc/12385571/Sistemas-Operacionais-Gerencia- de-Arq uivos>. Acesso

- oem: 8 jun. 20 11.

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


7.3 Compartilhamentos
Em um sistema multitarefas e em redes, frequentemente se tem arquivos
sendo acessados por mais de um processo ou por mais de um usurio.
O acesso simultneo a recursos compartilhados pode gerar condies
de disputa (race conditions), levando inconsistncia de dados e outros
problemas. A possibilidade de escritas e leituras simultneas tem de ser
prevista e tratada com muito planejamento e controle de acesso desses
elementos compartilhados.8

7.3.1 Travas em arquivos


Por meio de uma ou mais travas (locks) aplicadas aos arquivos abertos,
tipicamente os sistemas operacionais oferecem algu m mecanismo de
sincron izao para acesso a arquivos. A sincron izao pode ser feita
aplicando-se a trava no arquivo inteiro ou somente em um trecho
especfico. Isso perm itir que dois ou mais processos possam tra ba lhar em
partes distintas de um arquivo sem necessidade de sincron izao entre
eles. "As travas oferecidas pelo sistema operacional podem ser obrigatrias
(mandatory locks) ou recomendadas (advisory locks)':
Travas obrigatrias: so impostas pelo ncleo do sistema operacional
de forma compulsria, de modo que se um processo obtiver a trava do
arquivo, ento outros processos que solicita rem acesso ao arquivo sero
suspensos at que a respectiva trava seja liberada.
Travas recomendadas: no so impostas pelo ncleo do sistema
operaciona l. Portanto, um processo pode acessar um arquivo mesmo
sem ter sua trava e caso sejam usadas travas recomendad as, fica a ca rgo
de o programador implantar em suas aplicaes os controles de trava
necessrios pa ra impedir acessos conflita ntes aos arquivos.

As travas sobre arquivos tambm podem ser exclusivas ou compartilhadas.


Trava exclusiva: tambm cha mada trava de escrita, garante acesso
exclusivo ao arquivo, portanto, enquanto uma trava exclusiva estiver ativa,
nenhum outro processo poder obter uma trava sobre aquele arquivo.
Trava compartilhada (ou trava de leitura): impede outros processos
de criar travas exclusivas sobre o arquivo, mas permite a existncia de
outras travas compa rtilhadas.
8

Disponvel em: <http://www.scribd.com/doc/ 12385571/Sistemas-Operacionais-Gerencia- de-Arquivos>. Acesso


em : 8jun. 2011.

------------------~~

Unidade IV
Em conjunto, as travas exclusivas e comparti lhadas implementam um
modelo de sincronizao leitores/escritores, no qual os leitores acessam
arquivos, usando travas compartilhadas e os escritores o fazem, usando
travas exclusivas.
Geralmente, as travas de arquivos so atribudas a processos. Dessa forma,
um processo s pode possuir um tipo de trava sobre um mesmo arquivo e
todas as travas so liberadas quando o processo fecha o arquivo ou fin aliza
sua execuo. No sistema operacional Unix, a manipulao de travas em
arquivos feita por meio das chamadas de sistema flock e fcntl.
Esse sistema oferece por default travas recomendadas exclusivas ou
compartilhadas sobre arquivos ou trechos de arquivos. Os sistemas Windows
oferecem por defaulttravas obrigatrias sobre arquivos, que podem ser exclusivas
ou compa rtilhadas, ou travas recomendadas sobre trechos de arquivos.9

7 .3.2 Semntica de trava de acesso


Quando um arquivo usado por um nico processo, o funcioname nto das
operaes de leitura e escrita sim ples e claro. Dessa forma, quando um
dado escrito no arq uivo, ele est prontamente disponvel para leitu ra. No
entanto, arquivos podem ser abertos por v rios processos simultaneamente
e os dados escritos por um processo podem no estar prontamente
disponveis aos demais processos que esto lendo aquele arquivo. Isso
ocorre porque as memrias secundrias em disco rgido so lentas em
comparao com a memria principal, levando os sistemas operacionais a
usar buffers in termed irios para acumular os dados que devero ser escritos/
manipulados, otimizando o acesso aos discos. Aforma como os dados escritos
por um processo notada pelos demais processos que tambm abriram um
determinado arqu ivo chamada de semntica de compartilhamento.
Entre outras semnticas possveis, as mais usuais so:
Semntica Unix: toda modificao em um arquivo imediatamente visvel a
todos os processos que mantmoarquivoaberto, existindo tambmapossibilidade
de vrios processos compartilharem o mesmo ponteiro de posicionamento do
arquivo. Esse tipo de semntica comumente aplicada em sistemas de arquivos
locais, ou seja, para acesso a arquivos nos dispositivos locais.
Semntica de sesso: considera que cada processo usa um arquivo em
uma sesso, iniciando com a abertura do arquivo e terminando com o seu
9

Disponvel em : <h ttp://www.scribd.com/doc/12385571/Sistemas- Operacionais-Gerencia- de-Arquivos>. Acesso

- - oem: 8 jun. 20 11.

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


fechamento. Modificaes em um arquivo feitas em uma sesso somente so
visveis na mesma sesso e pelas sesses que iniciarem depois do encerramento
da mesma, ou seja, depois que o processo fechar o arquivo. Sesses concorrentes
de acesso a um arquivo compartilhado podem ver contedos distintos para o
mesmo arquivo. Essa semntica normalmente aplicada a sistemas de arquivos
de rede, usados para acesso a arquivos em outros computadores.
Semntica imutvel: se um arquivo pode ser compa rtilhado por vrios
processos, ele marcado como imutvel. Dessa forma , seu contedo no
pode ser modificado. a forma mais trivial que garante a consistncia do
contedo do arquivo entre os processos que compartilham seu acesso,
portanto, usada em alguns sistemas de arquivos distri budos. 10

7.4 Introduo a diretrios


Os diretrios ajudam a controlar e organizar os arquivos. Geralmente, os
sistemas de arquivos possuem diretrios ou pastas, que em muitos sistemas
tambm so arqu ivos. 11

Nesta seo, discutiremos os diretrios, suas propriedades, organizaes e operaes.


7.4.1 Organizao de volumes

Diversos dispositivos de armazenamento esto disponveis no mercado, que podem ser discos rgid os,
discos ticos, memria flash etc.
Um disco rg ido pode ser visto basicamente como um grande vetor de
blocos de bytes. Esses blocos de dados, tambm denominados setores,
tm tamanho fixo geralmente entre 512 e 4.096 bytes (4 K a 32 K) e so
numerados sequencialmente. As operaes de leitura e escrita de dados nos
discos rgidos so feitas bloco a bloco, por essa raz o esses dispositivos so
chamados de dispositivos de blocos (block devices).
Em um computador no padro PC, o espao de armazenamento de cada
dispositivo dividido em uma pequena rea inicia l de configurao e uma ou
mais parties, que podem ser vistas como espaos independentes. A rea de
configurao denominada MBR- Master Boot Record, e contm uma tabela
de parties com informaes sobre o particionamento do dispositivo. Alm
disso, contm tambm um pequeno cdigo executvel, usado no processo de
inicializao do sistema operacional. No incio de cada partio geralmente h
um bloco reservado, utilizado para a descrio do contedo daquela partio
10

Disponvel em: <http://www.scribd.com/doc/12385571/Sistemas-Operacionais-Geren cia-de-Arquivos>. Acesso


em : 8jun. 2011 .
11
Disponvel em : <http://www.ufpi.br/subsiteFiles/eml/arqu ivos/fi les/SO/SO_Livro.pdf>. Acesso em: 8 jun. 201 1.

------------------~--

Unidade IV
e para armazenar o cdigo de lanamento do sistema operacional, se for uma
partio inicializvel (bootable partition). Esse bloco reservado denominado
bloco de inicializao ou VBR - Volume Boot Record. O restante dos blocos da
partio est disponvel para o armazenamento de arquivos.

Parties do disco

Tabela de partio

~---------------MBR

Superbloco

Diretrio
raiz

Arquivos e diretrios

Figura 41 - Exemplo de organizao para um sistema de arquivos

A Figura 41 ilustra a organizao bsica do espao de armazenamento em


um dispositivo de blocos tpico: um disco rg ido. Cada partio deve ser
formatada, ou seja, estruturada para conter um sistema de arq uivos, que
pode conter arquivos, diretrio, atalh os e outras entradas. Cada dispositivo
ou partio devidamente preparada e form atada para receber um sistema
de arquivos designado como um volume.12

7.4.2 Diretrios
O sistema organiza logicamente os diversos arquivos contidos em um disco
numa estrutura denominada diretrios. O diretrio uma estrutura de
dados que contm entradas associadas aos arquivos, na qual ca da entrada
armazena informaes como localizao fsica, nome e demais atributos. 13
Embora o sistema operacional possa tratar com faci lidade da enorm e quantia
de arquivos existentes em um sistema de arquivos, essa tarefa est bem
dista nte de ser trivial para os usurios. Identificar e loca liza r um arquivo
especfico em meio a milhes de outros arquivos de forma rpida e direta
pode ser o mesmo que procurar uma "ag ulha num palheiro'~
Para permitir a organizao de arquivos dentro de uma partio, so usados
diretrios. Um diretrio, ta mbm chamado de pasta (folder), representa
12

Disponvel em: <http://www.scribd.com/doc/12385571/Sistemas-Operacionais-Gerencia-de-Arqu ivos>. Acesso


em: 8 jun. 2011 .
13
Disponvel em: <http://www.scribd.com/doc/5566097/10GERENCIA-DO-SISTEMA-DE-ARQU IVOS>. Acesso em:

- - GBjun. 2011.

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


um continer de in formaes, que pode conter arquivos ou mesmo outros
diretrios. Da mesma forma que os arquivos, diretrios tm nome e atributos,
que so usados na localizao e acesso aos arquivos neles contidos.
Cada espao de armazenamento possui ao menos um diretrio principal,
denominado diretrio raiz (root directory}. Em sistemas de arqu ivos mais
antigos e simples, o diretrio raiz de um volume estava definido em seus
blocos de inicializao, normalmente reservados para informaes de
gerncia. Todavia, como o nmero de blocos reservados era pequeno e fixo,
o nmero de entradas no diretrio raiz era limitado. Nos sistemas mais
recentes, um registro especfico dentro dos blocos de inicializao aponta
para a posio do diretrio raiz dentro do sistema de arquivos, permitindo
que este tenha um nmero muito maior de entradas.
O uso de diretrios permite constru ir uma estrutura hierrquica (em
rvore} de armazenamento dentro de um volume, sobre a qual os arquivos
so distribudos. A Figura 42 representa uma parte da rvore de diretrios
tpica de um sistema Linux, cuja estrutura definida nas normas Filesystem
Hierarchy. 14

r- {~f~l

/-

bin
etc ___j
home
lib

pro c
root
tmp
usr _ _ _ __
var --....,

Xll

X11R 6_ __,

bin----....1
include
lib

g++

loc~
ma~~ ~ {l,,
gcc-l1b

~a re
src
tm p

.___ _ rt/.

groff
ucp
t- bin

adm
cache
cron
lib
local

L-----...

~~11 {f;~
-

doe
etc
include
lib
man
share
r doe

games
info
locale

ma li .....____ ~
news
man
smail
,__zoneinfo

Figu ra 42 - Estrutura de diretrios tpica de um sistema Linux

14

Disponvel em: <http://www.scribd.com/doc/12385571/Sistemas- Operacionais- Gere ncia-de- Arquivos>.


Acesso em : 8 j un. 2011 .

-------------------8-

Unidade IV
7.4.3 Sistema de diretrios em nvel nico
Onvel mais simples de uma estrutura de diretrios chamado de nvel nico
(single-/evel directory). Nessa estrutura, existe somente um nico diretrio
contendo todos os arquivos do disco. Esse modelo bastante limitado, j
que no permite que usurios criem arquivos com o mesmo nome, o que
ocasionaria um conflito no acesso aos arquivos. 15

O primeiro supercomputador da histria foi um CDC 6600 e usava um sistema de diretrio nico. A
Figura 43 ilustra esse sistema.
Diretrio raiz
Arquivo 1
Arquivo 2
Arquivo 3
Arquivo 4
Arquivo 5
Figura 43 - Sistema de diretrio em nvel n ico contendo cinco arquivos

As vantagens desse esquema de diretrio em nvel nico so a simplicidade e a capacidade de


localizar os arquivos rapidamente- tendo em vista que todos os arquivos esto no mesmo local e no
podemos ter nomes repetidos.
7.4.4 Sistema de diretrios hierrquico
O sistema de nvel nico bastante limitado demandando uma evoluo
do modelo, ento foi implantada uma estrutura na qual para cada usurio
existiria um diretrio particular denominado Diretrio de Arquivo do Usurio
(UDF - User File Directory) conhecido como sistema de diretrio em dois
nveis.
Pela perspectiva do usurio, a organizao dos seus arquivos em um nico
diretrio no permite uma organizao adequada. A extenso do modelo
de dois nveis para um de mltiplos nveis permitiu que os arquivos fossem
logicamente melhor organizados. Esse novo modelo, chamado estrutura de
diretrios em rvore (tree-structured directory), adotado pela maioria dos
sistemas. 16

Com essa estratgia, os usurios do sistema com permisso adequada podem criar tantos diretrios
quanto necessrio para agrupar os arquivos de uma maneira natural. Nos servidores em redes, cada
usurio geralmente tem o seu diretrio raiz para criar a sua prpria hierarquia.
15
16

Disponvel em: <http://www.scribd .com/doc/5566097/lOGERENCIA-DO-SISTEMA- DE-AROUIVOS>.


/dem.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Diretrio raiz
usuarial

L. propostas
propostaV1
propostaV2
propostaV3
propostaV4

usuario2
usuario3

relatarias

Figura 44- Sistema hierrquico de diretrios

A estratgia mostrada na Figura 44, em que cada diretrio, com nomes de usuario 1, usuario2
e usuario3 contidos na raiz, pertence a um usurio diferente. O "usurio um" criou um subdiretrio
para propostas e quatro arquivos de propostas com verses diferentes; o "usurio dois" no criou
nada at o momento e o "usurio trs" criou um diretrio para relatrios, porm no criou nenhum
arqUIVO.
A possibilidade de cada usuano criar um nmero arbitrrio de subdiretrios proporciona uma
ferramenta poderosa de estruturao dos trabalhos de cada usurio. A grande maioria dos sistemas de
arquivos modernos organizada dessa forma.
7.5 Gerenciamento e otimizao de sistemas de arquivos

Da mesma forma que qualquer outro componente do sistema, existe um abismo entre colocar um
sistema de arquivos para funcionar e faz-los funcionar da forma eficaz ou pelo menos mais eficiente
possvel. Nas sees a seguir, sero detalhadas algumas questes relacionadas ao gerenciamento de
discos.
7.5.1 Gerenciamento do espao em disco

Geralmente, os arquivos so armazenados em discos rgidos, fazendo com que os projetistas de


sistemas despendam boa parte de suas energias no gerenciamento de espao em disco. Existem duas
estratgias gerais para armazenar um arquivo e n bytes:
1. Alocao de n bytes consecutivos de espao em disco.
2. Diviso em vrios blocos no necessa riamente juntos.
Na primeira opo, temos um problema que ocorre quando o arquivo cresce, portanto, na maioria
dos casos, ele dever ser movido para outra parte do disco. Com isso, quase a totalidade dos sistemas de
arquivos dividem os arquivos em blocos de tamanho fixo e que no necessitam ser adjacentes.

-------------------8-

Unidade IV
Tamanho do bloco

Nessa segunda estratgia, temos uma questo fundamental que saber qual dever ser o tamanho
de cada bloco. Pelo fato de os discos serem organizados por setores, trilhas e cilindros, temos que ter em
mente que a deciso errada pode comprometer muito a capacidade do ambiente. Uma grande unidade
de alocao, como um cilindro inteiro, quer dizer que mesmo um arquivo de 1 byte ocupar um cilindro
todo, desperdiando um espao significativo do disco. Por outro lado, um tamanho muito pequeno de
bloco quer dizer que os arquivos ocuparo mais de um bloco e, com isso, demandaro mltiplas buscas
e atrasos de rotao para serem lidos, reduzindo significativamente o desempenho do sistema.
Monitorao dos blocos livres

Aps definido o tamanho do bloco, o prximo requerimento monitorar os blocos livres. So usados
trs mtodos para monitorao dos blocos livres:
1. Lista de blocos livres - representada na Figura 45a - usa-se uma lista encadeada de blocos com
cada bloco contendo tantos blocos livres quanto couberem nele.
A abordagem de lista de blocos livres pode ser implantada de v rias formas.
Na forma mais simples, cada bloco livre contm um ponteiro para o prximo
bloco livre do disco. Apesar de simples, essa abordagem pouco eficiente
por exigir um acesso a disco para cada bloco livre requisitado.17

importante desta car que blocos livres so blocos que no esto em branco. Ficam contidas, nesses
blocos livres, informaes que o sistema operacional armazena para mapear o espao livre. Se pegarmos
como base que cada bloco possui um tamanho de 1 KB e um ponteiro tem tamanho de 32 bits, ento
em um bloco livre temos 255 ponteiros para os prximos blocos livres do disco, sendo que uma entrada
reservada ao ponteiro para o bloco seg uinte.
Essa soluo leva em considerao que blocos contg uos so, geralmente,
alocados ou liberados simultanea mente. Dessa forma, o disco determinado
como um conjunto de segmentos de blocos livres. Esse conceito define que
possvel man ter uma tabela com o endereo do primeiro bloco de cada
segmento e o nmero de blocos livres contguos que se seguem. Essa tcnica
de gerncia de espao livre conhecida como tabela de blocos livres.
2. Mapa de bits- representado na Figura 45b- Cada entrada na tabela
associada a um bloco do disco representado por um bit, podendo assumir
va lor igual a O (indicando bloco livre) ou 1 (indica ndo bloco alocado). O
principal problema o excessivo gasto de memria, j que para cada
bloco do disco deve existir uma entrada na tabela. 18
17

Disponvel em: <http://www.scribd.com/doc/12385571/Sistemas-Operacionais-Gerencia-de-Arqu ivos>. Acesso


em: 8 jun. 2011.
18
Disponvel em : <http://www.scribd.com/doc/5566097/10GERENCIA-DO-SISTEMA-DE-ARQUIVOS>. Acesso em: 8jun. 2011.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

,.

Blocos de disco livres: 16, 17, 18

,.,

42
136
210
97
41
63
21
48
262

230
162
612
342
214
160
664
216
320

:-.
310
516

4 KB de blocos de disco pode


su portar 256 nmeros de
blocos de disco

180
482

oc

86
234
897
422
140
223
223
160
126

1001 101101101 1

011 0110111110111
1010110110110110
01101 10110111011
1110111011101111
1101101010001111
0000111011010111
1011101101101111
1100100011101111

'
142
141

0111011101110111
11011 11101110111

Mapa de bit

a.

b.

Figura 45a - Lista de blocos livres; Figura 45b- Mapa de bits

7 .5.2 Cotas de utilizao de disco


No intu ito de conter o uso exacerbado do espao dos discos rgidos, os sistemas operacionais
multiusurios oferecem um mecanismo para impor cotas de utilizao de disco.
Essa importa nte ferramenta permite que os adm inistradores de redes no sejam surpreend idos por
falta de disco de forma abrupta. O sistema de cota pode ser implantado para avisar ao adm inistrador
quando um threshold19 ating ido abruptamente. Gera lmente, quando no h uma pol tica bem definida
no que diz respeito ao uso dos recursos computacionais, os usurios podem gravar vrios tipos de arquivos
que no so necessariamente pertinentes ao trabalho corporativo que deveria estar desenvolvendo.
Oservio de cota pode ser configurado para somente avisar o administrador de que um determinado
usurio, ou mltiplos, est atingindo ou j ultrapassou a cota estabelecida, entretanto, nesse caso,
nenhuma ao automtica negando novos consumos ser tomada. A outra forma defi nindo no
somente o aviso, mas tambm a ao automtica de proibio do consumo de espao em disco superior
cota determinada previamente. Na Figura 46, demonstrada a tela de configurao de cota no
Windows Vista.

Observao
Note que a configurao estabelecida foi de 1.000 kbytes, porm,
dependendo da quantidade total de disco disponvel e necessrio,
poderamos estar configurando mltiplos mbytes, gbytes, pbytes ou at
mesmo ebytes. Acontece da mesma forma para o controle de quando o
sistema receber uma nova entrada de log.
19

Thresho /d: ponto em que um estmu lo exatamente suficiente para ser percebido ou produzir uma respost a.

-------------------~

Unidade IV

Cd:a

[
------------------------------------~

I& irrrtm uno do dl'CC


l.nlrur 83::4J o &n <l::<o c.

efJ11Tn

,,

!D R~

I de r0llfic3o

.-v~nttr

I7T1 ,

uI t- d:: ;ql, ~ r.~J:-:-

Re;ut<lT c;; unta :.\Jand: o n'" d3 mtrcao axca:r

[ E ltar.laa de c:tta

Figura 46 - Exemplo da tela de configurao de cota no Windows Vista

Funcionamento de cota

Em uma tabela alocada na memria principal esto contidos os atributos de todos os arquivos
que esto abertos no sistema.
Toda vez que um usurio abre um arquivo, o atributo de determinado proprietrio
do arquivo passa a fazer parte dessa tabela de contro le dos arqui vos abertos versus
proprietrio.
Qualquer acrscimo no tamanho do arquivo ser proporcionalmente decrescido quantidade
restante de cota disponvel para o usurio do sistema.
Uma segunda tabela registra as informaes de cota para cada usurio que tenha algum arqu ivo
aberto.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Sempre que um bloco adicionado a um arquivo, o nmero total de blocos incrementado no
controle de cotas do usurio, e os limites flexveis e estritos so checados.
Olimite flexvel permite que um usurio exceda o treashold previamente estabelecido, entretanto o
usurio s ter essa facilidade durante uma sesso. Por exemplo, se aps editar uma apresentao
em PowerPoint adicionando vrias figuras e textos, o usurio tentar salv-la, o limite flexvel ir
deixar que o usurio grave seu arquivo sem risco de perd-lo. Porm, se aps fechar os arquivos
abertos, o usurio tentar fazer isso nova mente, uma mensagem de erro ir aparecer informando
que o limite de espao no permite essa operao.
Os limites estritos nunca so excedidos, ou seja, se o usurio acabou de abrir o gerenciador de
arquivos e nota que h 2 mbytes ainda disponveis e mesmo assim tenta gravar um arquivo de 5
mbytes, ento a operao no ser aceita.
7 .5.3 Cpia de segurana

No ambiente computacional, o disco rgido o ponto mais crtico que merece total suporte e pleno
planejamento para que nada de errado acontea com ele. Numa escala de prioridades ou de preferncias,
se assim pode-se dizer, prefervel que todos os componentes de um computador sejam danificados por
alguma catstrofe contanto que o disco rgido mantenha-se ntegro.
O fato que no o disco o principal protagonista dessa histria, e sim os dados contidos nele.
Diversos casos de problemas com sistemas so reportados diariamente, ora por desastre natural
(chuva, incndio, enchente, terremotos etc.}, ora por descuido com o sistema de aterramento, que, por
consequncia ocasiona a queima dos equipamentos.
Imagine que os dados contidos em um determinado disco rgido so referentes ao banco de dados que
servir de base para bilhetagem dos servios prestados por uma empresa de telefonia e, abruptamente, algo
acontece resultando na danificao total do disco rgido. Ou uma instituio financeira que possui todos os
dados de movimentaes, valores em conta, agenda de pagamentos e dezenas de outros dados armazenados
em um servidor que foi danificado a tal ponto que o disco rgido encontra-se totalmente in utilizvel.
Com base nos hipotticos cenrios apresentados anteriormente, necess rio que alguma tecnologia,
prtica ou at mesmo processo seja implantado, objetivando a guarda dos dados de forma segura em
algum outro local que no dentro do servidor em questo. Isso ser necessrio por dois principais
motivadores ou causas dos possveis problemas previamente apresentados:
1. Recuperao em caso de um desastre (natural ou no}.
2. Recuperao quando feito algum procedimento errado (entende-se por "procedimento errado"
geralmente algo relacionado a erro humano}.
No primeiro caso, o objetivo recuperar o ambiente aps um desastre natura l como enchente,
incndio, terremoto ou outro.

-------------------8-

Unidade IV
O segundo caso geralmente acontece devido a erro do usurio, que apaga ou altera o contedo de
um ou mais arquivos. H tambm alguns casos nos quais uma aplicao, geralmente desenvolvida in
house, 20 com algum tipo de erro no cdigo, de alguma forma altera os arquivos inadequadamente.
Portanto, para resolver esses casos, necessrio possuir uma boa poltica de segurana que seja
baseada em normas como a ISO 27001. Devemos ter a disciplina e o entendimento da importncia do
backup21 no ambiente computacional. O backup todo e qualquer processo que gere uma cpia de
segurana que ir possibilitar futuras restauraes de ambiente em caso de acidente ou no. Conforme
normas do Banco Central brasileiro, todas as instituies financeiras, desde corretoras at grandes
bancos, devem guardar historicamente os dados de aplicaes por anos. Ou seja, se o auditor do Banco
Central ou de alguma outra empresa de auditoria for realizar uma anlise no ambiente- por exemplo:
os auditores que esto alinhados com as exigncias do Bacen -, ele pode pedir que seja restaurada
uma determinada informao de 12 de agosto de 2005 ou outra data aleatoriamente s para averiguar
se o sistema de cpia de segurana (backup) e a restaurao da cpia de segurana (restare) esto
funcionando adequadamente.
Tipicamente, o backup efetivado em fitas magnticas. Existem no mercado vrias tecnologias de
unidades, fitas e softwares de backup que variam entre capacidade de armazenamento, velocidade de
transferncia dos dados, funcionalidades (como criptografia), entre outros. O mais importante ter o
backup em funcionamento e sempre sendo revisado para garantir que tudo est dentro do planejado.
Para mitigar problemas de backup, implementado para cada servidor, ou para cada aplicao, um
processo composto de documentos denominados surveyY Esse processo coleta informaes referentes
ao tempo de reteno do backup, a quais arquivos devem fazer parte da tarefa que ir executar a
cpia de seg urana, a qual periodicidade - se diria, semanal, mensa l ou anual -, se o backup ser
incrementai, fui/, diferencial, a qual software e parmetros sero utilizados para fazer o backup, entre
outros pontos que iro definir para cada ambiente as caractersticas necessrias para que, no futuro,
quando um acidente ocorrer, a restaurao da informao seja o mais transparente possvel.
Uma estrutura de backup desse maquinrio, pessoas e produtos, pode custar alguns milhes,
principalmente para grandes corporaes que possuem diversos servidores e, muitas vezes, so
descentralizados entre prdios ou at mesmo entre pases. Outro ponto crtico que o backup leva
muito tempo e ocupa muito espao; portanto, operacionaliz-lo de maneira eficaz muito importante.
Essas consideraes destacam alguns pontos importantes:
1. Devemos fazer cpia de segu ran a somente dos diretrios especficos e de tudo o que est contido
neles. Portanto, cpia de binrios (programas executveis que residem em uma parte limitada da
rvore do sistema de arquivos) e no devem ser copiadas para fita.
20

In house: termo em ingls para "em casa" - aplicado na rea de informtica para qualquer produto ou servio
feito na prpria empresa e por profissionais prprios ou contratados.
21
Backup: cpia de um arquivo ou conjunto de dados mantidos por questo de segurana contra erros no orig ina l
ou cpia principal.
22
Survey: estudo de pesquisa do ambiente que formu la perguntas a fim de receber informao sobre atitudes,

- emotivos e opinie> Esses estudos podem ser feitos frente a frente, pelo telefone ou pelo correio eletrnico.

..

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


2. Devemos sempre iniciar o primeiro backup com uma cpia fui/, que compreende a cpia total e
integral dos diretrios e arquivos que fazem parte da tarefa de cpia de segurana Uob de backup),
porm, posteriormente, devemos intercalar entre fui/ e incrementai. Isso porque no faz sentido
copiarmos diariamente os arquivos que no foram mudados- deixamos o backup completo (fui/)
para os finais de semana e os incrementais para os dirios. Nesse procedimento, durante a semana
as janelas para atividades operacionais normalmente so curtas (geralmente menos de 8 horas
por noite durante os dias da semana) em comparao com o final de semana (que pode ser de
mais de 24 horas, em alguns casos das 18 h da sexta-feira at 6 h da segunda-feira). Embora esse
processo minimize o tempo de cpia, esse esquema torna a recuperao mais trabalhosa. Isso se
deve ao fato de que se o problema acontecer- por exemplo, na quarta-feira-, ento deveremos
restaurar o jogo de fitas do ltimo final de semana, pois esse que contm todos os arquivos,
e, posteriormente, restaura r todas as fitas contendo os dados incrementais. Esquemas de cpia
incrementai mais sofisticado ajudam a facilitar a restaurao das cpias de segurana.
3. Como o volume de dados copiados geralmente muito grande, pode ser necessrio comprimir os
dados antes de escrev-los na fita. Esse processo, na maioria dos casos, ir economizar tempo e
dinheiro. Porm, para muitos algoritmos de compresso, se porventura acontecer algum problema,
mesmo que pequeno, na fita de backup, pode-se perder o algoritmo de descompresso, tornando-se
impossvel ler um arquivo por completo, uma parte da fita que contm vrios arquivos, ou at
mesmo a fita por completo.
4. Se durante o processo de backup o sistema de arquivos estiver sendo utilizado para novas cpias,
adio de arquivos, alterao e remoo, ento poder acarretar numa cpia inconsistente.
5. A cpia que est sendo feita para a fita deve ser criteriosa mente bem manipulada e transportada
para lugares seguros. O fato de um administrador de sistema criar uma cpia e deixar a fita sobre
sua mesa implica em vrias vulnerabilidades com alto ndice de ser um incidente de segurana.
Entre outros, so destacados os trs mais crticos:
a) A fita pode ser subtrada por algum no autorizado e, posteriormente, o dado com alto nvel de
confidencialidade ser indevidamente publicado ou manipulado.
b) A fita fora de caixas de transporte apropriadas para essa finalidade pode sofrer srios danos causados pela
intemprie do local que normalmente no uma estrutura adequada como a de locais de guarda de fitas.
c) A fita pode ser esquecida nesse local, que geralmente muito prximo fisicamente do servidor onde
esto os dados originais, e se por alguma catstrofe, o disco rgido for impactado negativamente,
pela proximidade fsica dos ambientes, praticamente zero a probabilidade de termos a cpia
ntegra para restaurao.
Tipos de processo para copiar os dados de um disco para fita

Existem duas estratgias para copiar os dados do disco rgido para fita magntica, sendo cpia
fsica ou cpia lgica.

-------------------8-

Unidade IV
A cpia fsica, tambm conhecida como dump fsico, copia todos os blocos do disco para
fita, iniciando no bloco zero e terminando no ltimo bloco. As principais vantagens da
cpia fsica so a simplicidade e a alta taxa de transferncia. As desvantagens so a falta
de capacidade de saltar diretrios especficos, permitir cpias incrementais e restaurar
arquivos individ uais.
A cpia lgica, tambm conhecida como dump lgico, realizada baseada num diretrio ou vrios
que so especificados. Em uma cpia lgica, a fita contm uma srie de diretrios e arquivos
meticulosamente identificados, possibilitando, assim, a restaurao de um arquivo ou diretrio
especfico.

7.6 Tipos de sistemas de arquivos


Existem diversos sistemas de arquivos, tais como FAT, FAT32, NTFS, Ext3, Ext4, JFS, JFFS, JFFS2, LogFS,
Reiser4, ReiserFS eXFS, IS09660 etc. Os sistemas de arquivos so desenvolvidos, muitas vezes, por motivos
comerciais, outras, por alinhamento tecnolgico com o propsito do hardware ou at mesmo motivados
por interoperabilidade entre sistemas. Nesta prxima seo, estudaremos alguns mais releva ntes por
serem os mais populares.
7.6.1 Sistema de arquivos ISO 9660

Osistema de arquivos ISO 9660 um padro internacional e mais usado em tecnologia de CD-ROMs.
A quase totalidade de CD-ROM no mercado atual compatvel com esse padro.
O objetivo principal do padro ISO 9660 era tornar possvel que todo CD-ROM fosse legvel por
todos os computadores, independentemente da ordem em que os bytes so armazenados e qual sistema
operacional esteja ca rregad o no hardware.
Tecnicamente, uma grande diferena dos discos rgidos para os CD-ROMs que estes no possuem
cilindros concntricos, mas sim uma nica espiral contnua que contm bits em uma sequncia
linear.

Lembrete
Mesmo estruturado em uma espiral contnua, possvel buscar o
CD-ROM transversalmente s espirais.
Em uma espiral do CD-ROM, os bits so agrupados em blocos lgicos de 2.352 bytes. Tirando
a parte referente a pre mbulos, correo de erro ou outras finalidades estruturais, a parte que
realmente ser usada para gravao de dados con tm 2.048 bytes, ou seja, 16 kbits. Uma das
aplicabilidades desse tipo de mdia a gravao de msica, o que fica mais fcil usarmos o
tempo como unidade de medida. Portanto, a posio de um bloco representada em minutos ou
segu ndos.

-cD~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Lembrete
A converso direta em um nmero linear de bloco de 1 segundo para
cada 75 blocos.
A estrutura do CD-ROM segue a sequncia descrita abaixo:
16 blocos iniciais (no definido pelo padro); os fabricantes de CD-ROM podem oferecer um
programa de inicializao que permita que o computador seja inicializado pelo CD-ROM ou outra
finalidade definida pelo fabricante.
Em seguida, vem um bloco descritor de volume primrio, contendo algumas informaes gerais sobre
o CD-ROM, como 32 bytes para o identificador do sistema, 32 bytes para o identificador de volume,
128 bytes para o identificador do editor e 128 bytes para o identificador para o preparador dos dados.
Alm desses, o descritor de volume primrio contm o nome de trs arquivos que podem ter uma
notificao de direitos autorais, um resumo e informaes bibliogrficas. Otamanho de blocos lgicos,
o nmero de blocos do CD-ROM, as datas de criao e de validade do CD-ROM e a entrada de diretrio
para o diretrio raiz (indicao do bloco inicial) tambm fazem parte do descritor de volume primrio.
O diretrio raiz, bem como os demais, formado por um nmero varivel de entradas, sendo que
a ltima contm um bit que ir marcar como entrada final.
As entradas de diretrios tm tamanho varivel e ca da uma pode ser formada de dez a doze
campos- parte em ASCII e outros numricos binrios.
Os campos binrios dos diretriosso codificados duas vezes: uma com os bits menossignificativos
nos primeiros bytes (little-endian), que esto nos computadores padro PC, e outra com os bits
mais significativos nos primeiros bytes (big-endian). sendo estes usados por SPARCS.
O formato de uma entrada de diretrio ISO 9660 ilustrado na Figura 47, sendo:
Os dois primeiros bytes para tamanho da entrada de diretrio e tamanho do registro de atributos
estendidos.
O campo bloco inicial com 8 bytes j o bloco inicial do arquivo.
A localizao de um arquivo totalmente especificada pelo bloco inicial e pelo tamanho que so
os 8 bytes seguintes.
O campo data e hora composto pelos prximos 7 bytes.
O campo flag seguinte de 1 byte usado para oculta r a entrada nas listagens.

-------------------8-

Unidade IV
O prximo campo de 2 bytes, denominado interva lo, no usado na verso mais simples do ISO
9660.
O campo CD# com 4 bytes serve para indicar em qual CD-ROM um arquivo est localizado.
O campo L de 1 byte mostra o tamanho do arquivo.
O campo nome do arquivo vem em seguida, com a estrutura com o nome base, um ponto,
extenso, um ponto e vrgula e um nmero binrio de verso (o nome do arquivo pode ter at oito
caracteres, a extenso, at trs. Isso se deve necessidade de compatibilidade, como o MS-DOS
que segue esse padro).
Ocampo preenchimento ser usado para alinhar os campos numricos das entradas subsequentes
em limites de 2 bytes.
O campo uso do sistema usado por diferentes sistemas de diferentes maneiras.
flags

Tamanho do registro de atributos estendidos

J
Localizao
do arquivo

Tamanho da entrada de diretrio

Tamanho
do arquivo

Preenchimento

Data e
hora

CD#

intervalo

Nome
do arquivo

~. .
............
.
.. ...

....

--~

Uso do ststema

Figura 47 - ISO 9660- Entrada de diretrio

Extenso Rock Ridge

A extenso denominada Rock Ridge foi elaborada pela comunidade Unix, objetivando a representao
de sistemas de arquivos Unix em CD-ROMs. O campo uso do sistema usado pelas extenses para
viabilizar que qualquer computador leia o Rock Ridge. Se um sistema especfico no reconhece a extenso
Rock Ridge, ento esse ignorar a extenso e reconhecer um CD-ROM como padro bsico ISO 9660.
As extenses so divididas entre os seg uintes campos:
PX- Atributos POIX: padro Unix para bits de permisso de rwxrwxrwx (r= read, w = write ex=
execute- ler, escrever e executar).
PN - Nmeros de dispositivo principal e secundrio: para permitir que dispositivos sejam
representados em CD-ROM.
SL- Ligao simblica : permitindo que o arquivo de um sistema de arquivos refira-se ao outro
arqu ivo de um sistema de arquivos distinto.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


NM- Nome alternativo: permite que um segundo nome seja associado ao arquivo.
CL -Localizao do filho.
Localizao do pai.
Realocao: os dois campos anteriores, em conjunto com este, so usados para evitar o limite de
oito diretrios que podem ser aninhados conforme ISO 9660.
TF- Estampa de tempo (timestamp) -contm trs estampas: o instante que o arquivo foi criado,
o instante que o arquivo foi modificado pela ltima vez e a estampa com o instante que ocorreu
o ltimo acesso.
Extenso Joliet

Da mesma forma que o sistema Rock Bridge foi projetado para permitir que o sistema de arquivos
do Unix fosse copiado para o CD-ROM, a Microsoft desenvolveu o sistema Joliet para suportar o sistema
de arquivos do Windows. Quase que na totalidade os computadores com sistema operacional Windows
que possuem CD-ROM suportam Joliet.
As principais extenses oferecidas pelo Joliet so:
Nomes de arquivos mais longos com 64 caracteres. OISO 9660 pode at oito caracteres, a extenso,
at trs.
Conjunto de caracteres unicode: importante para locais onde no se usa o alfabeto latino. Exemplo:
Japo, China e outros.
Estrutura de diretrios mais profunda que oito nveis: as rvores de diretrios podem ser
estruturadas em quantos nveis de profundidade forem necessrios.
Nomes de diretrios com extenso: mesmo com essa opo disponvel, atual mente no vem sendo
usada.
7.6.2 Sistema de arquivo do FAT

Os primeiros computadores pessoa is da IBM j utilizava m o sistema de arquivos MS-DOS e por anos
foi o mais usado mundialmente. At o Windows 98 e o ME, a Microsoft manteve o mesmo sistema de
arquivos. O Windows 2000, XP e o Vista suportam a esse sistema, porm, ele no mais padro nos
equipamentos Personal Computer atuais.
Osistema de arquivos MS-DOS possui extenso FAT-32, que vem sendo usada amplamente em mquinas
fotogrficas, MP3 e outros. Atualmente, o sistema de arquivos MS-DOS e suas extenses so mais usados do
que em qualquer outra poca. O sistema de arquivo usado pela Microsoft atualmente o NTFS.

-------------------8-

Unidade IV
O processo de leitura de um arquivo no sistema de arquivos MS-DOS executado conforme sequncia
descrita a seguir:
Um programa faz uma chamada de sistema open (abrir).
A chamada de sistema open determina o path (caminho) at o diretrio de trabalho.
O caminho procurado, item por item, at que o diretrio final seja encontrado e carregado na
memria.
O caminho ento ser buscado para o arquivo a ser aberto.
No formato de uma entrada de diretrio MS-DOS, os campos so de acordo com a sequncia
abaixo:
Nome do arquivo: nomes compostos de 32 bytes.
Atributos: usado para determinar se um arquivo somente para leitura, se precisa ser feita cpia
de segurana, se oculto ou se um arquivo de sistema.
Tempo: composto por 5 bits para determinar os segundos, 6 bits para os minutos e 5 bits para
horas. Para os dias existem trs outros campos secundrios com 5 bits para dia, 4 bits para ms e
6 bits para ano.
Tamanho: o de 32 bits usado para armazenar o tamanho do arquivo. Em teoria, os arquivos
podem ter at 4GB, porm, outros fatores limitam o tamanho do arquivo em 2 GB ou menos.
Entrada de diretrios: com o tamanho de 10 bytes, porm no usado.
Existem trs verses para o sistema de arquivos FAT:
FAT-12: usa blocos de 512 bytes, proporcionando um tamanho mximo de parties de 212
x 512 bytes. Com isso, o tamanho mximo de parties em disco era cerca de 2 MB e o
tamanho da tabela FAT na memria era de 4.096 entradas de 2 bytes cada - propcio para
discos flexveis. Os discos rgidos demandaram algo mais elaborado, portanto a Microsoft
aprimorou o FAT-12, preservando a estrutura da tabela, porm, permitindo tamanhos de
blocos adicionais de 1 KB, 2 KB e 4 KB, permitindo parties de 16 MB. Como o MS-DOS
suportava quatro parties por disco, a nova verso do sistema de arquivos FAT-12 era
compatvel com discos de at 64 MB.
FAT-16: possua ponteiros de disco de 16 bits e permitiu tamanhos de blocos de 8 KB, 16 KB e 32
KB- a tabela FAT-16 ocupava constantemente 128 KB da memria principal. A maior partio de
disco suportada por um sistema de arquivos FAT-16 de 2GB (64 Kcom entradas de 32 KB cada).
O maior disco de 8 GB ocupando quatro parties de 2 GB cada.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


FAT-32: introduzido a partir da segunda ve rso do Windows 95 com endereos de disco
de 28 bits. Em teoria, esse sistema de arquivos poderia conter 228 x 215 bytes, porm, na
prtica, era limitado em 2 TB (2.028 GB). Isso se deve ao fato de que internamente o
sistema de arquivos FAT-32 monitora os tamanhos das parties em setores de 512 bytes,
com um nmero de 32 bits, portanto, 29 x 232 igual a 2 TB. Permite discos de 8 GB com
uma nica partio.
Anlise: comparativo entre o FAT-16 versus o FAT-32

Demonstraremos, na Figura 48, que para arquivos pequenos o FAT-16 apresentar um grande
desperdcio do disco. No exemplo, estamos considerando uma partio de 2 GB (Figura 48a) e arquivo
de 4 KB.
Como foi detalhado anteriormente, um sistema de arquivo FAT-16 tem de usar blocos de
32 KB (Figura 48b) para atender uma partio de 2 GB. Portanto, se gravarmos arquivos de
4 KB, cada bloco ter uma taxa de ocupao de somente 13%, ou seja, 87% do bloco ser
desperdiado.
Blocos de 32 KB
KB

I I I I I I
\..

Arquivo com 4 KB

a. Tamanho da partio
2GB
b. Tamanho de cada bloco do FAT-16
4K
c. Endereos de blocos = 68644
2249326592 I 32768 = 68644
d. Problemas com blocos de 32K- FAT-16
porm 64 K = 65536, portanto em blocos de 32 K no possvel mapear todo disco de 2 GB
Figura 48 - Anlise de uma partio FAT-16 de 2 GB e arquivo de 4 KB

Outro ponto importante destacado na Figura 48c e 48d que a partio de 2 GB que teria 68.644
endereos possveis, porm com o mximo de 64 K (65.536) de endereos que o FAT-16 suporta, ser
parcialmente desperdiada.
Na Figura 49, teremos o mesmo comparativo, porm, agora com FAT-32/ blocos de 4 KB e manteremos
a partio de 2 GB com arquivo de 4 KB.

-------------------8-

Unidade IV
Blocos de 4 KB

KB

Arquivo com 4 KB
a. Tamanho da partio
2GB
b. Tamanho de cada bloco do FAT-16
4K
c. Endereos de blocos = 549152
2249326592 I 4096 = 549152
Figura 49 -Anlise de uma partio FAT-32 de 2 GB e arqu ivo de 4 KB

Usando blocos menores, h melhor aproveitamento do disco,conforme demonstrado anteriormente,


porm eleva o consumo de memria RAM (memria principal}. Com bloco de 4 KB e uma partio de
2 GB, h 512 K blocos, portanto a FAT-32 dever ter 512 K entradas na memria que ocupar 2 MB
deRAM.
A Tabela 1 ilustra as possveis combinaes entre as extenses do MS-DOS:
Tamanho do
bloco (KB)

FAT-12 (MB)

0,5

FAT-16 (MB)

4
2

16

256

512

16

1024

32

2048

Tabela 1 -Tamanho mximo da partio versus diferentes tamanhos de blocos

Observao
No exemplo apresentado na Figura 48, usamos o tamanho de bloco de
32 KB e FAT-1 6 com 2.048 MB =2GB.
7.6.3 Sistema de arquivos do ambiente Unix

Antes de falarmos do sistema de arquivos Unix, importante conhecermos sua origem para que
possamos entender como um sistema de arquivos pode ter, logo em sua primeira verso, fun ciona lidades
que so primord iais para ambientes multi usurios, por exemplo.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


O Multics (Multics ou Multiplexed lnformation and Computing Service) foi criado em 1964,
fomentado pelo projeto liderado pelo MIT (com Fernando Corbat), e a diviso de produtos para grandes
computadores da companhia General Electric edos Laboratrios Bel I de telefonia. Osistema Multics seria
implantado na plataforma GE 645 da GE. Uma viso geral da arquitetura desse sistema operacional tinha
como ambio estar alinhada com quase todos os computadores existentes, suprindo as necessidades
de computadores de grande porte, mesmo os que estariam frente do seu tempo.

Saiba mais
Para obter mais informaes sobre o Multics, acesse http://www.
multicians.org/fjcc1.html (site em ingls).
Mesmo no sendo bem-sucedido, o Multics contribuiu mui to para o desenvolvimento da computao,
devido as suas ideias inovadoras. Ele foi muito criticado na sua poca, contudo a histria provou que as
crticas negativas no tinham fundamento.
Osistema de arquivos do Unix, o mesmo da primeira verso dessa plataforma, j nasceu com suporte
a multiusurios, isso porque esse sistema derivado do Multics. Diferentemente do sistema de arquivos
do MS-DOS, o sistema de arquivos Unix tem os nomes de arquivos de at 14 caracteres. Eles suportam
qualquer caractere ASCII, com exceo do NUL, que usado para preencher os espaos que sobram nos
nomes menores do que 14 caracteres, e da barra (/).devido ao fato de que ela o objeto separador entre
os componentes de um caminho. Em outras palavras, a "/" a demarcao para que o usurio saiba
que antes dela um diretrio e depois da barra o prximo diretrio filho. Se a f est sem nenhum
antecessor ou sucessor, ento o diretrio chamado de diretrio raiz.
A estrutura de uma entrada de diretrio no Unix bem simples, contendo o campo nome do arquivo
formado por 14 bytes e o nmero do i-node2 3 que formado por 2 bytes.
O i-nade possui vrios atributos que vo desde a informao do tamanho do arquivo, at os
momentos que determinam a criao, o ltimo acesso e a ltima alterao, o proprietrio, o grupo, a
informao de proteo e o contador do nmero de entradas apontando para o i-nade.
O apontador para o i-nade tem um contador que ser incrementado quando uma nova ligao
feita. Quando a ligao desfeita, ento o contador decrescido. Ao chegar a zero, o i-nade ser
subtrado por completo e os blocos de disco so colocados novamente na lista de livres.
A localizao dos blocos de disco de um arquivo deve ser fornecida pelo sistema quando um arquivo
aberto. Para entendermos como um arquivo localizado, por exemplo, no caminho /home/user/file.
txt, veja as etapas a seg uir:
23

l-nade: uma estrutura de dados no sistem a de arq uivos em um sistema de arquivos trad icional Unix. Ele
armazena informaes bsicas sobre um arquivo regular, diretrio, ou outros objetos do sistema de arqu ivos.

---------------------

Unidade IV
1. O sistema do Unix localiza o diretrio raiz (que ser o ponto de partida e referncia). O i-nade do
diretrio raiz est localizado em um local fixo do disco rgido, porm o prprio diretrio raiz (/)
pode estar em qualquer endereo de blocos.
2. Assim que o sistema j est posicionado na raiz da estrutura, ento busca pelo prximo componente
do caminho que o "hame" do diretrio raiz. Dessa forma, o sistema ir encontrar o nmero do
i-nade para o "/hame':
3. Nessa etapa, o sistema localiza o diretrio /hame, e busca nele o prximo componente que o user.
Ao encontrar a entrada user, esse diretrio tem o i-nade para /hame/user. Uma vez no diretrio
/hame/user, ento possvel fazer uma busca no prprio diretrio e localizar o componente file.
txt. Assim que a localizao for feita at o /hame/user!. o i-nade, para esse arquivo ser carregado
na memria, ser mantido at que o arquivo seja fechado.
Todos os diretrios possuem entradas ':" (ponto) e :." (ponto ponto) que so criadas juntamente no
momento da criao do diretrio. A entrada ':" (ponto) tem o nmero do i-nade do diretrio atual, e a
entrada :." (ponto ponto), o nmero do i-nade do diretrio pai (diretrio que antecede o diretrio atual).
No diretrio raiz, o:." (ponto ponto) aponta para o':" (ponto) que por consequncia ele mesmo.
Isso se deve ao fato de que o diretrio raiz o nvel mais elevado na estrutura e ele no tem um diretrio
pai antecessor.
7.6.4 Sistema de arquivos do Linux

A primeira verso do sistema de arquivos do Linux foi o Minix, porm, como ele seg uia estritamente
os padres do Unix, ele tambm tinha arquivos com limites de nomes de 14 caracteres e seu tamanho
mquina de arquivo era de 64MB. Esse padro atendia quase que na totalidade as necessidadesda poca,
porm, com o passar do tempo, 64 MB passou a ser "brincadeira de criana", demandando sistemas
de arquivos mais robustos e melhorados. O sistema de arquivos ext (extended file system) apresenta
melhorias com relao ao tamanho do nome que passou a suportar at 255 caracteres e arquivos com
tamanho de at 2 GB. Por outro lado, a desvantagem do sistema de arquivos ext, comparado com o
Minix, era seu desem penho, apresentando lentido considervel.
Principalmente motivado pela necessidade de melhorar a deficincia de velocidade que o ext
apresentava, foi desenvolvido o ext2 (second extended file system).
Limites tericos do sistema de arquivos ext32
Tamanho do bloco

1 KB

2 KB

4 KB

8 KB

Tamanho mximo do
arquivo

16GB

256GB

2TB

2 TB

Tamanho mximo do
sistema de arquivos

4 TB

8 TB

16 TB

32 TB

Tabela 2 - Limites tericos do sistema de arquivos ext2

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Alm do sistema de arquivos ext2, o Linux suporta novas verses do ext. como ext3 e ext4. O ext3
(third extended file system) um sistema de arquivos que suporta o journaling 24. Essa funcionalidade
permite melhorias na confiabilidade e elimina a necessidade de verificar o sistema de arquivo quando h
uma parada do sistema de forma abrupta (por exemplo, quando acontece interrupo de fornecimento
eltrico).
O ext4 (fourth extended file system) um sistema de arquivos que tambm mantm registro de
aes Uournaling) sendo o sucessor do ext3. Esse sistema de arquivos foi desenvolvido como uma srie
oposta de complexidade a da que o ext3 tinha. Muitas dessas complexidades foram originalmente
desenvolvidas para sistemas de arquivos em grupo (cluster file system) destinado ao sistema de arquivos
chamado Lustre.
Alm dos apresentados acima, existem vrios outros suportados pelo Linux, muitos deles com
caractersticas especficas para determinadas aplicaes. Entre uma longa lista, segue abaixo uma breve
descrio de alguns dos sistemas de arquivos suportados pelo Linux:
FAT- File Allocation Table (ou Tabela de Alocao de Arquivos).
JFS - Journaling File System, um sistema de arquivos desenvolvido pela IBM, disponvel em
licena open source.
XFS - um sistema de arquivos inicialmente desenvolvido pela Silicon Graphics, Inc. para o seu
sistema operacionaiiRIX.
HPFS- High Performance File System, Sistema de Arquivos de Alta Performance.
Minix- foi um dos primeiros sistemas do tipo Unix baseado no projeto de um microncleo.
ReiserFS- criado por Hans Reiser e inicialmente mantido pela empresa The Naming System Venture
(Namesys). o ReiserFS foi o primeiro sistema de arquivos com suporte ao journaling includo no
ncleo Linu x 2.4+.
Reiser4- usa rvores balanceadas para tornar o processo de busca de arquivos, informaes sobre
seg urana e outros metadados mais eficiente.
ISO 9660 (sistema de arquivos usado em CD-ROMs), tambm com as extenses RRIP (IEEE P1282)
e ZISOFS.
Alguns sistemas de arquivos com caractersticas especiais so:
SWAP- parties SWAP so usadas para suportar a memria principal.
24

Journaling: registros arm azenados de toda a comunicao no sistema de arquivos, usados para auxiliar na
recu perao de arquivos depois de uma quebra ou fal ha do sistema.

---------------------

Unidade IV
UnionFS - permite que arquivos e diretrios de sistemas de arquivos diferentes seJam
transparentemente sobrepostos, formando um nico sistema de arquivos.
SquashFS- um sistema de arquivos somente leitura para Linux que implementa compresso.
Tmpfs - um sistema de arquivo que no armazena as informaes em dispositivos de
armazenamento como disco duro, memria flash, CD, DVD etc. Ao invs disso, manipula
informaes diretamente na memria RAM, assim como o procfs.
Aufs- AnotherUnionFS, servio de arquivos que implementa uma unio para montar sistemas de
arquivos Linux.
NFS- Network File System, sistema de compartilhamento de arquivos em rede.
8 GERENCIAMENTO DE ENTRADA E SADA

8. 1 Introduo a gerenciamento de entrada e sada


Como foi descrito no primeiro captulo desta srie, o gerenciamento de entrada e sada tem como
princpio bsico a abstrao, tornando a interao do programador com a mquina algo muito mais fcil
e permitindo que os programas e os hardwares evoluam de forma independente, porm estruturada.
O gerenciamento de entrada e sada na viso de dentro do sistema operacional algo complexo
e que exige dos desenvolvedores de sistemas operacionais boa parte do tempo e dos esforos para
obter um sistema estvel e confivel. E no poderia ser diferente, pois toda a lgica e complexidade de
controlar os diversos dispositivos demandam muita ao e dinamismo.
Estudaremos, neste captulo, os fundamentos do hardware de entrada e sada (E/S) e o software de
E/S. Com esses conceitos poderemos tratar de dispositivos, como discos, relgios, teclados e vdeos.
8.2 Fundamentao - hardware de entrada e sada (E/5)
Diferentemente do ocorrido no incio da histria da computao, atualmente os elementos de
um equipamento so seg mentados e especialistas focam suas atenes, estudos e desenvolvimentos
para sua rea especfica. Os recursos de entrada e sada, no diferentemente, est o segu indo a
mesma trajetria histrica. Organizaes globais, muitas vezes sem fins lucrativos, formadas por
contribuintes, como engenheiros, pesquisadores, fsicos, matemticos e at mesmo estudantes da
rea, vm tentando, e conseg uindo, padronizar tipo de material, nveis de sinalizao eltrica,
tipo de condutores, mistu ra de material que ir compor a placa ou o circuito e assim por diante.
Todo esse esforo acaba gerando uma sinergia em escala global. Se imaginarmos um engenheiro
na China, ou um aqui no Brasil, trabalhando num projeto de software num sistema operacional
Linux e um computador padro PC (personal computer). en to a tendncia que, no nvel do
hardware e controladores de E/S, ambos estejam montando produtos 1000/o compatveis. Isso s
possvel devido abstrao, caso contrrio o engenheiro do Brasil poderia esta r interagi nd o

~~--------------------------------------------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


com o hardware e demandando procedimentos que poderiam ser muito diferentes daqueles que o
engenheiro chins estaria usa ndo.
Neste material, no est englobado como desenvolvido o hardware, porm estudaremos como o
hardware programado para que tenhamos os resultados esperados de cada dispositivo especfico. Nas
prximas sees, trataremos, de forma geral, o hardware de computadores tpicos. Esse material no
visa abordar hardware especfico nem entrar em profundidade acerca da viso que um engenheiro de
hardware dever ter do assunto.

8.3 Dispositivos de entrada e sada


Os dispositivos de entrada e sada tpicos e os que estaremos dando nfase so divididos em duas
categorias:
Dispositivos de blocos: entre outras caractersticas, armazenam informaes em blocos de
tamanho fixo e endereo prprio. Todas as transferncias esto em unidades consecutivas de um
ou mais blocos. Para essa categoria, cada bloco pode ser lido ou escrito independentemente de
todos os outros.

Figura 50 - Dispositivos de blocos

Dispositivos de caractere: nesse caso, h o envio e recebimento de caracteres. Diferentemente da


categoria anterior, os dispositivos de caractere no so endereveise no possuem funciona Iidades
de posicionamento.

Figura 51 -Dispositivos de caractere

----------------------------------------GD-

Unidade IV
Alguns dispositivos, como o relgio do computador e o vdeo mapeado em memria, no pertencem
a nenhuma dessas duas categorias. Considerando que os modelos de blocos e caracteres so os mais
comuns e este material no visa se aprofundar no hardware, ento ser reservado ao autor cobrir essas
duas categorias pa rticu la rmente.
Existem diversos dispositivos de entrada e sada, bem como para cada taxa de dados que vem
evoluindo e variando com o passar do tempo. A Tabela 3 mostra o comparativo de alguns dispositivos e
suas respectivas taxas de dados.
bytes f segundo x tipo

600.000.000 1- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

500.000.0001- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

400.000.000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

300.000.000

200.000.000 - - - - - - - - - - - - - - - - - - - - - - - - -

100.000.0001- - - - - - - - - - - - - - - - - - - - - - -

Tabela 3 - Al guns exemplos de dispositivos e suas respectivas taxas de dados

Tipo de dispositivo

bytes f segundo

Teclado

10

Mouse

100

Modem 56K

7K

Scanner

400 K

Wireless 802.11 g

6,75 M

CD-ROM 52x

7,8 M

Fast Ethernet (802.3u)

12,5 M

~~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Carto flash compacto

40M

FireWire (IEEE 1394)

50 M

Blue-Ray (12x)

54 M

USB 2.0

60M

Padro Sonet OC-1 2 (622.08 Mbit/s)

78 M

Disco SCSI Ultra 2

80 M

Gigabit Ethernet (IEEE 802.3z)

125M

LT0-5 (Linear Tape-Open 5)

120M

SAS (Serial Attached SCSI)

300M

Fita Ultrinum

320M

Barramento PCI

528 M

Tabela 4 - Detalhamento da tabela 3

8.3.1 Controladores de dispositivos (driver)

As unidades de entrada e sada tpicas so constitudas por dois componentes:


Componente mecnico: o dispositivo mais aparente para o usurio final, ou seja, impressora,
teclado, mouse e outros.
Componente eletrnico: con hecido como controlador de dispositivo ou adaptador.
Esses adaptadores so inseridos em um conectar de expanso loca lizado na placa-me do
computador.

Os componentes mecnicos e eletrnicos so mostrados em destaque na Figura 52.

________________________________________.,_
Figura 52- Unidade de E/S- componentes mecnicos e eletrnicos

Unidade IV
Geralmente, os fabricantes de controladores de dispositivos criam as interfaces seguindo um padro
oficial baseados nas organizaes ANSI, IEEE, ISO e outras. Com isso, os tipos de conectares, sinalizao
eltrica, determinaes mecnicas e todos os demais itens regidos pelos rgos padronizadores so
seguidos pelos fabricantes. Isso permite que, em paralelo, um fabricante de dispositivos mecnicos
como Impressora, mouse, e outros possam usar controladoras sem qualquer preocupao de
compatibilidade.

Saiba mais
Para mais informaes a respeito dos rgos responsveis pelos padres
descritos acima consulte:
ANSI: American National Standards lnstitute - Instituto Nacional
Americano de Padronizao (http://www.ansi.org/).
IEEE: lnstitute of Electrical and Electronics Engineers- Instituto de
Engenheiros Eletricistas e Eletrnicos (www.ieee.org/).
ISO: lnternational Organization for Standardization - Organizao
Internacional de Normalizao (www.iso.org/).
Os controladores de dispositivos, observados de uma forma mais abstrata e da perspectiva do
usurio, so sumarizados como sendo uma nova entrada para comando de um dispositivo ou programa.
Formando, assim, uma unidade perifrica, cria uma interface permitindo a conexo com o dispositivo
desejado.
Ao adicionarmos um novo dispositivo a uma interface do computador, este requer um driver25 ,
que, na perspectiva lgica, um programa que normalmente vem junto com o dispositivo ou como
parte inerente do sistema operacional e deve ser instalado ou carregado. Sem esse controlador
de dispositivo o programa do usurio no ir conseguir obter os resultados de entrada e sada
desejados. Como exemplo, podemos citar o de um usurio que comprou um mouse sem fio e
quer instal-lo no seu computador. Geralmente, o mouse sem fio usa um adaptador USB que
servir para mandar e receber os sinais desse novo dispositivo para o computador e vice-versa.
Analogicamente, teremos ento o mouse como dispositivo mecnico e o adaptador usando
padro USB como dispositivo eletrnico, porm, para que esses dois elementos possam ser vistos
e operados pelos programas do usurio, ser necessrio um driver (que tambm chamamos de
controlador de dispositivo). Esse driver ir estabelecer a conectividade lgica entre o elemento
USB e o sistema operacional, e ficar a cargo deste ltimo estabelecer uma interface abstrata para
o programa do usurio.
25

Oriver: programa ou rotina usada para interfacear e gerenciar um dispositivo de entrada/sa da ou outros

~~pe-ri-f-ri-co_s----------------------------------------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


8.3.2 E/S mapeada em memria

Os registradores so responsveis por estabelecer o canal de comunicao entre os controladores


de dispositivos e a unidade central de processamento. O sistema operacional se comunica com os
dispositivos por meio da gravao e da leitura dos registradores. Alm dos registradores, atualmente
comum os dispositivos terem buffers de dados que sero usados pelo sistema operacional para gravar
e escrever.
A comunicao entre a unidade central de processamento e os registradores e buffers pode ser
realizada pelas duas formas descritas abaixo:
E/S mapeada por porta (port-mapped 1/0): associado a um nmero de porta de entrada e
sada que pode compreender de 8 a 16 bits. Somente o sistema operacional pode acessar o
espao de portas E/S (conjunto de portas de E/S). Dessa forma, o programa do usurio no
tem permisso para acessar diretamente o espao de portas. Esse modelo demonstrado na
Figura 53a.
E/S mapeada em memria (memory-mapped 1/0): nesse modelo, todos os registradores so
mapeados em endereos de memria exclusivos. Esse mtodo usa o mesmo endereo de
barramento para enderear memria e dispositivos de entrada e sada, e as instrues de
CPU para acessar a memria so as mesmas usa das para acessar os dispositivos de E/S.
Para acomodar os dispositivos de E/S, espaos das reas endereveis da CPU devem ser
temporariamente reservados para E/S exclusivamente. Cada dispositivo de entrada e sada
fica escutando o barramento e responder as suas requisies. Esse modelo demonstrado
na Figura 53b.
Ofuncionamento do exemplo de uma CPU querendo ler uma palavra que pode ser tanto da memria
ou de uma porta de entrada se dar da seg uinte forma:
1. A CPU emite nas linhas de endereo do barramento o endereo de que precisa.
2. Emite um sinal de READ sobre a linha de controle do barramento.
3. Uma nova linha de sinal usada para informar se o espao requerido memria ou entrada e
sada.
4. Nessa etapa, a memria ou o dispositivo de E/S ir responder ao comando de leitura (read).
Alm dos dois mtodos descritos acima, existe tambm o E/S por processos dedicados (dedicated 1/0
processors), porm no ser debatido neste material por se tratar de um mtodo bem especfico para
um determinado ambiente menos popular.

----------------------------------------GD-

Unidade IV

Dois endereos

OxFFFF...

r--------,

Um espao de
endereamento

Ende~~5o de

EJS

Memria

Espao de
endereo de
memria
Portas de E/S

o
a.

b.

Figura 53 -a. Espaos de memria e E/S independentes b. E/S mapeado na memria

8.3.3 Acesso direto memria (DMA)


Com base na premissa de que o hardware possui controlador de DMA, muitas vezes o sistema
operaciona l poder usar o acesso direto memria (Direct Memory Access - DMA) com o objetivo
de melhorar a performance do ambiente. Em alguns casos, o controlador de DMA est integrado ao
controlador do dispositivo, contudo isso demanda um controlador de DMA para cada controlador
de dispositivo. Geralmente, um nico controlador de DMA est contido na placa-me, controlando a
transferncia de vrios dispositivos, mesmo que simu ltaneamente.
Ocontrolador de DMA tem acesso ao barramento e contm v rios registradores que podem ser lidos
e escritos pela CPU, conforme descrito aba ixo :
Registrador de endereamento de memria.
Registrador contador de bytes.
Registrador de controle (diferentemente dos dois anteri ores, que so somente um para cada
tarefa, esse pode ser composto por um ou mais reg istradores). Esse reg istrador especifica a
porta de entrada e sada em uso, se a transferncia uma escrita ou leitura no dispositivo
de entrada e sa da, unidade em byte ou palavras por vez e o nmero de bytes a ser
transmitido.

Saiba mais
Mais detalhes a respeito dos fu ndamentos do DMA em v rias plataformas
de PC podem ser obtidos em : <http://cires.colorado.edu/jimenez-group/
OAMSResou rces/Docs/DMAFu ndamenta ls.pdf>.

~~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


A Figura 54 ilustra a operao de transferncia utilizando o controlador DMA. Podemos observar
que nesse modo a CPU ir interagir com a controladora de DMA e esta ir, por meio do barramento,
comunicar-se com a controladora de dispositivo.
1.

Controlador DMA

Controlador de
Disco 1;1

CPU

Interrompo quando
.._ concludo _

Buff~r

Memria
principal

3.

Figura 54- Transferncia por DMA

legenda da figura
1. CPU programa o controlador de DMA.
2. DMA solicita transferncia para a memria.
3. Dados transferidos.
4. Confirmao.
A complexidade dos controladores de DMA pode variar. H controladores mais simples que tratam
uma transferncia por vez e os mais sofisticados que podem ser programados para lidar simultaneamente
com mltiplas transferncias. Controladores capazes de tratar mltiplos canais possuem internamente
vrios conjuntos de registradores. Cada transferncia usa um controlador de dispositivo distinto. Um
algoritmo de alternncia, com prioridade ou no, necessrio para o controlador de DMA decidir qual
dispositivo ser o prximo a ser atendido.
Os barramentos podem operar no modo palavra e no modo bloco e alguns controladores de DMA
podem operar em ambos os modos. Ocontrolador de DMA por meio do modelo modo direto (fly by mode)
pode dizer para o controlador de dispositivo transferir dados diretamente memria RAM (memria
principal). O modo direto pode operar pelo roubo de ciclo ou surto.
Roubo de ciclo (cycle stealing): a operao se d por meio do controlador quesol icita a transferncia
de uma palavra e a transfere em seguida. Nesse modo, a CPU ou o controlador de DMA estar
usando o barramento a cada ciclo de barramento.
Surto (burst mode): o controlador de DMA solicita ao dispositivo para obter o barramento, em
seguida, desfere uma rajada de transferncias e, por fim, libera o barramento. A van tagem desse
modo que em uma nica aquisio ao barramento vrias palavras podem ser transferidas.

----------------------------------------GD-

Unidade IV
Por outro lado, a desvantagem que o tempo de bloqueio do barramento durante o surto de
transferncia pode ser grande o suficiente para fazer com que a CPU e outros dispositivos fiquem
esperando por muito tempo.
Como opo ao modelo descrito anteriormente, existe a possibilidade de alguns controladores de
DMA estabelecerem que o controlador do dispositivo envie a palavra para o controlador de DMA, e uma
segunda aquisio do barramento escrever a palavra para o destino necessrio. Mesmo usando um
ciclo de barramento adicional, esse mtodo permite a flexibilidade da cpia entre dispositivos ou de
memria para memria.
Mesmo antes de a controladora atuar em um dos modelos descritos at agora, necessrio que os
discos rgidos carreguem dados em seus buffers internos antes que o DMA inicialize. Podemos destacar
duas razes para isso ocorrer:
1. Conferncia da soma de verificao (checksum), tambm conhecida como cdigo de correo de
erro (error-correcting code - ECC), antes de iniciar a transferncia. Com essa funcionalidade, se
algum erro for encontrado, sinalizado e nenhuma transferncia se realiza.
2. Assim que j se tem a confirmao da soma de verificao positiva, iniciada a transferncia e a
taxa de chegada dos bits do disco sua controladora mantida de forma constante, mesmo que
o controlador do dispositivo esteja pronto para recebimento ou no. No modelo em que no h o
controlador de DMA, o controlador do dispositivo (nesse caso, do disco rgido) tentaria escrever os
dados diretamente na memria, acessando o barramento para cada palavra a ser transferida. Se outros
dispositivos estivessem usa ndo o barramento, isso obrigaria o controlador de disco a esperar.

8.4 SoFtware de E/5


Existem alguns pontos importantes para alinharmos quando estamos tratando de software de
entrada e sa da, os quais esto destacados a segu ir:
O software de entrada e sada deve estar suportado pelo conceito de independncia do hardware.
Isso parte do pressuposto que deveria ser possvel que os programas pudessem acessar os
dispositivos de E/S sem a necessidade especfica de conhecer o dispositivo. Ento, um programa
que tem no seu conjunto de funcionalidades a possibilidade de ler um arquivo de entrada deveria,
de forma transparente e sem ter que mudar o programa, poder ler tanto um disco rgido, CD e
DVD, quanto um USB.
Um outro ponto que os programas de E/S deveriam estar alheios ao tratamento de erros,
ficando a cargo dos nveis mais prximos ao hardware esse tratamento, ou seja, o controlador
deveria resolver o problema e, se no conseguisse, ento o driver do dispositivo deveria tratar
disso.
Ainda primordial o tipo de transferncia sncrona ou assncrona. Na transferncia sncrona o
modo de bloqueio e na assncrona orientada a interrupo.

~~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


A utilizao de buffers para armazenamento temporrio envolve frequentes e elevadas operaes
de cpia, gerando um impacto considervel no desempenho da entrada e sada.
OIti mo ponto que devemos nos atenta rcom amesma importncia dos apresentados anteriormente
o de dispositivos dedicados versus compartilhados. Pode parecer contraditrio, porm, nos dias
atuais, os dispositivos no compartilhados (dedicados) podem apresentar grandes problemas, bem
como impasses. Se imaginarmos dois processos necessitando acessar a mesma fita magntica,
mas com dados em endereos distintos, certamente um dos processos ficar esperando por um
tempo muito grande.
8.4.1 E/S programada

O mtodo mais simples de entrada e sada ter a CPU fazendo todo o tratamento. E/S programada
o mtodo de transferncia de dados entre a unidade central de processamento e os perifricos como
um NIC (Network Interface Card) ou um dispositivo de armazenamento ATA, por exemplo.
Em geral, entrada e sada programada acontece quando o programa que est rodando na CPU usa
instrues que acessam o endereo de entrada e sada para realizar transferncia de dados de um ou
para um dispositivo de entrada e sada. Isso vai na contramo das transferncias em modo DMA que
estudamos na seo anterior.
Um exemplo de um dispositivo no computador padro PC que usa a E/S programada a interface
ATA (Advanced Technology Attachment). Entretanto, essa interface pode operar em um dos modos
DMA. Outros dispositivos tambm usam a E/S programada, tais como:
1. Portas seriais.

2. Portas paralelas (quando no esto em modo ECP- Extended Capability Port).


3. Portas PS/2 que eram usadas para teclado e mouse.
4. Portas MIDI (Musical lnstrument Digital Interface).
5. Portas de joystick.
6. Relgio interno.
7. NICs (Network Interface Card) antigas.
Apesar de ser simples, a entrada e sada programada tem uma desvantagem que o fato de segurar
a CPU o tempo todo at que a E/S seja realizada. A espera ociosa ineficiente em sistemas complexos.
Exemplificando a E/S programada, podemos imaginar um processo que quer imprimir na
Impressora :

----------------------------------------GD-

Unidade IV
1. O programa primeiro monta a cadeia de caracteres em um buffer.
2. Um processo que resista impressora por meio de uma chamada de sistema.
3. Assim que o processo j obteve o acesso impressora ele ento efetuar uma chamada de sistema
para imprimir a cadeia de caracteres.
4. Tipicamente, o sistema operacional copia o buffer para um vetor "x" no espao do ncleo.
5. O sistema operacional verifica se a impressora est disponvel.
6. Assim que confirmado que a impressora est disponvel, o sistema operacional copia o primeiro
caractere para o registrador de dados da impressora (caso a impressora no esteja disponvel, o
sistema operacional ficar esperando).
7. Dependendo da impressora, nesse exato momento j estar sendo impresso o primeiro caractere
ou, em outros casos, a impressora ir armazenar linhas ou at mesmo pginas antes de iniciar a
impresso.
8. Assim que esse primeiro ciclo est pronto, o sistema operacional faz novamente uma nova
verificao para ento enviar outro caractere.
9. O lao ser repetido at que a impresso termine, retornando o controle ao processo que originou
a chamada.
8.4.2 E/S usando interrupo
Nesse caso, a impressora, ao invs de armazenar caracteres, imprime-os sequencialmente conforme
ordem de chegada. Se essa impressora pode imprimir 100 caracteres por segundo, ento cada caractere
ser impresso em 10 milissegundos (1.000 milissegundos = 1 segundo, ou seja, 1.000/100 = 10). Portanto,
durante os intervalos de 10 milissegundos necessrios para que a impressora emita a permisso para
a CPU transmitir o prximo caractere, a CPU ficar liberada para executar algum outro processo que
aperfeioar seu desempenho.
O modo que permite CPU executar outro processo enquanto espera o trmino do antecessor
usando a interrupo.

Saiba mais
Para mais informaes a respeito de E/S usando interrupo consulte:
<http://www.ibm 1130.net/functional/101nterrupts.html>.

-GD~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


8.4.3 E/S usando DMA

Oacesso direto memria consegue melhorar a velocidade do sistema. Isso porque no modo de E/S
visto anteriormente cada caractere est demandando uma interrupo, que, por consequncia, demanda
CPU para controlar essa dinmica. Usar o controlador de memria para alimentar os caracteres da
im pressora fornece a grande va ntagem de, ao invs de ser gerada uma interrupo por ca ractere, gerar
uma interrupo por buffer impresso. Porm, como a velocidade do DMA consideravelmente menor
que a da CPU, em sistemas com pouco uso de CPU melhor e mais rpido manter a E/S programada ou
por interrupo.

8.5 Camadas de software de E/5


Conforme ilustrado na Figura 55, tipicamente os softwares de E/S possuem quatro camadas e esto
logo acima do hardware. Cada camada do software de entrada e sa da tem fu no especfica e interface
com as ca madas vizi nhas.

Software de E/S no nvel do usurio


Software do sistema operacional
independente do dispositivo
Drives do dispositivo
~

Tratadores de interrupo

Hardware

Figura 55 - Camadas do software de E/S

Como cada sistema operaciona l possui caractersticas prprias do software de entrada e sa d a,


uma generalidade para estudos acadm icos sem entrar nos deta lhes especficos de cada plataforma
fsica e lgica.
8.5.1 Tradutores de interrupo

As interrupes so desagradveis, porm, como no podem ser evitadas, o sistema operaciona l deve
escond-las. Dessa forma, apenas uma pequena parte do sistema operaciona l saber da sua existncia. A
melhor maneira de ocultar a maioria das interrupes usar um driverque inicie a operao de entrada
e sa da e que bloqueie at a tarefa a ser finalizada.
Quando isso acontecer, a rotina de interrupo faz as suas tarefas, depois desbloqueia e liberta o
driver que iniciou e a chamou.

---------------------

Unidade IV
A seguir, veja os passos a serem realizados pelo sistema operacional quando ocorre interrupo no
ambiente genrico padro PC:
1. Salvar registros que ainda no tenham sido guardados pelo hardware de interrupo.
2. Estabelecer o contexto para a rotina de atendimento de interrupes.
3. Preparar uma pilha (stack) para rotina de tratamento de interrupo.
4. Confirmar (ack) o controlador de interrupo e ativar interrupo.
5. Copiar registros de onde foram salvos para a tabela de processos.
6. Executar rotina de tratamento de interrupo, extraindo informaes dos registradores do
controlador do dispositivo que est interrompido.
7. Escolher qual o novo processo que ir ser executado. O algoritmo de alternncia pode ser
necessrio.
8. Preparar contexto da MMU para executar prximo processo.
9. Carregar registros do novo processo.
10. Iniciar a execuo do novo processo.

11. Processamento de interrupo dispendioso e complexo, por 1sso a necessidade de ser


evitado.

8.5.2 Drivers dos dispositivos


Os drives dos dispositivos diferem entre a pluralidade de componentes disponveis e a
forma de tratamento que se deve dar a cada um. Por exemplo, o driver do mouse enderear
informaes de movimento e acionamento dos botes, a ponto de o driver de um disco rgido
ser capaz de tratar assuntos relacionados a setores, trilhas, cilindros, cabeotes, movim ento
do brao, controladores do motor e demais sem nticas para o funci ona mento adequado desse
dispositivo.
Driverdo dispositivo: so os cdigos especficos quecada dispositivo necessita eso normalmente
desenvolvidos pelos fabricantes dos dispositivos. Devido diversidade de sistemas operacionais,
pode acontecer do fabricante no ter desenvolvido um driver de dispositivo para a verso do
sistema operacional que est sendo executado em uma determinada mquina. Por esse motivo,
normalmente, quando um novo sistema operacional lanado, pode haver problemas para o
usurio encontrar um driver para seu dispositivo legado. A Figura 56 ilustra o controlador de
dispositivos e os drivers.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Espao
do
usurio

Espao
do
ncleo

Driver da
impressora

Driver
do
~------~ disco

Hardware {

Dispositivo{

Figura 56- Camadas do software de E/S

Os drivers de dispositivos esto classificados em poucas categorias. Entre elas as mais comuns so:
Dispositivo de bloco.
Dispositivos de caractere.
Os sistemas operaciona is possuem uma interface padro para os drivers de bloco e outra para
driver de caractere. Essas interfaces permitem que os dispositivos sejam manipulados pelo sistema
operacional.
Em alguns ambientes o sistema operacional pode ser um nico programa binrio que contm intricados
os driver necessrios. Quando preciso a instalao de um novo dispositivo, ento deve-se recompilar o
ncleo do sistema operacional com o novo driver, construindo um novo binrio. Esse modelo, no incio do
Linux, causou grande impacto para os leigos usurios desse sistema, exatamente pela obrigatoriedade do
usurio ter de procurar o driver necessrio para seu dispositivo e, posteriormente, compilar o ncleo do
sistema - ao que para muitos ainda uma misso impossvel.
Com a enorme diversidade de dispositivos de E/S e a demanda por trocas e atua lizaes constantes, o
modelo apresentado anteriormente no mais adequado. Os sistemas operacionais para computadores
pessoais passaram para um modelo, no qual os drivers podem ser dinamicamente carregados no sistema
durante a execuo.

-------------------8-

Unidade IV
8.5.3 Software de E/S independente de dispositivo

O software de dispositivos possui geralmente duas partes, sendo a primeira inerente ao dispositivo e
outra parte que independente.
Os softwares independentes de dispositivos executam funes de entrada e
sada comuns para todos os dispositivos, fornecendo uma interface uniforme
para o software no nvel do usurio. 26

As funes descritas a seguir, em geral, so feitas no software independente de dispositivo.


Interface normalizada com driver de dispositivos.
Providenciar um tamanho de bloco independente de dispositivo.
Buffering.

Processamento e reporte de erros.


Alocao e liberao de dispositivos dedicados.
A construo de uma interface uniforme permite ao sistema que todos os dispositivos de entrada e
sa da e drivers paream similares. Na Figura 57 a, ilustrada uma colocao simblica, na qual os drivers
de cada dispositivo apresentam uma interface diferente para o sistema operacional. Tendo em vista que
as funes do ncleo do sistema operacional, requeridas pelo driver, tambm diferem de um driver para
o outro, a resultante um grande esforo de programao.
Na Figura 57b, so simbolizados os drivers com a mesma interface e, se um novo driver estiver em
conformidade com essa interface, isso ir tornar muito mais fcil conectar um novo dispositivo. Dessa
forma, fica muito mais previsvel para os programadores de driver saberem quais funes eles devem
fornecer, bem como quais funes eles podero chamar do ncleo.

Sistema operacional

a.

Sistema operacional

b.

Figura 57 - a. Sem interface padro para o driver. b. Com uma interface padro para o driver

26

Dispon vel em: <http ://www.ufpi.br/subsiteFiles/eml/arquivos/files/SO/SO_Livro.pdf>. Acesso em: 8 jun. 20 11.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


8.5.4 Software de E/S do espao do usurio

Nesse cenrio, em camadas de software de E/S, somente uma pequena parte constituda de
bibliotecas atreladas aos programas do usurio e de programas que executam fora do ncleo do sistema
operacional. Alm dos softwares de E/S no nvel do usurio constitudo de rotinas de biblioteca, outra
categoria o sistema de spooling.
Um processo especial, chamado daemon, e um diretrio especial no sistema, chamado de diretrio
de spool, so criados para tratar as novas entradas. Em um caso de uma impressora que est sendo
acessada por um processo durante 20 minutos, mas nenhuma impresso est sendo realizada por ele,
isso significaria que mais nenhum outro processo poderia ter usado a impressora, tendo em vista que ela
estava ocupada. Entretanto, com o spooling, o processo gera um arquivo a ser impresso e o coloca no
diretrio de spoo/, ficando como responsabilidade do processo especial daemon a exclusiva permisso
para usar o arquivo especial da impressora e imprimir os arquivos no diretrio. Com isso, eliminada a
possibilidade de outro processo tomar para si o recurso e mant-lo ocupado mesmo sem necessidade.
O spoo/ tambm usado em outros casos, tal como a transferncia de arquivos pela rede, em que o
processo de transmisso de arquivo usa um spoo/ de rede e, posteriormente, o daemon respectivo de
rede ir retirar o arquivo do diretrio de spool e transmiti-lo.
A Figura 58 demonstra, de forma geral, o sistema de E/S, ilustra ndo todas as camadas e as principais
funes de cada uma delas.
Funes de E/S

Camada

2.

1.

Chama E/S; formata E/S; coloca


no spool
Nomeao, proteo, bloqueio,
utilizao de buffer e alocao
Ajusta os registradores do
dispositivo; verifica status

Processo do usurio

Software independente de
dispositivo

'I

Drivers dos dispositivos

4
I

Acorda driver quando a E/S


est completa

Tratadores de interrupo

Execu ra operaes de E/S

Hardware

1. Req uisio de E/S


2. Resposta de E/S
Figu ra 58- Sistema de E/S: ca madas e principais funes

8.6 Hardware de E/5


Para todos os tipos de plataformas de computadores, necessitamos de algum tipo de dispositivo para
informar entradas e receber resu ltados, constituindo o que chamamos genericamente de dispositivos de
Entrada e Sada (E/S}.

---------------------

Unidade IV
Com base no sentido do fluxo de dados entre o computador e o dispositivo,
denominamos esses dispositivos como perifricos de entrada, perifricos de
sada, ou ainda, perifricos de entrada e sada. Um perifrico qualquer
dispositivo conectado a um computador, possibilitando sua interao com
o mundo externo.
Um componente de hardware denominado interface permite que os
perifricos sejam conectados ao computador. Portanto, os perifricos no
esto conectados diretamente aos barramentos do computador. Dessa forma,
as interfaces constituem um elemento primordial para que a transferncia
de dados entre perifrico e processador, ou entre perifrico e memria,
ocorra.
Outro componente de hardware denominado controlador integra
as interfaces. Um controlador corresponde a um processador/chip
projetado para re alizar uma funo especfica, co mo controlar um
disco rgidoY

Os hardwares de E/S tem como principais componentes os chips, as ligaes eltricas eos componentes
fsicos.
Os dispositivos de E/S esto divididos em trs classes:
Dispositivo de bloco: armazena informao em blocos de tamanho fixo, com endereo (exemplo:
disco).
Dispositivo de caractere: envia ou recebe fluxo de caracteres sem considerar qualquer estrutura
de blocos (exemplo: impressoras, interface de rede, mouse).
Outros dispositivos: relgio.
8.6.1 Discos rgidos

Os discos rgidos so dispositivos de armazenamento destinados a grandes quantidades de


dados. Atualmente, qualquer computador pessoal vem com algo em torno de 500 GB, a ponto
de a unidade de medida dos primeiros computadores se r na casa das dezenas ou centenas de
bytes.
Fisicamente, um disco rgido composto por dois grandes blocos.

27

Dispon vel em : <http://professor.rodrigoscama.eom.br/textos/SO_EntradaeSa ida.pdf>. Acesso em : 8 jun. 2011.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 59 - Discos metlicos e estrutura mecnica de um disco rgido

1. Conjunto de discos metlicos: superposto e disposto em alturas diferentes


suportado por um eixo centrai. Asduassuperfciesde cada disco so recobertas
por uma cobertura magntica, possibilitando a gravao dos dados.
No momento de acesso ao disco, essa estrutura mantida em uma rotao
consta nte em torno de 7.200 rpm.
2. Estrutura mec nica: suporta um co njunto de cabeotes, sendo um para
cada superfcie de disco. capaz de realizar movimentos de vaivm,
possibili ta ndo que os cabeot es possam ser deslocados do centro at a
borda do disco e vice-versa.
Do ponto de vista da organizao lgica, cada superfcie de um disco
dividida em circun ferncias concntricas denominadas trilhas. Cada trilha
subdividida radialmente em unidades chamadas blocos lgicos.
Tipicamente, todos os blocos tm o mesmo tamanh o, va riando entre 512 e
4.096 bytes. O bloco constitui-se na menor unidade de leitura e gravao
possvel em um disco.28

RAID (Redundant Array of lndependent Disks)


A RAIO uma estrutu ra que se prope a solucionar problemas associados
com o armaze namento de grandes quantidades de dados. Ela associada
sempre cp ia de segurana.
O princpio fundamental de uma estrutura RAIO combi nar vrios discos
rgi dos fsicos em uma estrutura lgica de discos de forma a aumenta r a
confiabilidade e o desempenho do ambiente.
28

Disponvel em: <http://professor.rodrigoscama.eo m.br/textos/SO_EntradaeSa ida.pdf>. Acesso em: 8 jun. 2011.

------------------~--

Unidade IV
Oconjunto de discos (array) independentes (independent) em RAID armazena
informaes de forma redundante (redundant), viabilizando a recuperao
de dados em caso de falha fsica de um dos discos. 29

A estrutura de RAIO dividida em nveis, sendo:


RAIO 0: nesse nvel, os dados escritos so divididos entre os diferentes
discos fsicos que compem o disco RAID sem considerar nenhum
mecanismo para o controle ou correo de erros. Denominamos de
strppng o mtodo de escrever (e depois acessar) os dados em paralelo
em diferentes discos. 30

Disco O

Disco 1

Figura 60 - RAIO O

RAIO 1: esse nvel conhecido como espelhamento (mrrorng). Aqu i, um


dado escrito simultaneam ente em um disco primrio e em um disco
secundrio de cpia.31
RAIO 1

- Al--

A2
. - A3

A4

Disco O

. A1
A2
__ A3 _

A4

Disco 1

Figura 61 - RAIO 1

29

Disponvel em: <http://professor.rodrigoscama.eom.br/textos/SO_EntradaeSaida.pdf>. Acesso em: 8 jun. 2011.


Idem.
31
Idem.
30

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


RAIO 2/3/4: os dados so armazenados em diferentes discos, utilizando-se
stripping. No RAIO 2, so armazenadas informaes ECC (Errar Correcting
Code}, que so as in formaes de controle de erros, no lugar da paridade.
No RAIO 3, um nico bit de paridade computado pa ra cada palavra de
dados e escrito em um drive de paridade. O RAIO 4, assim como outros
RAIOs, cuja caracterstica utilizarem paridade, usa um processo de
recuperao de dados mais abrangente que arrays espelhados, como RAIO
1. Esse nvel tambm til para criar discos virtuais de grande dimenso,
pois conseg ue somar o espao total oferecido por todos os discos, exceto
o disco de paridade. O desempenho oferecido razovel nas operaes
de leitura, pois podem ser utilizados todos os discos simultaneamente.32
Em caso de falha em um dos discos, a informao contida nos demais discos,
mais a informao da paridade, so suficientes para a reconstruo dos
dados armazenados no disco que apresentou problemas. A diferena entre
os nveis 2, 3 e 4 est na forma pela qual a paridade calcu lada: paridade a
bit no RAIO 2, paridade a byte no RAIO 3 e paridade de bloco no RAIO 4.33
RAID 2

Disco O

Disco 1

Disco 3

Disco 4

Disco 5

Disco 6

Figura 62 - RAIO 2
RAID 3

Disco O

Disco 1

Disco 2

_,

- --

Disco 3

Figura 63 - RAIO 3
32
33

Disponvel em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em: 8 jun. 2011 .


Disponvel em : <http://professor.rodrigoscama.eo m.br/textos/SO_EntradaeSa ida .pdf>. Acesso em : 8 jun. 2011 .

------------------~~

Unidade IV
RAIO 4

--Disco O

Disco 1

Disco 2

Disco 3

Figura 64- RAIO 4

RAIO 5: esse nvel similar ao nvel de RAIO 3, ou seja, os dados so


divididos entre os diferentes discos e, para cada strip, calculada a
paridade. A diferena reside no fato de que essa informao de paridade
no mais concentrada em um nico disco, mas sim distribuda entre os
diferentes discos. 34
RAIO 5

Disco O

Disco 1

Disco 2

Disco 3

Figura 65 - RAIO 5

RAIO 6: um padro re lativamente novo, suportado por apenas algumas


co ntroladoras de disco. seme lhante ao RAIO 5, porm usa o dobro
de bits de paridade, garantindo a in tegridade dos dados caso at dois
dos discos rg idos falhem ao mesmo tempo. Ao usar oito discos rgidos
de 36GB cada um em RAIO 6, teremos 216GB de dados e 72 GB de
paridade. 35

34
35

Disponvel em: <http://professor.rodrigoscama.co m.br/textos/SO_EntradaeSa ida.pdf>. Acesso em: 8 jun. 2011.


Disponvel em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em : 8 jun. 2011.

-GD~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


RAIO 6

Disco O

Disco 1

Disco 2

Disco 3

Disco 4

Figura 66- RAID 6

RAIO 0+ 1: uma combinao dos nveis O (striping) e 1 (mirroring), na


qual os dados so divididos entre os discos para melhorar o rendimento
e tambm utilizar outros discos para duplicao de dados. Dessa forma,
possvel utilizar o bom rendimento do nvel O com a redundncia do
nvel1. No entanto, necessrio, pelo menos, quatro discos para montar
um RAIO 0+ 1. Sua arquitetura faz do RAIO 0+ 1 o mais rpido e seguro,
porm o mais caro. No RAIO 0+ 1, se um dos discos apresentar falha, o
sistema vira um RAIO O. Se os dois discos que possuem a sequncia A1,
A3 e A5 falharem ao mesmo tempo, haver perda de dados. Se apenas
uma das controladoras falhar, o sistema continua funcionando, mas
nessa situao o ambiente estar sem tolerncia fa lha e sem o ganho
de velocidade. 36
RAIO O+ 1
RAIO 1
RAIO O

RAIO O

-~

--A7

Disco O

Disco 1

Disco 2

Disco 3

Figura 67 - RAID 0+ 1
36

Dispon vel em: <http://pt.wikipedia.org/wiki/RAID>. Acesso em: 8 jun. 201 1.

-------------------~

Unidade IV
RAIO 1+0 ou 10: exige ao menos quatro discos rgidos. Cada par ser espelhado
para garantir redundncia e, para melhorar o desempenho, os pares sero
distribudos. Nesse cenrio, at metade dos discos podefalhar simultaneamente,
desde que no falhem os dois discos de um espelho qualquer. Isso porque so
usadosdiscosde lotes diferentes de cada "lado" do espelho. o nvel recomendado
para bases de dados por ser o mais seguro e com melhor desempenho. 37
RAID 10
RAID O
RAID O

Disco O

RAID 1

Disco 1

Disco 2

Disco 3

Figura 68- RAIO 1+0

RAIO 50: um arranjo hbrido que usa as t cnicas de RAIO com paridade
em conjuno com a segmentao de dados. Um arranjo RAI0- 50
essencialmente um arranjo com as informaes segmentadas por meio
de dois ou mais arranjos. 38
RAID O

Disk O
120GB

Disk 1
120GB

Disk 2
120GB

Disk 3
120GB

Disk 4
120GB

Disk 5
120GB

Disk 6
120GB

Disk 7
120GB

Disk 8
120GB

Figura 69- RAIO 50


37

38

Idem.
Disponvel em : <http://pt.wikipedia.org/wiki/RAID>. Acesso em : 8 jun. 201 1.

~~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


RAIO 100: composto do RAIO 10+0. Normalmente, ele implementado utilizando uma
combinao de software e hardware, ou seja, implanta-se o RAIO Ovia software sobre o RAIO 10
via hardware.39
RAIO O

RAIO
O
I

RAIO 1

Oisk O
120GB

Oisk 1
120GB

RAIO 1

Oisk 2
120GB

Oisk 3
120GB

RAIO
O
I

RAIO 1
I

Oisk 4
120GB

Oisk 5
120GB

RAIO 1

Oisk 6
120GB

Oisk 7
120GB

Figura 70- RAIO 100

O controle requerido para implantao de uma configurao RAID pode ser


realizado por software ou hardware. Se a implantao for por hardware,
a capacidade de stripping, o clculo de paridade e da escrita simultnea
em discos so providos pela prpria controladora de disco, portanto, no
necessria nenhuma interveno especial do sistema operacional.
Em um RAID implantado por software, as informaes devem ser fornecidas
pelo prprio sistema operacional. Dessa forma, os dados a serem escritos
so divididos pelo sistema operacional da mquina e as diferentes fatias de
dados so enviadas aos discos um por um. 40

8.7 Relgio
Os temporizadores (timers- relgios} so extremamente necessrios por algumas razes, porm, em
sistemas operacionais, o mais relevante :
Manter o funcionamento de segundos, minutos, horas, data e ano, mesmo que o computador
esteja desligado. Com isso, quando o equipamento estiver ligado e em funcionamento, o relgio
que ir fornecer o tempo real e atual para o ambiente. Portanto, o sistema pode calcular quanto
tempo um processo j est na CPU e, de ciclos em ciclos, quanto ir alternar entre os demais
processos.
39

Idem.

40

Disponvel em: <http://professor.rodrigoscama.eo m.br/textos/SO_EntradaeSa ida.pdf>. Acesso em: 8 jun. 2011.

------------------~~

Unidade IV
Apesar do temporizador no ser um dispositivo de bloco nem um dispositivo de caractere, o software
desse componente pode tomar a forma de um driver de dispositivo.
8.7.1 Hardware do relgio- viso geral

Os computadores tpicos e atuais utilizam um relgio interno que no parecido com os nossos
relgios de pulso ou de mesa. Os relgios dos computadores so formados por trs componentes:
Oscilador de cristal.
Controlador.
Registrador de apoio.
Devido ao processo extremamente preciso da seleo, corte e montagem sob presso de um
fragmento de cristal de quartzo, possvel obter um sinal cclico de alta preciso medido em centenas
de megahertz. Somando a capacidade da eletrnica, podem ser obtidas frequncias de 1.000 MHz ou
supenores.
Osi na I gerado pelo circuito eletrnico descrito anteriormente servi rcomo referncia de sincronizao
para os vrios elementos do computador que necessitem desse tipo de interao.
O sinal gerado alimenta um controlador que ir realizar uma contagem regressiva at zero.
Quando o controlador chega contagem igual a zero, este, por sua vez, ir gerar uma interrupo
na CPU.
A bateria que vem juntamente com a placa-me (bother board) necessria para manter o relgio
funcionando at quando o computador est desligado ou mesmo desconectado da tomada.

Observao
Essa bateria fcil de ser identificada na placa-me. Ela tem o tamanho
aproximado de uma moeda de R$ 0,05 e prximo a ela h um )umper para
reset caso necessrio.
Se o relgio no estiver presente no sistema, ento ser solicitado ao usurio informar a data e a
hora no momento do processo de inicializao da mquina.
Para sistemas em rede, existe outra forma que o uso de um computador remoto de sincronismo de
data e hora. Com isso, todos os equipamentos na rede estaro no mesmo tempo ou, em outras palavras,
estaro sincronizados.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 71 - Bateria insta lada na placa-me

8.7.2 Software do relgio- viso geral

O software do relgio usar o dado de sada fornecido pelo hardware do relgio, que responsvel
por gerar os pulsos em interva los extremamente precisos e, preferencialmente, em repeties infinitas.
Ento preciso fornecer as seguintes entregas:
1. Manter o dia e a hora: a cada tique do relgio haver um incremento do contador.
2. Evitar processo executando por tempo maior que o devido: quando um processo iniciado, o
esca lonador inicia o contador com o valor do tempo (quantum) do processo em tiques de relgio.
Em cada interrupo, o drver do relgio decresce um no contador. Assim que o contador atinge
o valor zero, ento chamado o esca lonamento para selecionar outro processo.
3. Contabilizar o uso da CPU. Geralmente usado um segundo temporizador, diferente do relgio
prin cipa l do sistema, sempre que um processo inicializado. Quando o processo interrompido,
o temporizador pode ser lido para saber por quanto tempo o processo esteve em execuo.
4. Tratar a chamada de sistema alarm feita pelos processos do usurio, ou seja, quando um
determinado processo necessita de que o sistema opera cional lhe d um aviso aps certo
intervalo.
5. Fornecer temporizadores watch-dog. Um exemplo prtico do uso do watch-dog quando uma
unidade de disco flexvel est sendo chamada para uso. No instante zero, o motor da unidade
encontra-se parado. Somente aps o motor estabelecer a rotao adequada que a cabea de
leitura estar pronta para iniciar a procura, bem como o programa do usurio poder executar sua
tarefa. Portanto, o watch-dog que dar ao sistema a referncia de tempo necessria para que o
motor j esteja na rotao adequada para no danificar as partes.

-------------------8-

Unidade IV
6. Perfil de execuo, realizar monitoramentos e coletar estatsticas. Essa fun o permite que o
programa do usurio tenha condies de receber do sistema um histograma do contador de
programa, podendo assim relatar onde est sendo gasto o tempo.
8.7.3 Temporizador por software- viso geral

Geralmente, os computadores possuem um segundo relgio programvel, podendo ser ajustado


para refletir interrupes na taxa que o programa necessitar.
Interrupes e polling so as duas maneiras tpicas de gerenciar entrada e sada. As interrupes
possuem bom tempo de resposta, ou seja, baixa latncia, porm, quando em conjunto com as CPUs
modernas, esse mtodo causa sobrecarga devido necessidade de chaveamentos de contexto.
O polling a alternativa para o gerenciamento de E/S por interrupo. Ele permite que a aplicao
realize o processo diretamente, verificando a ocorrncia do evento esperado em interva los de tempo.
Porm, se o evento ocorrer imediatamente aps a verificao, ento haver atraso por fazer a aplicao
esperar at o prximo polling.
8.8 Teclado, mouse e monitor - viso geral
Nos computadores pessoais, os dispositivos, como teclado, mouse e monitor, so praticamente
indispensveis. Mesmo os equipamentos portteis, quando no munidos de mouse, possuem a opo
do touch screen ou algum outro mtodo que faz a funo similar do mouse.
Para os servidores de rede, nem sempre so disponibilizados teclados, mouse e monitor. Isso acontece at
por uma questo de economia, de espao ou at mesmo por segurana. Em muitas empresas de outsourcing o
data center praticamente uma sala apagada, ou seja, somente mquinas instaladas nos racks. Muitas vezes,
em outro prdio que pode estar a quilmetros de distncia, fica a equipe tcnica que suporta ou executa as
atividades nos servidores. Normalmente, quando acontece um problema mais especfico, o operador do data
center, que fica no prprio local onde esto os servidores, vai at o equipamento danificado com um console
ou ento faz uso do teclado, mouse e monitor. Em alguns casos, instalado juntamente com os servidores um
conjunto com teclado, mouse e monitor embutido que pode ser retrado e guardado de forma a no ocupar
um espao considervel. Esse dispositivo possui cabos e entradas para atender vrios servidores, necessitando
apenas selecionar por chave qual servidor quer obter controle e acesso.

Figura 72- Kit teclado, mouse e monitor para rack padro 19" (1U) fechado (esquerda), aberto (direita).

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


8.8.1 Software do teclado

Entre os dispositivos disponveis para os usurios que serviro de entrada temos o teclado que
possui um circuito impresso e um conjunto de teclas sendo conectado ao computador por meio de
uma porta serial ou USB. Toda vez que pressionado ou liberado, uma interrupo imediatamente
gerada.

Figura 73 - Circuito do teclado

Ocdigo de varredura o nmero composto por 7 bits e que ir compor uma identificao distinta
para cada tecla, sendo necessrio para o driver controlador o oitavo bit para definir se a tecla encontra-se
pressionada (igual a zero) ou solta (igual a um).
Quando uma tecla pressionada, o cdigo da tecla colocado no registrador de E/S. O driver capaz
de determinar se a tecla minscula, maiscula, preced ida de CRTL, ALT ou CTRL-ALT.

Figura 74- Cdigo de varredura - teclado com 106 teclas

Os teclados so definidos conforme norma 1509995.

Saiba mais
Para saber mais a respeito, consulte:
<http ://www-01.ibm.com/softwa re/g loba Iization/topics/keyboards/iso.jsp>.

-------------------~

Unidade IV
Conforme padro POSIX, existem dois modos para driver de teclado: no cannico e cannico.
O "no cannico" baseado em caractere ou sequncia de caractere. Isso implica que, se durante
a digitao o usurio errar e tentar usar a tecla backspace (retrocesso), na realidade, o resultado ser a
palavra ou caractere errado.
O modo "cannico" com base em linha, ou seja, o driver trata toda a edio interna da linha e
entrega somente as linhas corrigidas para os programas do usurio.

8.8.2 Software do mouse


Os modelos de mo use mais antigos possuem internamente dois dispositivos mecnicos com pequenos
orifcios. Conforme Figura 75, fixado em um dos lados de cada roda um emissor de luz e do outro
lado, o receptor. Conforme movimentao do mouse, a esfera de borracha ir por consequncia girar as
rodas perfuradas e, com base nos movimentos e passagem de luz por cada orifcio, sero determinadas
as coordenadas para os eixos "X" e ''Y':
eixo "X"

Figura 75 - Estrutura interna do mouse

Os mouses pticos modernos possuem um processador de imagens que, continuamente, tira fotos
de baixa resoluo da superfcie e as compara em busca de alterao.
Quando detectada a movimentao do mouse, com o boto sendo pressionado ou liberado, uma
informao enviada para o computador. As informaes so compostas por trs itens:
1. Deslocamento do eixo "X':
2. Deslocamento do eixo ''Y':
3. Informao dos botes.
O menor deslocamento de espao detectado por um mouse normalmente de 0,1 mm e faz uma
varredura de 40 vezes por segundo. Alguns programas diferem o comando que esperado pelo usurio,

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


quando pressionado o boto duas vezes seguidas e rapidamente. Vale destacar que com base nos
parmetros de espao e tempo informados previamente, a sensibilidade para detectar o "double click"
fica a cargo do ajuste a ser configurado no programa.
8.8.3 Software de sada

Se comparado com osoftwa rede entrada, osoftwa rede sa ida ma issi mpies, entretanto existem pa rticu la ridades
e varincias que necessitam de nossa ateno. Nesta seo, daremos nfase ao software de interface grfica,
tendo em vista que, para os usurios, o principal dispositivo de sada o monitor do computador.
Em 1984, o MIT (Massachusetts lnstitute of Technology) desenvolveu o projeto Athena, resultando
no sistema X-Window, tambm conhecido como "X". Ele um protocolo de rede que tem como
objetivo conectar diversos terminais a um servidor central, provendo base para GUI (Graphical User
In terface). O "X" composto por dois componentes principais: o software cliente o software host
que podem funcionar em mquinas distintas, ou, nos casos mais atuais, nas mquinas com o sistema
operacional Linux, ambos no mesmo equipamento.

Saiba mais
Para saber mais a respeito do "X" consulte: <http://www.linfo.org/
x.html>.
Na Figura 76 demonstrado o ambiente Gnome (GNU Network Object Model Environment) e na
Figura 77 o ambiente KDE (K Desktop Environment) que so dois dos ambientes grficos disponveis em
sistemas Linux e ambos so executados sobre o ambiente X-Window.

Figura 76 - Ambiente grfico Gnome

-------------------8-

Unidade IV

Saiba mais
Para saber maisa respeito do Gnome consulte o site: http://www.gnome.org/

Figura 77- Ambiente grfico KDE

Saiba mais
Para saber mais a respeito do KDEconsulte o site: http://www.kde.org/
O servidor X o software responsvel por coletar a entrada no teclado e o mouse ento escrever
a sa da na tela e controlar a janela ativa. Os clientes X so os prog ramas em funcionamento, podendo
estar loca lmente na mesma mquina ou remotamente por meio de uma rede.
Em outras palavras, o servidor X fi ca loca liza do na mq uina do usuri o a qual tem por funo
principal exibir bits na tela do terminal. demonstrado na Figura 78 o modelo de quando o servidor e o
cliente X esto em mq uinas distintas e conectadas por uma rede.

r- ---------

I
I

I
I

:--~---- .fr ----~ -- :

,II _______ ___ ..


Mquina remota

Servidor X

I -

:
I
I

----------- --------
Estao do usurio

Figura 78 - Sistema X-Window cliente e servidor

-GD~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Observao
No caso de uma nica mquina com o sistema operacional Linux e
com o ambiente grfico Gnome ou KDE, o cliente simplesmente um
programa que utiliza a biblioteca X e se comunica com o servidor X que
est na mesma mquina. Essa comunicao feita internamente por
meio do protocolo TCP/IP, da mesma forma que na comunio por rede
demonstrada na Figura 78.
Em geral, os computadores pessoais possuem uma interface grfica do usurio (GUI - Graphical
User In terface) que tem quatro elementos essenciais (WIMP}:
1. Windows: janelas, reas retangulares para execu tar problemas.
2.

lcons: cones, pequenos smbolos que possuem alguma ao associada assim que executados.

3. Menus: so listas de aes agrupadas.


4.

Pointing: apontador pode ser um mouse ou outro dispositivo com a finalidade de mover um
cursor na tela.

O software de GUI implementado no Windows como parte inerente do sistema operacional ou por
meio de cd igos no nvel do usurio, como feito nos sistemas Unix.
Geralmente, a entrada de dados para as interfaces grficas so via teclado e mouse e a sada pelo
hardware de adaptador grfico. Os adaptadores grficos possuem uma memria chamada de RAM de
vd eo e tm a fin alidade de armazenar as imagens exibidas na tela. Tipicamente, os adaptadores grficos
de alta resoluo possuem processadores de 32 ou 64 bits e at 4 GB de memria RAM de vd eo. A
memria de vdeo pode ser usada para armazenar outro tipo de dado alm das imagens, como o
caso do Z- buffer, que gerencia coordenao em grficos 3-D, texturas, vertex buffer e a compilao de
programas de sombreamento.
Os adaptadores grficos suportam dimenses distintas de tela. Entre os taman hos mais comuns
encontrados, temos 1.024 x 768, 1.280 x 960, 1.600 x 1.200 e 1.920 x 1.200. Exceto o 1.920 x 1.200, os
demais esto na formatao 4:3, conforme padro NTSC e PAL, e fornecem pixels quadrados. O taman ho
1.920 x 1.200 est alinhado com as telas widescreen.
Se usada a melhor resoluo, somente para conter a imagem, uma placa de vd eo colorida com 24
bits por pixel necessita de 6,5 MB de memria RAM. Sendo a tela completamente restau rada 75 vezes
por seg undo, a RAM de vd eo deve entregar dados continuamente em uma frequncia de 489 MB/s.
Para saber mais a respeito dos softwares de sa da para as GUis indicado estudo usando livros
dedicados ao tema, por exemplo: Petzold, 1999.

-------------------8-

Unidade IV
Um programa para Windows, diferentemente do ambiente Unix, em geral, cria uma ou mais janelas
com um objeto-classe para cada janela. Cada programa possui uma fila de mensagens e um conjunto de
procedimentos tratadores. O comportamento do programa dirigido pelos eventos que so originados
por mouse e teclado e so processados pelos procedimentos tratadores.
O GDI (Graphics Device Interface - Dispositivo de Interface Grfica), um dos trs subsistemas
principais do Microsoft Windows. um padro desse sistema operacional para representar objetos
grficos e transmiti-los para dispositivos de sada. O GDI responsvel por tarefas como desenhar
linhas, curvas e fontes, providenciando todo um API (Application Programming Interface- Interface de
Programao de Aplicaes) especfico para a execuo dessas operaes.
Uma coleo de chamadas de rotinas GDI pode ser concentrada em um arquivo, denominado
meta-arquivo, capaz de descrever um desenho completo. No so todas as imagens manipuladas que
podem ser geradas a partir de grficos vetoriais. As fotografias e os vdeos so exemplos de imagens que
no usam grficos vetoriais.
Imagem vetorial um tipo de imagem gerada a partir de descries geomtricas de formas, diferente
das imagens chamadas de mapa de bits (bitmaps), que so geradas a partir de pontos minsculos
diferenciados por suas cores. Uma imagem vetorial tipicamente composta por elipses, curvas, polgonos,
texto, entre outros elementos, ou seja, utilizam-se vetores matemticos para sua descrio. Em um
trecho de desenho slido, monocromtico, um programa vetorial apenas repete o padro, no tendo
que armazenar dados para cada pixel.
Nas verses mais antigas dos sistemas operacionais da Microsoft, cada caractere era representado
por mapas de bits. Uma vez que podem ser necessrios todos os caracteres de todos os tipos de fontes
e em tamanhos variados, seria necessrio um enorme nmero de mapas de bits para termos todas as
combinaes possveis, o que o tornava um sistema totalmente inadequado para textos.
Os esboos de caracteres ou fontes TrueTypes so definidos por uma sequncia de pontos ao redor de
seu permetro, portanto todos os pontos so relativos origem de coordenada (0,0) o que permite escalar os
caracteres de maneira crescente ou decrescente multiplicando cada coordenada pelo mesmo fator de escala.

8.9 Thin clients- clientes magros


Os clientes magros so mquinas com capacidade limitada, com pouco software instalado localmente
e se comunicando com um computador central por meio do protocolo de rede.
Os conceitos antagnicos de centralizao ou descentralizao so assuntos que vm sendo discutidos
por dcadas. Nos primrdios da computao, o modelo centralizado era muito utilizado. Posteriormente,
o modelo descentralizado passou a tomar corpo e fora e ultimamente h uma tendncia expressiva
para a volta do modelo antigo.
Essa volta, em termos conceituais, exatamente o modelo idealizado no incio da histria da
computao, porm, devido ao fato de termos a internet como a nova varivel no cenrio atual, esse

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


modelo centralizado , na prtica, uma verso muito mais complexa e com possibilidades muito mais
amplas que anteriormente.
No incio da computao, os servidores, denominados computadores de grande porte, possuam
para a poca muitos bytes de memria, bytes de disco e IPis (lnstructions per Second- Instrues por
Segundo), capacidade de processamento e os denominados terminais burros (basicamente dispositivos
de entrada e sada e uma placa de rede). Com o passar dos anos, vimos as estaes de trabalho ficarem
cada vez mais poderosas, com milhes de bytes de espao em disco, milhes de bytes em memria e
processadores que dariam depresso aos primeiros "supercomputadores':
Atualmente, com a internet, notamos usurios que no esto mais dispostos a perderem tempo,
adicionarem riscos de perda de arquivos e armazenarem e-mails no disco duro localmente. Hoje trivial
usarmos os provedores desse servio na hora que desejamos, de forma remota, de onde estivermos e por
meio de qualquer dispositivo com navegador, acessar a internet. Essa filosofia vem se expandindo e no
ir demorar para estarmos trabalhando da mesma forma com os nossos arquivos de texto, apresentaes,
planilhas, vdeos, sons e outros.
Com essa nova onda tendencial, apareceu o thinc, desenvolvido pelos pesquisadores da Universidade
de Columbia.
O thinc tem por princpio tirar todos os programas do equipamento do usurio e us-lo somente
como tela, com toda a computao sendo realizada pelo servidor. O protocolo entre o cliente thinc e o
servidor simplesmente informa tela como atualizar a RAM de vdeo.
Microsoft Windows
Embedded CE 6.0 R2

Sistema operacional instalado

SDRAM DDR2 de 512 MB


128MB
Placa de vdeo integ rado VIAChrome9
HC3 com suporte para monitores de alta
resoluo at 1920 x 1440 ou at 32
bits de profundidade de cor (64MB de
memria de vd eo)
Figura 79 - Thin c/ients - Informao gera l

8. 1O Gerenciamento de energia
Atua lmente, a humanidade consome 300fo a mais dos recursos naturais do que
a capacidade de renovao da Terra. Se no houver mudana nos padres de
consumo e produo, em menos de 50 anosj sero necessrios mais de dois
planetas Terra para suprir nossas necessidades de gua, energia e alimentos.

-------------------8-

Unidade IV
Todo consumo causa impacto (positivo ou negativo) na economia, nas
relaes sociais, na natureza e em cada indivd uo. Ao ter conscincia desses
impactos, o consum idor pode buscar maximizar os impactos positivos
e minimizar os negativos para constru ir um mundo melhor. Consumo
consciente um consumo com conscincia de seu impacto e voltado
sustentabilidade da vida no planeta.

(. .. )
Segundo o professor Luiz Pinguelli Rosa, da ps-g raduao e pesquisa de
engenharia da UFRJ (Universid ade Federal do Rio de Janeiro). as emisses de
gases de efeito estufa mundiais (aqueles que contribuem para o aquecimento
global) cresceram 80%, entre 1970 e 2004, e representavam, em 2004, 77%
das emisses causadas por atividades humanas. Nesse perodo, o maior
crescimento das em isses ficou com o setor de energia, que aumentou 145%.
Apesar disso, seg undo a Agncia Internacional de Energia (IEA), levando em
considerao o ritmo atua l, o consumo energtico do mundo aumentar em
50% at 2030.
Por isso, uma das principais preocupaes do consu midor consciente deve
ser a reduo no gasto de energia. Alm das questes ambientais, ta mbm
existem as questes sociais. Quanto mais energia gastamos, mais energia ter
de ser produzida. A capacidade do Brasil de fornecer eletricidade j est no seu
limite, e novas usinas tero de ser constru das para atender demanda. 41

Conforme Eletrobras (www.eletrobras.com), no setor eltrico a capacidade nominal insta lada em


2008 (milhes de kW) era de 103 milhes de kW distribudos em:
Trmicas (25%).
Hidru licas (73%).
Outros (0,2%).
Energia eltrica disponvel em 2008 : 541 bilhes de kWh.
Consumo nacional de energia eltrica em 2008: 41 8 bilhes de kWh.
Nmero de consumidores: 63,5 milhes.

estimado que, em 2030, o Brasil dever esta r com a capacidade nominal insta lada de 216,6 milhes
de kW (1 56 milhes de kW de hidroeltricas, 39,8 milhes de kW trmicos, destes, 21 ,O milhes a gs
41

Disponvel em: <http://www.hp.com/latam/br/consumoconsciente/energ ia.htm l>. Acesso em: 8 jun. 2011.

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


natural, 6 milhes a carvo, 7,35 milhes a combustvel nuclear, e 5,5 milhes de outros, e, ainda, 30,8
milhes de energia alternativa - PCHs, biomassa e elica).
Atua lmente (dezembro de 2010). somente no Brasil existem cerca de 74 milhes de
computadores pessoais. Agora, imaginando um cenrio hipottico, considere que esses
computadores consumam algo estimado em 500 Watts e fiquem ligados por 5 horas por dia
(mdia).
Para calcular o valor de kWh devemos aplicar a frmula:
potncia real x tempo de uso
1.000
Portanto, cada computador teria o consumo dirio de :

500 Watts x 5 horas = 2 5 kWh


1.000
I

Ecada computador teria o consumo mensal de:

2,5 kWh

30 = 75 kWh

Usando a tarifa (valor do kWh) de outubro de 2010, apl icada pela AESEietropaulo, teramos para
cada computador o equivalente (sem aplicar os tributos- PIS/PASEP e COFINS) a:

75 kWh X 0,29651 = R$ 22,24


Agora, calcu le o valor em reais para os 74 milhes de computadores existentes hoje e ter a ordem
de grandeza em kWh e financeira que representam os computadores ligados. Vale destacar que, na
realidade, muitos desses computadores ficam mais que 5 horas ligados e possuem consumo maior que
500 Watts por hora. Isso devido s diversas necessidades dos usurios e placas e dispositivos conectados,
sem contar que monitores antigos possuem consumo mais elevado que os novos modelos de monitores
com tecnologia LED.
Para o tema relacionado com consumo de energia, o sistema operaciona l pode contribuir desligando
as partes do computador que no estejam em uso. Os aplicativos tambm podem contribuir usando
menos energ1a.
As baterias so divididas em duas categorias, no recarregveis e carregveis. Inicia lmente, as
baterias recarregveis eram feitas de nquel cdmio (NiCd). Em segu ida, vieram as baterias hbridas de
metal nquel (NiMH), sendo mais resistentes e menos poluentes quando descartadas. Atualmente, as
baterias mais modernas so as de on ltio, permitindo que sejam recarregadas mesmo antes de sua
descarga total.

-------------------8-

Unidade IV
Os fabricantes de computadores portteis, principalmente notebooks que demandam mais da bateria,
precisam projetar componentes que possibilitem diversas possibilidades de estado:
Ligado: quando o dispositivo est em uso.
Dormindo: quando o dispositivo no estiver em uso por um perodo curto de tempo.
Hibernando: quando o dispositivo no estiver em uso por um longo perodo de tempo.
Desligado: quando o dispositivo no for mais usado por um perodo indeterminado- nesse estado
no h consumo de energia.
Osistema operacional est pronto para gerenciar as transies dos estados quando os equipamentos
possuem essas funcionalidades: ligado, dormindo, hibernando e desligado.
Se com para rmos isolada mente, o monitor o dispositivo que mais consome energia em um com puta dor.
Portanto, ajustarmos o sistema operacional para desligar o monitor num intervalo de tempo justo de
acordo com cada necessidade de cada usurio, ou aplicabilidade, uma forma de contribuirmos para a
economia de energia. Ao retornar atividade, basta o usurio movimentar o mouse ou pressionar qualquer
tecla. Outra tcnica de melhoramento foi proposta por Flinn e Satyanarayanan (2004}. Eles sugeriram que
o monitor consistisse em zonas que pudessem ser ligadas ou desligadas independentemente. Essa proposta
deixaria a rea que no faz parte da janela em uso escura, com isso, dependendo do ta manha da rea que
no estivesse em uso, iria gerar uma economia substancial de energia.
Em segundo lugar na nossa lista de maiores consumidores de energia em um computador padro
PC tpico, est o disco rgido, devido a sua parte mecnica composta de cilindros e motores, nos quais
devem manter o disco em uma rotao que pode chegar a 15.000 rpm. Principalmente em notebooks,
bastante aplicada para economia de energia a tcnica de colocar o disco para hibernar quando ele
fica sem uso por alguns minutos. Outras tcnicas, como a existncia de memria cache suficiente para
retardar o acionamento do disco que est hibernando ou mensagens avisando aos programas que o
disco est em hibernao, retardando o acesso ao disco para as aes de menor relevncia, tambm so
mecanismos para economia de energia.
Tambm existem mecanismos para controle da CPU. O sistema operacional pode controlar a CPU
para dormir e com isso reduz o consumo de energia desse componente para quase zero. Essa tcnica
pode ser aplicada pelo sistema operacional toda vez que no houver necessidade de uso ou quando a
CPU estiver aguardando pelo dispositivo de E/S.
Para se aprofundar no assunto, quem tiver interesse pode pesquisar outros itens relacionados a
controle de energia associado memria, dispositivos de comunicao sem fio, controle dos ventiladores
internos que resfriam as CPUs, entre outros.
As aplicaes tambm podem contribuir para diminuir o consumo de energia. Em linhas gerais,
podemos imag inar que uma figura com a extenso bmp normalmente bem maior que uma figura

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


no formato jpeg ou gif e, portanto, se na hora que o desenvolvedor estiver preparando sua aplicao,
ele resolver optar pela figura mais "leve", isso ir economizar tempo e espao de uso de recursos e, por
consequncia, reduzir o consumo de energia. Reduzir a qualidade do vdeo, usar um codec de voz com
menos amostragens e outras diversas tcnicas podem ajudar nesse processo .

... Resumo
O sistema de arquivos um exemplo claro de abstrao no mundo da
computao. Pela viso do usurio, o sistema de arquivos um conjunto
de arquivos de sistema, documentos e figuras, todos dispostos em pastas
de acordo com a necessidade do sistema e do usurio. Os usurios leigos no
assunto no imaginam que os sistemas de arquivos possuem caractersticas
intrnsecas de acordo com suas necessidades e plataformas. H at usurios
que tentam ler um arquivo que no compatvel entre sistemas de arquivos
e mesmo assim dizem que existem problemas na mquina ou at mesmo
que o arquivo est corrompido.
Os arquivos possuem caractersticas que permitem que sejam lidos
e escritos (alterados) ; os diretrios podem ser criados e excludos e
tambm podem armazenar outros subdiretrios e arquivos "dentro
deles".
Arquivos contguos, lista encadeada, tabelas de alocao de arquivos
e i-nades so possveis formas de descobrir como o sistema operacional
aloca a memria e monitorar qual bloco vai para qual arquivo.
As estruturas de diretrios podem ser diferentes entre os sistemas. Os
atributos podem ficar nos diretrios ou em outro lugar, como no i-nade. O
espao em disco pode ser gerenciado por listas de espaos livres ou mapas
de bits.
Os sistemas mais modernos possuem mecanismos para melhorar a
confiabilidade. Isso s possvel com tcnicas de cpia incrementais e de
programa que possa reparar sistemas de arqu ivos danificados.
Tcnicas como a incluso de cache de bloco, a leitura antecipada e a
disposio de blocos relacionados prximos uns dos outros melhoram a
performance do sistema de arquivos.
Diversos sistemas de arquivos foram comentados ao longo do material,
porm somente uma pequena parte das opes existentes no mercado.
Entretanto, so os sistemas de arqu ivos que esto na quase totalidade dos
computadores no mundo.

-------------------8-

Unidade IV
O sistema de entrada e sada (E/S) pode ser implantado de trs
mane1ras:
1. E/S programada: a CPU escreve ou l cada palavra ou byte, ento

espera em um lao estreito at que seja obtido ou haja possibilidade


de enviar o prximo dado.
2. E/S por interrupo: a CPU escreve ou l cada palavra ou byte, ento
segue para outra tarefa at que ocorra uma interrupo informando
a concluso da E/S.
3. E/S por DMA: um chip separado da CPU gerencia a transferncia
de um bloco de dados. Somente quando o bloco for totalmente
transferido, ento haver uma interrupo.
Os quatro nveis de uma estrutura de E/S so:
1. Rotinas dos servios de interrupo.

2. Drivers dos dispositivos.


3. Software de E/S independente de dispositivo.
4. Software de E/S do espao do usurio.
Existem vrios tipo de mdias, incluindo as magnticas, pticas e as
tecnologias de RAID.
Estudamos os relgios com o objetivo do entendimento a respeito
do controle do tempo real, da definio exata do tempo de execuo
dos processos, do tratamento de temporizadores e para fins de
contabilidade.
Os terminais so estruturados com base em caracteres pontos, como
as questes referentes aos caracteres especia is. Baseado na necessidade
de controle que cada programa pode exigir so possveis duas formas de
entrada :
1. Entrada em modo natural.
2. Entrada em modo preparado.
Atualmente, quase que a totalidade dos computadores usam GUis como
sa da. Os programas para as interfaces grficas do usurio so baseados

--~-----------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


em eventos que so enviados para serem processados praticamente de
imediato.
Em muitos sistemas em que necessrio pouco ou praticamente nada de
"inteligncia e capacidade de processamento" nas pontas, os equipamentos
denominados "clientes magros" possuem vantagens quando comparados
com os PC tradicionais. Entre outras, o preo por unidade e a simplicidade
dos dispositivos.
Para os equipamentos portteis que esto a cada dia conquistando mais o
mercado de computadores, a bateria ainda um ponto crucial. Os programas
podem contribuir para otimizar tarefas, de tal forma que deem preferncia
longevidade da carga da bateria, porm sacrificando algo. Esse mecanismo
permite que os usurios que estejam em um local desprovido de fonte de
energia externa para recarga da bateria, ou sem bateria extra, tenham pelo
menos mais alguns minutos de carga para continuar sua atividade.

Saiba mais
<http ://www.i nf.ufes.br/ "'zegonc/materia I/Sistemas0fo200peraciona is/
Exercicios/So Iucoes0fo20d e0fo20Exe rei cios_Auto res_V%203. 2. pdf>

Exerccios
Questo 1. A tcnica RAIO (Redundant Arrays of lnexpensive Disk) usada em gerenciamento de
discos para otimizar as operaes de E/S e implementar redundncia e proteo de dados.
(Processo Seletivo Pblico Edital Petrobras I PSP- RH - 1/2005. <pciconcursos.com.br/provas/Petrobras/2>. Analista de Sistemas
Jn ior- Suporte de Infraestrutura. Acesso em 21 de abril de 2011).

A tcnica RAIO 5 consiste em:


A) Distribuir os dados entre os discos do array, implementando redundncia baseada em paridade.
B) Distribuir o espelhamento ou mirroring de todo o contedo do disco principal, em um ou mais
discos denominados espelhos ou secundrios.
C) Distribuir as operaes de E/S entre os discos fsicos, porm um dos discos dedicado (parity disk),
usado para a recuperao dos dados em casos de falha.

-------------------8-

Unidade IV
O) Implementar disk stripping, que distribui as operaes de E/S entre os diversos discos fsicos
contidos no array, sem redundncia.
E) Armazenar informao ECC (Errar Correcting Code). que a informao de controle de erros, no
lugar da paridade.
Resposta correta: alternativa A.
Anlise das alternativas

A) Alternativa correta.
Justificativa: no modelo RAIO 5, os dados so divididos entre os diferentes discos e, para cada strip,
calculada a paridade. A informao de paridade no concentrada em um nico disco, mas sim
distribuda entre os diferentes discos.
B) Alternativa incorreta.
Justificativa: a caracterstica de espelhamento acontece na juno dos modelos RAIO Oe 1.
C) Alternativa incorreta.
Justificativa: o modelo RAIO 5 no utiliza um disco dedicado para recuperao.
O) Alternativa incorreta.
Justificativa: no modelo RAIO 5 existe redundncia baseada em paridade.
E) Alternativa incorreta.
Justificativa: no RAIO 2, so armazenadas informaes ECC (Errar Correcting Code), que so as
informaes de controle de erros, no lugar da paridade.
Questo 2. (Adaptado de ENAOE 2005) O mtodo de alocao de espao de disco utilizado para
armazenamento de informaes em um sistema de arquivos determina o desempenho desse sistema.
Com relao a esse assunto, julgue os itens seg uintes.

I. A alocao contgua um mtodo adequado para sistemas em que inseres e remoes de


arquivos so frequentes.
11. Acesso direto (ou aleatrio): possvel indicar a posio no arquivo onde cada leitura ou escrita

deve acontecer sem a necessidade de um ponteiro. Por isso, caso se conhea previamente a
posio de um determinado dado no arquivo, no preciso percorr-lo sequencialmente at
encontr- lo.

-GD~--------------------------------------

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


- . .. -

.. . ... .. - ... ...

. ... .. . . ... ... - - ...

..

. . . . ... .... .

~ . ..

- .. - ... ... .... ...

- .. - - -

...

- .. ... .. -

. .. . . -. - ... ... - ...

- c

111. Acesso indexado: um mtodo de acesso mais sofisticado, que tem como princpio o acesso
direto, tambm conhecido como acesso indexado ou acesso por chave. A estrutura interna do
arquivo pode ser vista como um conjunto de pares chave/valor que deve possuir uma rea de
ndice onde existam ponteiros para os diversos registros.
Assinale a opo correta.
A) Apenas um item est correto.
B) Apenas os itens I e li esto corretos.
C) Apenas os itens I e 111 esto corretos.
D) Apenas os itens 11 e 111 esto corretos.
E) Os itens I, li e 111 esto corretos.
Resoluo desta questo na Plataforma ~

Hora de exercitar
AvaliativcJO.

Slides da videoaulao

-------------------8-

FIGURAS E ILUSTRAES
Figuras

Figura 1
Figura elaborada pelo autor.
Figura 2
Figura elaborada pelo autor.
Figura 3
Figura elaborada pelo autor.
Figura 4
CHARLES BABBAGE. Dimenses: 400x309 pixels. Tamanho: 38,36KB (39.280 bytes). Formato: Imagem JPEG.
Disponvel em: <http://www.ntut.edu.tw/"'tjhsieh/cs2007f/CharlesBabbage.jpg>. Acesso em: 18 abr. 2011.
Figura 5
[ABC.jpg]. Dimenses: 363x430 pixels (redimensionada para 140x166 pixels). Tamanho: 72,42KB
(74.153 bytes). Formato: Imagem JPEG. Disponvel em:< http://1.bp.blogspot.com/j8YnT36f3Y4/
SuW9VdxgTPI/AAAAAAAACyw/BtGKMjxeuEO/s1600/ABC.jpg>. Acesso em: 18 abr. 2011.
Figura 6
COMUNICACIONES: COMPUTADORA Z3: Dimenses: 320x253 pixels (redimensionada para 317x207
pixels). Tamanho: 28,1 KB (28.771 bytes). Formato: Imagem JPEG. Disponvel em: <http://3.bp.blogspot.
com/_ 1T1 EOLG2Kvg/S8tCDa9wxhi/AAAAAAAAAA4/BOOmJp2dRcw/s320/Z3.jpg>. Acesso em: 18 abr. 2011.
Figura 7
1937-1949. Dimenses: 389x311 pixels (redimensionada para 253x231 pixels). Tamanho: 12,2KB
(12.488 bytes). Formato: Imagem JPEG. Disponvel em: < http://helmutsy.homestead.com/files/
computacion/Historia/Colossus2.jpg>. Acesso em: 18 abr. 2011 .
Figura 8
ARQUITETURA DE COMPUTADORES: MARK I (1944)- AIKEN. Dimenses: 320x214 pixels. Tamanho:
23,32KB (23.880 bytes). Formato: Imagem JPEG. Disponvel em: <http://1.bp.blogspot.com/_
VOD-4RXAphU/ScAWnZIZGvi/AAAAAAAAADo/bfqfTI44flo/s320/Mark+l.gif>. Acesso em : 18 abr. 2011.

--~-----------------

Figura 9
NOTCIAS> PRIMEIRO COMPUTADOR DO MUNDO FAZ 65 ANOS> FACULDADE IDEZ. Dimenses:
1.500x900 pixels. Tamanho: 32,83KB (33.618 bytes). Formato: Imagem JPEG. Disponvel em: <http://
www.faculdadeidez.com.br/site/imgs/bg_body.jpg>. Acesso em: 18 abr. 2011.
Figura 10
TANENBAUM, A. S. Operacionais modernos. 3a Edio. Prentice Hall Brasil, 2010.
Figura 11
IBM1401.JPG. Dimenses: 444x188 pixels (redimensionada para 188x106 pixels). Tamanho: 9,67KB
(9.906 bytes). Formato: Imagem JPEG. Disponvel em: <http://www-03.ibm.com/systems/resources/
servers_eserver_zseries_zvse_i mages_history_ibm 1401.j pg>. Acesso em: 18 abr. 2011.
Figura 12
LELIO ARQUITETURA DE COMPUTADORES: MARO 2009. Dimenses: 320x245 pixels. Tamanho: 23,98KB
(24.553 bytes). Formato: Imagem JPEG. Disponvel em:< http://3.bp.blogspot.com/_9pY601XHkmY/
SbKNhLgSiii/AAAAAAAAABc/bKRkjN9TOzs/s320/7094.jpg>. Acesso em: 18 abr. 2011.
Figura 13
PDP-1. Dimenses: 300x234 pixels (redimensionada para 170x 128 pixels). Tamanho: 7,51KB (7.691
bytes). Formato: Imagem JPEG. Disponvel em: <http://www.gameclassification.com/files/machines/
PDP-1.jpg>. Acesso em: 18 abr. 2011.
Figura 14
Figura elaborada pelo autor.
Figura 15
Figura elaborada pelo autor.
Figura 16
Figura elaborada pelo autor.
Figura 17
LEI DE MOORE- WIKIPDIA, A ENCICLOPDIA LIVRE. Dimenses: 350x245 pixels. Tamanho: 35,08KB
(35.923 bytes). Formato: Imagem PNG. Disponvel em: < http://upload.wikimedia.org/wikipedia/

-------------------8-

commons/thumb/e/e6/Lei_de_moore_2006.svg.png/350px-Lei_de_moore_2006.svg.png>. Acesso em:


18 abr. 2011.
Figura 18
DUAL CORE, PROCESSADOR DUAL CORE. Dimenses: 400x300 pixels. Tamanho: 24,06KB (24.637
bytes). Formato: Imagem JPEG. Disponvel em: <http://www.coders4fun.com/wp-content/
uploads/2007/09/dual-core.jpg>. Acesso em: 18 abr. 2011.
Figura 19
Figura elaborada pelo autor.
Figura 20
Figura adaptada pelo autor de DUAL CORE, PROCESSADOR DUAL CORE. Dimenses: 400x300 pixels.
Tamanho: 24,06KB (24.637 bytes). Formato: Imagem JPEG. Disponvel em: <http://www.coders4fun.
com/wp-content/uploads/2007/09/dual-core.jpg>. Acesso em: 18 abr. 2011.
Figura 21
TIPOS DE MEMRIA RAM. Computer Desktop Encyclopedia, 2007.
Figura 22
LINUX: MEMRIAS. Dimenses: 329x261 pixels. Tamanho: 13,79KB (14.126 bytes). Formato: Imagem JPEG.
Disponvel em:< http://img.vivaolinux.com.br/imagens/artigos/comunidade/rom.png>. Acesso em: 18 abr. 2011.
Figura 23
CLEAR_CMOS.jpg. Dimenses: 425x319 pixels. Tamanho: 70,6KB (72.295 bytes). Formato: Imagem
JPEG. Disponvel em: <http://www.paules-pc-forum.de/infothek/artikel/hardware/bios/CMOS_Ciear/
CLEAR_CMOS.jpg>. Acesso em: 18 abr. 2011.
Figura 24
SEAGATE DISCO RGIDO BARRACUDA 7XT -2 TB -7200 RPM -64MB -SATA 6 (ST32000641AS).
Dimenses: 600x532 pixels (redimensionada para 298x264 pixels). Tamanho: 35,22KB (36.068 bytes).
Formato: Imagem JPEG. Disponvel em: <http:l/pan.fotovista.com/dev/9/3/04025939/1_04025939.
jpg>. Acesso em: 18 abr. 2011.
Figura 25
Figura adaptada pelo autor.

--~-----------------

Figura 26
Figura elaborada pelo autor.
Figura 27
IBM
Figura 28
IBM
Figura 29
SMBOLO USB. Dimenses: 320x320 pixels. Tamanho: 15,77 KB (16.144 bites). Formato: Imagem PNG.
Disponvel em: <http://cu Itu ra rei no.blogspot.com/201 0/11/seita-eva ngel ica-declara-o-usb.htm I
Figura 30
Figura elaborada pelo autor.
Figura 31
Figura elaborada pelo autor.
Figura 32
Figura elaborada pelo autor.
Figura 33
Figura elaborada pelo autor.
Figura 34
Figura elaborada pelo autor.
Figura 35
Figura elaborada pelo autor.
Figura 36

--------------------Figura elaborada pelo autor.

Figura 37
Figura elaborada pelo autor.
Figura 38
Figura elaborada pelo autor.
Figura 39
Figura elaborada pelo autor.
Figura 40
Figura elaborada pelo autor.
Figura 41
Figura elaborada pelo autor.
Figura 42
MAZIERO, C. A. Sistemas operacionais V/-Gerncia de arquivos. Disponvel em: <http://pt.scribd.com/
doc/12385571/Sistemas-Operacionais-Gerencia-de-Arquivos>, p. 21. Acesso em: 18 abr. 2011.
Figura 43
Figura elaborada pelo autor.
Figura 44
Figura elaborada pelo autor.
Figura 45a e 45b
Figura adaptada de TANENBAUM, A. S. Operacionais modernos. 3a Edio. So Paulo: Prentice Hall Brasil, 2010.
Figura 46
Tela de configurao de cota no Windows Vista.
Figura 47
Figura elaborada pelo autor.

--~-----------------

Figura 48
Figura elaborada pelo autor.
Figura 49
Figura elaborada pelo autor.
Figura 50
Figura elaborada pelo autor.
Figura 51
Figura elaborada pelo autor.
Figu ra 52
Figura elaborada pelo autor.
Figura 53
Figura elaborada pelo autor.
Figura 54
Figura elaborada pelo autor.
Figura 55
Figura elaborada pelo autor.
Figura 56
Figu ra elaborada pelo autor.
Figura 57
Figura elaborada pelo autor.
Figura 58
Figura elaborada pelo autor.

------------------~--

Figura 59
Figura elaborada pelo autor.
Figura 60
RAIO O. Dimenses: 325x500 pixels (redimensionada para 65x100 pixels). Tamanho: 20,56KB (21.055
bytes). Formato: Imagem PNG. Disponvel em: <http://www.hirensbootcd.org/images/RAID_O.png>.
Acesso em: 18 abr. 2011.
Figura 61
RAIO 1. Dimenses: 325x500 pixels (redimensionada para 65x100 pixels). Tamanho : 18,18KB (18.613
bytes). Formato: Imagem PNG. Disponvel em: <http://www.h irensbootcd.org/images/RAID_1.png>.
Acesso em: 18 abr. 2011.
Figura 62
RAIO 2. Dimenses: 800x400 pixels (redimensionada para 120x60 pixels). Tamanho: 67,68KB (69.309
bytes). Formato: Imagem PNG. Disponvel em: < http://www.hirensbootcd.org/images/RAID_2.png>.
Acesso em : 18 abr. 2011.
Figura 63
RAIO 3. Dimenses: 675x500 pixels (redimensionada para 135x100 pixels). Tamanho: 26,08KB (26.704
bytes). Formato: Imagem PNG. Disponvel em : <http://www.hirensbootcd.org/images/RAID_3.png>.
Acesso em : 18 abr. 2011.
Figura 64
RAIO 4. Dimenses: 675x500 pixels (redimensionada para 95x70 pixels). Tamanho: 29,88KB (30.596
bytes). Formato: Imagem PNG. Disponvel em: < http://www.hirensbootcd.org/images/RAID_4.png>.
Acesso em : 18 abr. 2011.
Figura 65
RAIO 5. Dimenses: 675x500 pixels (redimensionada para 135x100 pixels). Tamanho: 26,21KB (26.837
bytes). Formato: Imagem PNG. Disponvel em : < http://www.hirensbootcd.org/images/RAID_5.png>.
Acesso em : 18 abr. 2011.
Figura 66
RAIO 6. Dimenses: 800x471 pixels (redimensionada para 136x80 pixels). Tamanho: 65,13KB (66.697
bytes). Formato: Imagem PNG. Disponvel em: < http://www.hirensbootcd.org/images/RAID_6.png>.
Acesso em : 18 abr. 2011 .

--~-----------------

Figura 67
RAID- WIKIPDIA, A ENCICLOPDIA LIVRE. Dimenses: 200x214 pi xe ls. Tamanho: 20,33KB
(20.816 bytes). Formato: Imagem PNG. Disponvel em: <http://upload.wikimedia.org/
wikipedia/commons/thu mb/d/d 1/RAI D_01.png/200px-RAI D_01 .png >. Acesso em: 18 abr.
2011.
Figura 68
LINUX RAID 10 IN ACTION. Dimenses: 500x536 pixels. Tamanho: 54,36KB (55.660 bytes). Formato:
Imagem PNG. Disponvel em: <http://files.cyberciti.biz/uploads/tips/2008/10/raid-10-diagram.png>.
Acesso em: 18 abr. 2011.
Figura 69
PARTITIONING A RAID VOLUME. Dimenses: 1.706x579 pixels (redimensionada para 800x272 pixels).
Tamanho: 236,96KB (242.644 bytes). Formato: Imagem PNG. Disponvel em: <http://upload.wikimedia.
org/wikipedia/commons/9/9d/RAID_50.png>. Acesso em: 18 abr. 2011.
Figura 70
RAID_100. Dimenses: 300x136 pixels. Tamanho: 28,8KB (29.494 bytes). Formato: Imagem PNG.
Disponvel em: <http://infodaiworld.files.wordpress.com/2010/04/raid_100.png?w=300&h= 136>.
Acesso em: 18 abr. 2011.
Figura 71
Figura elaborada pelo autor.
Figura 72
KIT TECLADO, MO USE E MONITOR PARA RACK PADRO 19" (1 U). Disponvel em: http://www.fujitsu.
com/g loba 1/.
Figura 73
Figura adaptada pelo autor.
Figura 74
TECLADO COM 106 TECLAS. Disponvel em: <http ://publib.boulder.ibm. com /infocenter/aix/
v6r 1/i ndex.jsp ?topic=/com.ibm.a ix.keyboa rdtech ref/doc/kybdtech/Key.htm >. Acesso em: 18
abr. 2011 .

---------------------