Você está na página 1de 23

Curso: TCNICO EM INFORMTICA

com Habilitao em Programao e ese!"ol"ime!to #e


$istemas%
INTRO&'(O AO$ $I$TEMA$ OPERACIONAI$
ISO
NOTA E A&)A
*TEORIA+
$A)TO,$P
Nota #e aula
-% Caracteri.ao #e sistemas o/eracio!ais
DEFINIO
Principal software instalado no computador e responsvel pala interao entre o
hardware e os softwares, tambm responsvel pela manipulao de arquivos, sendo as suas
principais operaes de arquivo o armazenamento, a criao, a cpia, a remoo e a
atribuio.
sistema operacional uma camada de software que opera entre o hardware e os
pro!ramas aplicativos voltados ao usurio final. sistema operacional uma estrutura de
software ampla,muitas vezes comple"a, que incorpora aspectos de bai"o n#vel $como drivers
de dispositivos e !er%ncia de memria f#sica& e de alto n#vel $como pro!ramas utilitrios e a
prpria interface !rfica&.
' fi!ura abai"o ilustra a arquitetura !eral de um sistema de computao t#pico. (ela,
podemos observar elementos de hardware, o sistema operacional e al!uns pro!ramas
aplicativos.
-%- Hist0rico
' evoluo dos sistemas operacionais est, em !rande parte, relacionada ao
desenvolvimento de equipamentos cada vez mais velozes, compactos e de custos bai"os e a
necessidade de aproveitamento e controle desses recursos.
(este histrico dividimos essa evoluo em fases, onde destacamos, em cada uma,
suas principais caracter#sticas de hardware, software, interao com o sistema e aspectos de
conectividade.
-%-%- Primeira Fase *-1234-133+ , Primeira 5erao #e
Com/uta#ores
(o in#cio da )e!unda *uerra +undial, sur!iram os primeiros computadores di!itais,
formados por milhares de vlvulas, que ocupavam reas enormes, sendo de funcionamento
lento e duvidoso.
,(-'. $,lectronic (umerical -nte!rator and .omputer& foi o primeiro computador
di!ital de propsito !eral. .riado para a realizao de clculos bal#sticos sua estrutura possu#a
/0 mil vlvulas, /1 mil capacitores, 21 mil resistores e pesava 31 toneladas. 4uando em
operao, consumia cerca de /51 678h e era capaz de realizar cinco mil adies por se!undo.
Para trabalhar nessas mquinas, era necessrio conhecer profundamente o
funcionamento do hardware, pois, a pro!ramao era feita em painis, atravs de fios,
9
utilizando lin!ua!em de mquina. (essa fase, ainda no e"istia o conceito de sistema
operacional.
utros computadores foram constru#dos nessa mesma poca, como o ,:;'.
$,lectronic :iscrete ;ariable 'utomatic .omputer& e o -') $Princeton -nstitute for 'dvanced
)tudies&, mas eram utilizados, praticamente, apenas nas universidades e nos r!os militares.
.om o desenvolvimento da ind<stria de computadores, muitas empresas foram
fundadas ou investiram no setor, como a )perr= e a ->+, o que levou a criao dos primeiros
computadores para aplicaes comerciais. ' primeira mquina fabricada com esse propsito e
bem?sucedida foi o @(-;'. - $@niversal 'utomatic .omputer&, criado especialmente para o
censo americano de /AB1.
-%-%6 $egu!#a Fase *-1374-173+ , $egu!#a 5erao #e
Com/uta#ores
' criao do transistor e das memrias ma!nticas contribui para o enorme avano
dos computadores da poca. transistor permitiu o aumento da velocidade e da
confiabilidade do processamento, e as memrias ma!nticas permitiram o acesso mais rpido
aos dados, maior capacidade de armazenamento e computadores menores.
.om o sur!imento das primeiras lin!ua!ens de pro!ramao, como 'ssembl= e
Cortran, os pro!ramas dei"aram de ser feitos diretamente no hardware, o que facilitou
enormemente o processo de desenvolvimento de pro!ramas.
D no era mais poss#vel conviver com tantos procedimentos manuais como os
anteriores, que no permitiam o uso eficiente do computador e de seus recursos. s primeiros
sistemas operacionais sur!iram, Eustamente, para tentar automatizar as tarefas manuais
Processamento batch
-nicialmente, os pro!ramas passaram a ser perfurados em cartes que submetidos a
uma leitora, eram !ravados em uma fita de entrada. ' fita, ento, era lida pelo computador
que e"ecutava um pro!rama de cada vez, !ravando o resultado do processamento em uma fita
de sa#da. 'o terminar de todos os pro!ramas a fita de sa#da era lida e impressa. ' esse tipo de
processamento, onde um lote $batch& de pro!ramas era submetido ao computador deu?se o
nome de processamento batch.
Pode no parecer um avano, mas anteriormente os pro!ramas eram submetidos pelo
operador, um a um, fazendo com que o processador ficasse ocioso entre a e"ecuo dos
pro!ramas. .om o processamento batch, um !rupo de pro!ramas era submetido de uma s
vez, o que diminu#a o tempo e"istente entre a e"ecuo dos pro!ramas, permitindo, assim,
melhor uso do processador.
3
s sistemas operacionais passaram a ter seu prprio conEunto de rotinas para
operaes de entrada8sa#da $-nput8utput .ontrol )=stemF-.)&, que veio facilitar bastante
o processo de pro!ramao. -.) eliminou a necessidade de os pro!ramadores
desenvolverem suas prprias rotinas de leitura8!ravao espec#ficas para cada dispositivo
perifrico. ,ssa facilidade de comunicao criou o conceito de independ%ncia de dispositivos.
-mportantes avanos em n#vel de hardware foram implementados no final dessa fase,
principalmente na linha 21A5 da ->+. ,ntre eles destacamos o conceito de canal, que veio
permitir a transfer%ncia de dados entre dispositivos de entrada8sa#da e memria principal de
forma independente da @.P. 'inda nessa fase destacamos os sistemas C+) $Cortran +onitor
)=stem& e ->)G).
-%-%8 Terceira Fase *-1774-19:+ , Terceira 5erao #e
Com/uta#ores
'travs dos circuitos inte!rados $.-s& e posteriormente dos microprocessadores foi
poss#vel viabilizar e difundir o uso de sistemas computacionais por empresas, devido a
diminuio de seus custos de aquisio. 'lm disso houve !rande aumento do poder de
processamento e diminuio no tamanho dos equipamentos.
.om base nessa nova tecnolo!ia a ->+ lanou em /AH5 a )rie 3H1. ,sse lanamento
causou uma revoluo na ind<stria de informtica, pois, introduzia uma linha $fam#lia& de
computadores pequena, poderosa e principalmente compat#vel. -sso permitiu que uma
empresa adquirisse um modelo mais simples e barato e conforme suas necessidades, mudasse
para modelos com mais recursos sem comprometer suas aplicaes E e"istentes. Para essa
srie foi desenvolvido o sistema operacional )83H1, que tentava atender todos os tipos de
aplicaes e perifricos. 'pesar de todos os problemas desse equipamento e de seu tamanho
f#sico a )rie 3H1 introduziu novas tcnicas utilizadas ate hoEe.
(a mesma poca, a :,. lanou a linha P:P?0, tambm revolucionria, pois,
apresentava uma linha de computadores de porte pequeno e bai"o custo, se comparada aos
mainframes ate ento comercializados, criando um novo mercado, o de minicomputadores.
' evoluo dos processadores de entrada8sa#da permitiu que enquanto um pro!rama
esperasse por uma operao de leitura8!ravao o processador e"ecutasse um outro pro!rama.
Para tal a memria foi dividida em parties, onde cada pro!rama esperava sua vez para ser
processado. ' essa tcnica de compartilhamento da memria principal e processador deu?se o
nome de multipro!ramao.
.om a substituio das fitas por discos no processo de submisso dos pro!ramas, o
processamento batch tornou?se mais eficiente, pois, permitia a alterao na ordem de
e"ecuo das tarefas, ate ento puramente seqIencial. ' essa tcnica de submisso de
pro!ramas chamou?se spoolin! que mais tarde,tambm viria a ser utilizada no processo de
impresso.
s sistemas operacionais, mesmo implementando o processamento batch e a
multipro!ramao ainda estavam limitados aos processamentos que no e"i!iam comunicao
com o usurio. Para permitir a interao rpida entre o usurio e o computador, foram
adicionados terminais de v#deo e teclado $interao on?line&.
' multipro!ramao evoluiu preocupada em oferecer aos usurios tempos de respostas
razoveis e uma interface cada vez mais ami!vel. Para tal, cada pro!rama na memria
utilizaria o processador em pequenos intervalos de tempo. ' esse sistema de diviso de tempo
do processador chamou?se time?sharin! $tempo compartilhado&.
utro fato importante nessa fase foi o sur!imento do sistema operacional @ni" $/AHA&.
.oncebido inicialmente em um minicomputador P:P?2, baseado no sistema +@JK-.)
$+ultiple"ed -nformation and .omputin! )ervice&, o @ni" foi depois rescrito em uma
lin!ua!em de alto n#vel $lin!ua!em .&, tornando?se conhecido por sua portabilidade.
(o final dessa fase, com a evoluo dos microprocessadores, sur!iram os primeiros
microcomputadores, muito mais baratos que qualquer um dos computadores ate ento
5
comercializados. ,ntre eles, destacamos os micros de 0 bits da 'pple e o sistema operacional
.P8+ $.ontrol Pro!ram +onitor&.
-%-%2 ;uarta Fase *-19-4-11:+ , ;uarta 5erao #e Com/uta#ores
' inte!rao em lar!a escala $Jar!e )cale -nte!ration?J)-& e a inte!rao em muito
lar!a escala $;er= Jar!e )cale -nte!ration?;J)-& levaram adiante o proEeto de miniaturizao
e barateamento dos equipamentos. s mini e superminicomputadores se firmaram no mercado
e os microcomputadores !anharam um !rande impulso.
(esse quadro sur!iram os microcomputadores P. $Personal .omputer& de /H bits da
->+ e o sistema operacional :) $:isL peration )=stem&, criando a filosofia dos
computadores pessoais. (a rea dos minis e superminicomputadores !anharam impulso os
sistemas multiusurio, com destaque para os sistemas compat#veis com o @ni" $@ni"?liLe& e o
;+) $;irtual +emor= )=stem& da :,.. )ur!em as estaes de trabalho $worLstations& que
apesar de monousurias permitem que se e"ecutem diversas tarefas concorrentemente,
criando o conceito de multitarefa.
(o final dos anos 01, os computadores tiveram um !rande avano, decorrente de
aplicaes que e"i!iam um enorme volume de clculos. Para acelerar o processamento, foram
adicionados outros processadores, e"i!indo dos sistemas operacionais novos mecanismos de
controle e sincronismo. .om o multiprocessamento, foi poss#vel a e"ecuo de mais de um
pro!rama simultaneamente ou ate de um mesmo pro!rama por mais de um processador. 'lm
de equipamentos com m<ltiplos processadores foram introduzidos processadores vetoriais e
tcnicas de paralelismo em diferentes n#veis, fazendo com que os computadores se tornassem
ainda mais poderosos.
's redes distribu#das $7ide 'rea (etworL? 7'(s& se difundiram por todo o mundo,
permitindo o acesso a outros sistemas de computao independentemente de estado, de pa#s e,
at mesmo de fabricante. (esse conte"to so desenvolvidos in<meros protocolos de rede,
al!uns proprietrios, como o :,.net da :,. e o )(' $)=stem (etworL 'rchitecture& da
->+ e outros de dom#nio p<blico, como o K.P8-P e o ..-KK M.9B. )ur!em as primeiras
redes locais $Jocal 'rea (etworLFJ'(s& interli!ando pequenas reas. s softwares de rede
passaram a estar intimamente relacionados ao sistema operacional e sur!em os sistemas
operacionais de rede.
-%-%3 ;ui!ta Fase *-11-4 +
*randes avanos em termos de hardware, software e telecomunicaes podem ser
esperados at o final deste sculo. ,ssas mudanas so conseqI%ncia da evoluo das
aplicaes que necessitam cada vez mais de capacidade de processamento e armazenamento
de dados. )istemas especialistas, sistemas multim#dia, banco de dados distribu#dos,
inteli!%ncia artificial e redes neurais so apenas al!uns e"emplos da necessidade cada vez
maior.
' evoluo da microeletrNnica permite o desenvolvimento de processadores e
memrias cada vez mais velozes e baratos alm de dispositivos menores, mais rpidos e com
maior capacidade de armazenamento. s componentes baseados em tecnolo!ia ;J)- $;er=
Jar!e )cale -nte!ration& evolu#ram rapidamente para o @J)- $@ltra Jar!e )cale -nte!ration&.
s computadores da pr"ima !erao t%m de ser muito mais eficientes que os atuais,
para atender o volume cada vez maior de processamento. Para isso est ocorrendo uma
mudana radical na filosofia de proEeto de computadores. 'rquiteturas paralelas baseadas em
or!anizaes de multiprocessadores no convencionais E se encontram em desenvolvimento
em varias universidades e centros de pesquisa do mundo.
' evoluo do hardware encadear modificaes profundas nas disciplinas de
pro!ramao para fazer melhor uso das arquiteturas paralelas. 'ssim novas lin!ua!ens e
metodolo!ias de pro!ramao concorrentes esto sendo desenvolvidas, em particular, fazendo
uso e"tensivo de inteli!%ncia artificial e .': $.omputer?'ided :esi!n&.
B
conceito de processamento distribu#do ser e"plorado nos sistemas operacionais de
forma que suas funes esteEam espalhadas por vrios processadores atravs de redes de
computadores. -sso s ser poss#vel devido a reduo dos custos de comunicao e ao
aumento na ta"a de transmisso de dados.
' arquitetura cliente?servidor aplicada basicamente a redes locais passe a ser oferecida
em redes distribu#das permitindo que qualquer pessoa tenha acesso a todo tipo de informao
independentemente de onde esteEa armazenada. Problemas de se!urana, !er%ncia e
desempenho tornam?se fatores importantes relacionados ao sistema operacional e a rede.
' dcada de A1 foi definitiva para a consolidao dos sistemas operacionais baseados
em interfaces !rficas. (ovas interfaces homem?mquina esto sendo utilizadas, como
lin!ua!ens naturais, sons e ima!ens, fazendo essa comunicao mais inteli!ente, simples e
eficiente.
s conceitos e implementaes s vistos em sistemas considerados de !rande porte
esto sendo introduzidos na maioria dos sistemas desLtop, como na fam#lia 7indows da
+icrosoft, no @ni" e no )89 da ->+.
Fase Primeira
(1945-1955)
Segn!a
(195"-19"5)
#erceira
(19""-19$%)
&arta
(19$1-199%)
&inta
(1991- )
'om(ta!ores
,(-'.
,:;'.
@(-;'6
(.O
-+> 21A5
.:.?HH11
->+ 3H1, 321
P:P?//
.ra= /
.=ber?91B
.ra= M+P
->+ 310
;'M?//
->+?P.
->+ 31A1
'lpha 'MP
Pentium
)un )P'O.
)ar!*are
;lvulas
Kambor +a!ntico
Kubos de raios
catdicos
Kransistor
+emria +a!ntica
.ircuito -nte!rado
:isco +a!ntico
+inicomputador
+icroprocessador
J)- ou ;J)-
:isco ptico
+icrocomputador
@ltra?J)-
'rquiteturas
Paralelas
.ircuito -nte!rado 3?
:
So+t*are
Jin!ua!em de
+quina
Jin!ua!em assembl=
Jin!ua!em de 'lto
(#vel
Processamento
>atch
Jin!ua!em
,struturadas
+ultipro!ramao
Kime?)harin!
.omputao *rfica
+ultiprocessamento
)istemas
,specialistas
Jin!ua!ens
orientadas a obEetos
Processamento
:istribu#do
Jin!ua!ens
concorrentes
Pro!ramao
funcional
Jin!ua!ens naturais
#e,ecomnica-.es
Kelefone
Keletipo
Kransmisso :i!ital .omunicao via
satlite
+icroondas
Oedes
distribu#das$7'(&
Cibra ptica
Oedes Jocais $J'(&
-nternet
Oedes Jocais
estendidas$,J'(&
Oedes sem fio
+odelo cliente?
servidor
Desem(enho
/1 ips 911.111 ips B +ips 31 +ips / *flops
/ Kflops
-%6 Abstrao #e recursos
'cessar os recursos de hardware de um sistema de computao pode ser uma tarefa
comple"a, devido Ps caracter#sticas espec#ficas de cada dispositivo f#sico e a comple"idade de
suas interfaces. Por e"emplo, a seqI%ncia a se!uir apresenta os principais passos envolvidos
na abertura de um arquivo $operao open& em um leitor de disqueteQ
/
o
. verificar se os parRmetros informados esto corretos $nome do arquivo,
identificador do leitor de disquete, buffer de leitura, etc&S
9
o
. verificar se o leitor de disquetes est dispon#velS
3
o
. verificar se o leitor contm um disqueteS
5
o
. li!ar o motor do leitor e a!uardar atin!ir a velocidade de rotao corretaS
B
o
. posicionar a cabea de leitura sobre a trilha onde est a tabela de diretrioS
H
o
. ler a tabela de diretrio e localizar endereo do arquivo ou subdiretrio deseEadoS
2
o
. mover a cabea de leitura para a posio do bloco inicial do arquivoS
0
o
. ler o bloco do arquivo e deposit?lo em um buffer de memria.
'ssim o sistema operacional deve definir interfaces abstratas para os recursos do
hardware visando atender os se!uintes obEetivosQ
H
Prover interfaces de acesso aos dispositivos mais simples de usar que as interface de
bai"o n#vel para simplificar a construo de pro!ramas aplicativos. Por e"emploQ para ler
dados de um disco r#!ido, uma aplicao usa um conceito chamado arquivo, que implementa
uma viso abstrata do disco r#!ido, acess#vel atravs de operaes como open e read. .aso
tivesse de acessar o disco diretamente, teria de manipular portas de entrada8sa#da e
re!istradores com comandos para o controlador de disco $sem falar na dificuldade de localizar
os dados deseEados dentro do disco&.
'o tornar os aplicativos independentes do hardware definindo uma interface abstrata
de acesso a um dispositivo de hardware o sistema operacional desacopla o hardware dos
aplicativos e permite que ambos evoluam de forma mais autNnoma. Por e"emplo, o cdi!o de
um editor de te"tos no deve ser dependente da tecnolo!ia de discos r#!idos utilizada no
sistema.
:efinir interfaces de acesso homo!%neas para dispositivos com tecnolo!ias distintas.
'travs de suas abstraes, o sistema operacional permite aos aplicativos usar a mesma
interface para dispositivos diversos. Por e"emplo, um aplicativo acessa dados em disco
atravs de arquivos e diretrios sem precisar se preocupar com a estrutura real de
armazenamento dos dados que podem estar em um disquete, em um disco -:,, em uma
mquina foto!rfica di!ital conectada P porta @)>, em um .: ou mesmo num disco remoto
compartilhado atravs da rede.
-%8 5er<!cia #e recursos
s pro!ramas aplicativos usam o hardware para atin!ir seus obEetivosQ ler e armazenar
dados, editar e imprimir documentos, nave!ar na -nternet, tocar m<sica e etc. ,m um sistema
com vrias atividades simultRneas podem sur!ir conflitos no uso do hardware quando dois ou
mais aplicativos precisam dos mesmos recursos. .abe ao sistema operacional definir pol#ticas
para !erenciar o uso dos recursos de hardware pelos aplicativos e resolver eventuais disputas
e conflitos. ;eEamos uma situao onde a !er%ncia de recursos do hardware se faz necessriaQ
.ada computador possui normalmente um s processador. uso desse processador
deve ser distribu#do entre os aplicativos presentes no sistema de forma que cada um deles
possa e"ecutar na velocidade adequada para cumprir suas funes sem preEudicar os outros.
mesmo ocorre com a memria O'+, que deve ser distribu#da de forma Eusta entre as
aplicaes.
'ssim um sistema operacional visa abstrair o acesso e !erenciar os recursos de
hardware provendo aos aplicativos um ambiente de e"ecuo abstrato no qual o acesso aos
recursos se faz atravs de interfaces simples, independentes das caracter#sticas e detalhes de
bai"o n#vel e quais os conflitos no uso do hardware so minimizados.
6% Ti/os #e sistemas o/eracio!ais
s sistemas operacionais podem ser classificados se!undo diversos parRmetros e
perspectivas, como tamanho, velocidade, suporte a recursos espec#ficos, acesso P rede, etc. '
se!uir so apresentados al!uns tipos de sistemas operacionais usuais $muitos sistemas
operacionais se encai"am bem em mais de uma das cate!orias apresentadas&.
6%- =atc> *#e lote+
s sistemas operacionais mais anti!os trabalhavam Tpor loteU, ou seEa, todos os
pro!ramas a e"ecutar eram colocados em uma fila, com seus dados e demais informaes para
a e"ecuo. processador recebia um pro!rama aps o outro, processando?os em seqI%ncia,
o que permitia um alto !rau de utilizao do sistema. 'inda hoEe o termo Tem loteU usado
2
para desi!nar um conEunto de comandos que deve ser e"ecutado em seqI%ncia, sem
interfer%ncia do usurio.
,"emplos desses sistemas incluem o )83H1 e ;+), entre outros.
6%6 e re#e
@m sistema operacional de rede deve possuir suporte P operao em rede, ou seEa, a
capacidade de oferecer Ps aplicaes locais recursos que esteEam localizados em outros
computadores da rede, como arquivos e impressoras. ,le tambm deve disponibilizar seus
recursos locais aos demais computadores, de forma controlada.
' maioria dos sistemas operacionais atuais oferece esse tipo de funcionalidade.
6%8 istribu?#o
,m um sistema operacional distribu#do, os recursos de cada mquina esto dispon#veis
!lobalmente, de forma transparente aos usurios. 'o lanar uma aplicao, o usurio intera!e
com sua Eanela, mas no sabe onde ela est e"ecutando ou armazenando seus arquivosQ o
sistema quem decide, de forma transparente. s sistemas operacionais distribu#dos E
e"istem h tempos $'moeba e .louds, por e"emplo&, mas ainda no so uma realidade de
mercado.
6%2 Multi4usu@rio
@m sistema operacional multi?usurio deve suportar a identificao do TdonoU de cada
recurso dentro do sistema $arquivos, processos, reas de memria, cone"es de rede& e impor
re!ras de controle de acesso para impedir o uso desses recursos por usurios no autorizados.
,ssa funcionalidade fundamental para a se!urana dos sistemas operacionais de rede e
distribu#dos. *rande parte dos sistemas atuais so multi?usurios.
6%3 esAto/
@m sistema operacional Tde mesaU voltado ao atendimento do usurio domstico e
corporativo para a realizao de atividades corriqueiras, como edio de te"tos e !rficos,
nave!ao na -nternet e reproduo de m#dias simples. )ua principais caracter#sticas so a
interface !rfica, o suporte P interatividade e a operao em rede. ,"emplos de sistemas
desLtop so o 7indows MP, +ac) M e Jinu".
6%7 $er"i#or
@m sistema operacional servidor deve permitir a !esto eficiente de !randes
quantidades de recursos $disco, memria, processadores&, impondo prioridades e limites sobre
o uso dos recursos pelos usurios e seus aplicativos. (ormalmente um sistema operacional
servidor tambm tem suporte a rede e multi?usurios.
6%B Embuti#o
@m sistema operacional dito embutido $embedded& quando constru#do para operar
sobre um hardware com poucos recursos de processamento, armazenamento e ener!ia.
'plicaes t#picas desse tipo de sistema aparecem em telefones celulares, controladores
industriais e automotivos, equipamentos eletrNnicos de uso domstico $leitores de :;:, K;s,
fornos micro?ondas, centrais de alarme, etc.&. +uitas vezes um sistema operacional embutido
0
se apresenta na forma de uma biblioteca a ser li!ada ao pro!rama da aplicao $que fi"a&.
,"emplos de sistemas operacionais embutidos so o V.8), M=lin", J=n") e ;"7orLs.
6%9 Tem/o real
'o contrrio da concepo usual, um sistema operacional de tempo real no precisa
ser necessariamente ultra?rpidoS sua caracter#stica essencial ter um comportamento
temporal previs#vel $ou seEa, seu tempo de resposta deve ser conhecido no melhor e pior caso
de operao&. ' estrutura interna de um sistema operacional de tempo real deve ser constru#da
de forma a minimizar esperas e lat%ncias imprevis#veis, como tempos de acesso a disco e
sincronizaes e"cessivas.
,"istem duas classificaes de sistemas de tempo realQ soft real?time s=stems, nos
quais a perda de prazos implica na de!radao do servio prestado. @m e"emplo seria o
suporte P !ravao de .:s ou P reproduo de m<sicas. .aso o sistema se atrase, pode
ocorrer a perda da m#dia em !ravao ou falhas na m<sica que est sendo tocada. Por outro
lado, nos hard real?time s=stems a perda de prazos pelo sistema pode perturbar o obEeto
controlado, com !raves conseqI%ncias humanas, econNmicas ou ambientais. ,"emplos desse
tipo de sistema seriam o controle de funcionamento de uma turbina de avio a Eato ou de uma
caldeira industrial.
,"emplos de sistemas de tempo real incluemo4(M, OK?Jinu" e ;"7orLs. +uitos
sistemas embutidos t%m caracter#sticas de tempo real, e vice?versa.
8 ArCuiteturas #e $istemas O/eracio!ais
,mbora a definio de n#veis de privil!io imponha uma estruturao m#nima a um
sistema operacional, as m<ltiplas partes que compem o sistema podem ser or!anizadas de
diversas formas, separando suas funcionalidades e modularizando seu proEeto. (esta seo
sero apresentadas as arquiteturas mais populares para a or!anizao de sistemas
operacionais.
Ooteiro t#pico de uma chamada de sistema
8%- $istemas mo!ol?ticos
,m um sistema monol#tico, todos os componentes do n<cleo operam em modo n<cleo
e se inter?relacionam conforme suas necessidades, sem restries de acesso entre si, pois o
A
cdi!o no n#vel n<cleo tem acesso pleno a todos os recursos e reas de memria.
@ma arquitetura monol#tica
' !rande vanta!em dessa arquitetura seu desempenhoQ qualquer componente do
n<cleo pode acessar os demais componentes, toda a memria ou mesmo dispositivos
perifricos diretamente, pois no h barreiras impedindo esse acesso. ' interao direta entre
componentes tambm leva a sistemas mais compactos.
Kodavia, a arquitetura monol#tica pode pa!ar um preo elevado por seu desempenhoQ a
robustez e a facilidade de desenvolvimento. .aso um componente do n<cleo perca o controle
devido a al!um erro, esse problema pode se alastrar rapidamente por todo o n<cleo, levando o
sistema ao colapso $travamento, reinicializao ou funcionamento errado&. 'lm disso, a
manuteno e evoluo do n<cleo se tornam mais comple"as, porque as depend%ncias e
pontos de interao entre os componentes podem no ser evidentesQ pequenas alteraes na
estrutura de dados de um componente podem ter um impacto inesperado em outros
componentes, caso estes acessem aquela estrutura diretamente.
' arquitetura monol#tica foi a primeira forma de or!anizar os sistemas operacionaisS
sistemas @(-M anti!os e o+)?:) se!uiam esse modelo. 'tualmente, apenas sistemas
operacionais embutidos usam essa arquitetura, devido Ps limitaes do hardware sobre o qual
e"ecutam.
n<cleo do Jinu" nasceu monol#tico, mas vem sendo paulatinamente estruturado e
modularizado desde a verso 9.1 $embora boa parte de seu cdi!o ainda permanea no n#vel
de n<cleo&.
8%6 $istemas em cama#as
@ma forma mais ele!ante de estruturar um sistema operacional faz uso da noo de
camadasQ a camada mais bai"a realiza a interface como hardware, enquanto as camadas
intermedirias prov%em n#veis de abstrao e !er%ncia cada vez mais sofisticados. Por fim, a
camada superior define a interface do n<cleo para as aplicaes $as chamadas de sistema&.
,ssa aborda!em de estruturao de software fez muito sucesso no dom#nio das redes de
computadores, atravs do modelo de refer%ncia )- $pen )=stems -nterconnection&, e
tambm seria de se esperar sua adoo no dom#nio dos sistemas operacionais. (o entanto,
al!uns inconvenientes limitam sua aceitao nesse conte"toQ
W empilhamento de vrias camadas de software faz com que cada pedido de uma
aplicao demore mais tempo para che!ar at o dispositivo perifrico ou recurso a ser
acessado, preEudicando o desempenho do sistema.
/1
W (o bvio como dividir as funcionalidades de um n<cleo de sistema operacional
em camadas horizontais de abstrao crescente, pois essas funcionalidades so inter?
dependentes, embora tratem muitas vezes de recursos distintos.
,m decorr%ncia desses inconvenientes, a estruturao em camadas apenas
parcialmente adotada hoEe em dia. +uitos sistemas implementam uma camada inferior de
abstrao do hardware para intera!ir com os dispositivos $a camada X'J Y Xardware
'bstraction Ja=er, implementada no 7indows (K e seus sucessores&, e tambm or!anizam
em camadas al!uns sub?sistemas como a !er%ncia de arquivos e o suporte de rede $se!uindo
omodelo )-&. .omo e"emplos de sistemas fortemente estruturados em camadas podem ser
citados o ->+ )89 e o +@JK-.).
8%8 $istemas micro4!Dcleo
@ma outra possibilidade de estruturao consiste em retirar do n<cleo todo o cdi!o
de alto n#vel $normalmente associado Ps pol#ticas de !er%ncia de recursos&, dei"ando no
n<cleo somente o cdi!o de bai"o n#vel necessrio para intera!ir como hardware e criar as
abstraes fundamentais $como a noo de atividade&. Por e"emplo, usando essa aborda!em o
cdi!o de acesso aos blocos de um disco r#!ido seria mantido no n<cleo, enquanto as
abstraes de arquivo e diretrio seriam criadas e mantidas por um cdi!o fora do n<cleo,
e"ecutando da mesma forma que uma aplicao do usurio.
Por fazer os n<cleos de sistema ficarem menores, essa aborda!em foi denominada
micro?n<cleo $ou V?Lernel&. @m micro?n<cleo normalmente implementa somente a noo de
atividade, de espaos de memria prote!idos e de comunicao entre atividades.
Kodos os aspectos de alto n#vel, como pol#ticas de uso do processador e da memria, o
sistema de arquivos e o controle de acesso aos recursos so implementados fora do n<cleo, em
processos que se comunicam usando as primitivas do n<cleo.
;iso !eral de uma arquitetura micro?n<cleo
,m um sistema micro?n<cleo, as interaes entre componentes e aplicaes so feitas atravs
de trocas de mensa!ens. 'ssim, se uma aplicao deseEa abrir um arquivo no disco r#!ido,
envia uma mensa!em para o !erente de arquivos que, por sua vez, se comunica com o !erente
de dispositivos para obter os blocos de dados relativos ao arquivo deseEado. s processos no
podem se comunicar diretamente, devido Ps restries impostas pelos mecanismos de
proteo do hardware. Por isso, todas as mensa!ens so transmitidas atravs de servios do
micro?n<cleo. .omo os processos t%m de solicitar TserviosU uns dos outros, para poder
realizar suas tarefas, essa aborda!em tambm foi denominada cliente?servidor.
micro?n<cleos foram muito investi!ados durante os anos 01. :ois e"emplos
clssicos dessa aborda!em so os sistemas +ach e .horus. 's principais vanta!ens dos
sistemas micro?n<cleo so sua robustez e fle"ibilidadeQ caso um sub?sistema tenha problemas,
//
os mecanismos de proteo de memria e n#veis de privil!io iro confin?lo, impedindo que
a instabilidade se alastre ao restante do sistema. 'lm disso, poss#vel customizar o sistema
operacional, iniciando somente os componentes necessrios ou escolhendo os componentes
mais adequados Ps aplicaes que sero e"ecutadas.
;rios sistemas operacionais atuais adotam parcialmente essa estruturaoS por
e"emplo, o +aos M da 'pple tem suas ra#zes no sistema +ach, ocorrendo o mesmo com o
:i!ital @(-M. Kodavia, o custo associado Ps trocas de mensa!ens entre componentes pode ser
bastante elevado, o que preEudica seu desempenho e diminui a aceitao desta aborda!em.
4(M um dos poucos e"emplos de micro?n<cleo amplamente utilizado, sobretudo em
sistemas embutidos e de tempo?real.
8%2 M@Cui!as "irtuais
,m um computador real uma camada de software de bai"o n#vel $por e"emplo, a
>-) dos sistemas P.& fornece acesso aos vrios recursos do hardware para o sistema
operacional que os disponibiliza de forma abstrata Ps aplicaes. 4uando o sistema
operacional acessa os dispositivos de hardware ele faz uso dos drivers respectivos que
intera!em diretamente com a memria e os dispositivos da mquina.
Por outro lado um emulador implementa todas as instrues realizadas pela mquina
real em um ambiente abstrato, possibilitando e"ecutar um aplicativo de uma plataforma em
outra, por e"emplo, um aplicativo do 7indows e"ecutando no Jinu". -nfelizmente, um
emulador perde muito em efici%ncia ao traduzir as instrues de uma mquina real.
'lm disso emuladores so bastante comple"os, pois, !eralmente necessitam simular a
quase totalidade das instrues do processador e demais caracter#sticas do hardware que os
circundam.
@ma mquina virtual definida como Tuma duplicata eficiente e isolada de uma
mquina realU. ' funcionalidade e o n#vel de abstrao de uma mquina virtual se encontra
entre uma mquina real e um emulador, na medida em que abstrai somente os recursos de
hardware e de controle usados pelas aplicaes. @ma mquina virtual um ambiente criado
por um monitor de mquinas virtuais, tambm denominado Tsistema operacional para
sistemas operacionaisU. monitor pode criar uma ou mais mquinas virtuais sobre uma <nica
mquina real. ,nquanto um emulador fornece uma camada de abstrao completa entre o
sistema em e"ecuo e o hardware, um monitor abstrai o hardware subEacente e controla uma
ou mais mquinas virtuais. .ada mquina virtual fornece facilidades para uma aplicao ou
um Tsistema convidadoU que acredita estar e"ecutando sobre um ambiente normal com acesso
f#sico ao hardware.
,"istem basicamente duas aborda!ens para a construo de sistemas de mquinas
virtuaisQ o tipo -, onde o monitor de mquinas virtuais implementado entre o hardware e os
sistemas convidados, e o tipo --, onde o monitor implementado como um processo de um
sistema operacional real subEacente, denominado sistema anfitrio ou sistema hospedeiro.
'mbas as aborda!ens esto ilustradas na fi!ura abai"o, .omo e"emplos de sistemas de tipo -
podem ser citados o ;+ 7are ,)M )erver e o MenS para o tipo -- podem ser citados o ;+
7are 7orLstation, o +) ;irtual P. e o @ser?+ode Jinu".
/9
+quinas virtuais de tipo - $esquerda& e de tipo -- $direita&
.omo o sistema operacional convidado e o ambiente de e"ecuo na mquina virtual
so id%nticos ao da mquina real, poss#vel usar os softwares E constru#dos para a mquina
real dentro das mquinas virtuais. ,ssa transpar%ncia evita ter de construir novas aplicaes
ou adaptar as E e"istentes.
's mquinas virtuais t%m recebido bastante destaque nos <ltimos anos, sobretudo
devido ao !rande sucesso de lin!ua!ens independentes de plataforma como Dava. Kodavia, a
mquina virtual Dava $D;+ Y Dava ;irtual +achine& deve ser considerada basicamente um
emulador, na medida em que cria um ambiente de e"ecuo abstrato para aplicaes Dava.
Pro!ramas em lin!ua!em Dava so compilados em b=tecodes, que so basicamente cdi!o de
mquina para um processador abstrato. 'ssim, a D;+ somente e"ecuta aplicaes constru#das
especificamente para essa mquina hipottica. utros emuladores populares so o 4,mu e o
>ochs.
'l!umas vanta!ens so apresentadas para a utilizao de mquinas virtuais em
sistemas de computaoQ
W 'perfeioamento e testes de novos sistemas operacionaisS
W ,nsino prtico de sistemas operacionais e pro!ramao de bai"o n#velS
W ,"ecutar diferentes sistemas operacionais sobre o mesmo hardware,
simultaneamenteS
W )imular confi!uraes e situaes diferentes do mundo real, como por e"emplo, mais
memria dispon#vel, outros dispositivos de ,8)S
W )imular alteraes e falhas no hardware para testes ou reconfi!urao de um sistema
operacional, provendo confiabilidade e escalabilidade para as aplicaesS
W *arantir a portabilidade das aplicaes le!adas $que e"ecutariam sobre uma ;+
simulando o sistema operacional ori!inal&S
W :esenvolvimento de novas aplicaes para diversas plataformas, !arantindo a
portabilidade destas aplicaesS
W :iminuir custos com hardware.
' principal desvanta!emd o uso de mquinas virtuais o custo adicional de e"ecuo
dos processos na mquina virtual em comparao com a mquina real. ,sse custo muito
varivel, podendo passar de B1Z em plataformas sem suporte de hardware P virtualizao,
como os P.s de plataforma -ntel mais anti!os. Kodavia, pesquisas recentes t%m obtido a
reduo desse custo a patamares abai"o de 91Z, !raas sobretudo a aEustes no cdi!o do
sistema hospedeiro. ,sse problema no e"iste em ambientes cuEo hardware oferece suporte P
virtualizao, como o caso dos mainframes e dos processadores -ntel8'+: mais recentes.
/3
2% 5ere!ciame!to #e Mem0ria
Kem como obEetivo fornecer a cada aplicao uma rea de memria prpria,
independente e isolada das demais aplicaes e inclusive do n<cleo do sistema. isolamento
das reas de memria das aplicaes melhora a estabilidade e se!urana do sistema como um
todo, pois impede aplicaes com erros $ou aplicaes maliciosas& de interferir no
funcionamento das demais aplicaes. 'lm disso, caso a memria O'+ e"istente seEa
insuficiente para as aplicaes, o sistema operacional pode aument?la de forma transparente
Ps aplicaes, usando o espao dispon#vel em um meio de armazenamento secundrio $como
um disco r#!ido&. @ma importante abstrao constru#da pela !er%ncia de memria a noo
de memria virtual, que desvincula os endereos de memria vistos por cada aplicao dos
endereos acessados pelo processador na memria O'+. .om isso, uma aplicao pode ser
carre!ada em qualquer posio livre da memria, sem que seu pro!ramador tenha de se
preocupar com os endereos de memria onde ela ir e"ecutar.
2%- Eolatili#a#e
' memria pode ser classificada em funo de sua volatilidade que e a capacidade de
a memria preservar o seu conte<do mesmo sem uma fonte de alimentao estar ativa. 's
memrias chamadas volteis se caracterizam por poderem ser lidas ou !ravadas, como o tipo
O'+ $random access memor=&, que constitui quase que a totalidade da memria principal de
um computador. outro tipo, chamado de no voltil, no permite alterar ou apa!ar seu
conte<do, este tipo de memria conhecido como O+ $read?onl= memor=&, E vem pr?
!ravado do fabricante, !eralmente com al!um pro!rama, e seu conte<do preservado mesmo
quando a alimentao desli!ada. @ma variao da O+ e a ,PO+ $erasable
pro!rammable O+&, onde podemos !ravar e re!ravar a memria atravs e"posio de luz
ultravioleta por um dispositivo especial.
'tualmente, uma srie de memrias com diferentes caracter#sticas, e"iste para diversas
aplicaes, como a ,,PO+, ,'O+, ,'PO+, (;O'+ entre outras.
2%6 HierarCuia #e mem0rias
Oe!istradores
+emria .ache
+emria Principal
+emria )ecundria
+aior .usto e
+aior ;elocidade
de 'cesso
+aior .apacidade
de armazenamento
/e,a-0o entre os !i1ersos ti(os !e !is(ositi1os !e arma2enamento3
2%6%- Registra#ores
s re!istradores so dispositivos de alta velocidade, localizados fisicamente na @.P
para armazenamento temporrio de dados. n<mero de re!istradores varia em funo da
arquitetura de cada processador. 'l!uns re!istradores so de uso espec#fico e t%m propsitos
especiais, enquanto outros so ditos de uso !eral.
,ntre os re!istradores de uso espec#fico, merecem destaqueQ
/5
contador de instrues $.-& ou pro!ram counter $P.& e o re!istrador responsvel
pelo armazenamento do endereo da pr"ima instruo que a @.P dever
e"ecutar. Koda vez que a @.P e"ecute uma instruo, o P. e atualizado com um
novo endereoS
o apontador da pilha $'P& ou stacL pointer $)P& e o re!istrador que
contmemriam o endereo de memria do topo da pilha, que e a estrutura de
dados onde o sistema mantm informaes sobre tarefas que estavam sendo
processadas e tiveram que ser interrompidas por al!um motivoS
o re!istrador de estado, tambm chamado em al!uns equipamentos de pro!ram
status word $P)7&, e o re!istrador responsvel por armazenar informaes sobre a
e"ecuo do pro!rama, como a ocorr%ncia de carr= e overflow. ' cada instruo
e"ecutada, o re!istrador de estado e alterado conforme o resultado !erado pela
instruo.
tamanho da capacidade de armazenamento dos re!istradores vai determinar o
tamanho da palavra da arquitetura $e"emplo 39 bits ou H5 bits&.
2%6%6 Mem0ria Cac>e
' memria cache e uma memria voltil de alta velocidade. tempo de acesso a um
dado nela contido e muito menor que se o mesmo estivesse na memria principal.
Koda vez que o processador fez refer%ncia a um dado armazenado na memria
principal, ele [olha[ antes na memria cache. )e o processador encontrar o dado na cache, no
ha necessidade do acesso a memria principalS do contrrio, o acesso e obri!atrio (este
<ltimo cave, o processador, a partir do dado referenciado, transfere um bloco de dados para a
cache. tempo de transfer%ncia entre as memrias pequeno se comparado com o aumento
do desempenho obtido com a utilizao desse tipo de memria.
'pesar de ser uma memria de acesso rpido seu uso e limitado em funo do alto
custo.
'tualmente a memria cach% pode ser encontrada acoplada a perifricos, como por
e"emplo, placas de v#deo.
2%6%8 Mem0ria Pri!ci/al
' memria principal, tambm conhecida como memria primria ou real, a parte do
computador onde so armazenados instrues e dados. ,la e composta por unidades de acesso
chamadas de clulas sendo cada clula composta por um determinado n<mero de bits $binar=
di!it&. bit a unidade bsica de memria podendo assumir o valor 1 ou /. 'tualmente a
!rande maioria dos computadores utiliza o b=te $0 bits& como tamanho de clula, porm
encontramos computadores de !eraes passadas com clulas de /H, 39 e at mesmo H1 bits.
Podemos concluir, ento, que a memria, e formada por um conEunto de clulas, onde
cada clula possui um determinado n<mero de bits.
1
/
9
+ ? /
.lula \ n bits
,ndereos
+emria principal
/B
acesso ao conte<do de uma clula e realizado atravs da especificao de um
n<mero chamado endereo. endereo uma refer%ncia <nica que podemos fazer a uma
clula de memria. 4uando um pro!rama deseEa ler ou escrever um dado em uma clula deve
primeiro especificar qual o endereo de memria deseEado para depois realizar a operao.
' especificao do endereo realizada atravs de um re!istrador denominado
re!istrador de endereo de memria $memor= re!ister address ? +'O&, atravs do conte<do
deste re!istrador a unidade de controle sabe qual a clula de memria que ser acessada.
utro re!istrador usado em operaes com a memria e o re!istrador de dados da memria
$memor= buffer re!isterF+>O&, este re!istrador utilizado para !uardar o conte<do de uma
ou mais clulas de memria aps uma operao de leitura ou para !uardar o dado que ser
transferido para a memria em uma operao de !ravao.
perao de Jeitura perao de !ravao
/. ' @.P armazena no +'O, o endereo da
clula a ser lida.
9. ' @.P !era um sinal de controle para a
memria principal, indicando que uma
operao de leitura deve ser realizada.
3. 1 conte<do da$s& clula$s&, identificada$s&
pelo endereo contido no +'O, e transferido
para o +>O.
/. ' @.P armazena no +'O, o endereo da
clula que ser !ravada.
9. ' @.P armazena no +>O, a informao
que dever ser !ravada.
3. ' @.P !era um sinal de controle para a
memria principal, indicando que uma
operao de !ravao deve ser realizada.
5. ' informao contida no +>O e
transferida para a clula de memria
endereada pelo +'O.
.iclo de leitura e !ravao
2%6%2 Mem0ria $ecu!#@ria
' memria secundria e um meio permanente $no voltil& de armazenamento de
pro!ramas e dados. ,nquanto a memria principal precisa estar sempre ener!izada para
manter suas informaes, a memria secundria no precise de alimentao.
acesso a memria secundria e lento, se comparado com o acesso a memria cache
ou P principal, porm seu custo e bai"o e sua capacidade de armazenamento e bem superior a
da memria principal. ,nquanto a unidade de acesso a memria secundria e da ordem de
milisse!undos, o acesso a memria principal e de nanosse!undos. Podemos citar, como
e"emplos de memrias secundrias, o disco ma!ntico e os dispositivos de armazenamento.
2%8 E!#ereame!to Eirtual
endereo virtual estruturado em duas partes, correspondentes P p!ina virtual e ao
b=te dentro da p!ina. virtual pa!e number $;P(& indica a p!ina virtual em que o
endereo est contido e o campo de deslocamento indica qual o b=te especificado dentro da
p!ina.
espao de endereamento virtual de cada processo dividido em duas re!ies
denominadas re!io do processo e re!io do sistema. bit mais si!nificativo do endereo
virtual indica se o endereo pertence P re!io do processo ou P do sistema.
' re!io do sistema compartilhada por todos os processos. (este caso, quando um
processo faz refer%ncia a um endereo virtual dessa re!io, este tem o mesmo si!nificado para
todos os processos. -sto si!nifica que quando dois processos fazem refer%ncia a um mesmo
endereo virtual da re!io do sistema, eles estaro referenciando o mesmo cdi!o ou dado.
Kodo cdi!o do sistema operacional compartilhado entre processos est localizado nesta
/H
re!io. Para que este compartilhamento seEa realizado de forma or!anizada, o sistema
implementa mecanismos de proteo para restrin!ir o acesso Ps p!inas.
Kanto a re!io do processo quanto a re!io do sistema so subdivididas em duas
re!ies, totalizando quatro re!ies no espao de endereamento virtual. .ada uma dessas sub?
re!ies representa um tamanho de endereamento. 's duas sub?re!ies do espao do processo
so denominadas, respectivamente, re!io do pro!rama $P1& e re!io de controle $P/&.
4uando se e"ecuta um pro!rama do usurio, o mdulo e"ecutvel alocado em endereos
virtuais da re!io P1, comeando no endereo 1 e crescendo para os endereos maiores. D na
re!io P/, os endereos virtuais so alocados na seqI%ncia dos maiores para os menores, em
vista de tal re!io ser utilizada por estruturas de pilhas.
' re!io do sistema tambm dividida em duas sub?re!ies de tamanho determinado $)1 e
)/&. s endereos virtuais da sub?re!io )1 cont%m o cdi!o e estruturas do sistema
operacional, como rotinas de interrupes, rotinas do sistema e tabelas de p!inas. ' sub?
re!io )/ reservada para uso futuro. 'tualmente, a @.P no traduz um endereo virtual
localizado nesta re!io. .aso al!um processo faa refer%ncia a um endereo dentro dessa
fai"a, um erro de hardware ocorrer.
2%2 $Fa//i!g
' pa!inao um procedimento natural do mecanismo de memria virtual. s
processos esto permanentemente pa!inando e, para isso, o sistema operacional deve possuir
sempre p!inas dispon#veis na memria principal para serem utilizadas. ,m funo disso, a
lista de p!inas livres deve sempre possuir uma quantidade m#nima de p!inas necessria para
a utilizao dos processos.
,m determinadas situaes, a memria principal pode estar sendo bastante utilizada,
levando a lista de p!inas livres a valores bai"os. (esta situao espec#fica, o sistema
seleciona um ou mais processos e retira temporariamente o$s& worLin! set$s& da memria
principal, !ravando?o$s& em disco $arquivo de swap&. .om isso, p!inas da memria principal
so desocupadas, permitindo que o mecanismo da pa!inao continue seu funcionamento.
3% 5er<!cia #e #is/ositi"os
.ada perifrico do computador possui suas peculiaridades, assim, o procedimento de
interao com uma placa de rede completamente diferente da interao comum disco r#!ido
).)-. Kodavia, e"istem muitos problemas e aborda!ens em comum para o acesso aos
perifricos. Por e"emplo, poss#vel criar uma abstrao <nica para a maioria dos dispositivos
de armazenamento como pen?drives, discos ).)- ou -:,, disquetes e etc, na forma de um
vetor de blocos de dados. ' funo da !er%ncia de dispositivos $tambm conhecida como
!er%ncia de entrada8sa#da& implementar a interao com cada dispositivo por meio de drivers
e criar modelos abstratos que permitam a!rupar vrios dispositivos distintos sob a mesma
interface de acesso.
3%- is/ositi"os #e E!tra#a e $a?#a
s dispositivos de entrada e sa#da $,8)& so utilizados para permitir a comunicao
entre o computador e o mundo e"terno. 'travs desses dispositivos a @.P e a memria
principal podem se comunicar tanto com usurios quanto com memrias secundrias, a fim de
realizar qualquer tipo de processamento.
s dispositivos de ,8) podem ser divididos em duas cate!oriasQ os que so utilizados
como memria secundria e os que servem para a interface homem?mquina.
/2
s dispositivos utilizados como memria secundria como discos se caracterizam por
armazenar !rande volume de informaes, seu custo relativamente bai"o e seu tempo de
acesso maior que o acesso a memria principal.
'l!uns dispositivos servem para a comunicao homem?mquina, como teclados,
monitores de v#deo, impressoras, entre outros. .om o avano no desenvolvimento de
aplicaes de uso cada vez mais !eral procura?se aumentar a facilidade de comunicao entre
o usurio e o computador. ' implementao de interfaces mais ami!veis permite cada vez
mais que pessoas sem conhecimento espec#fico sobre informtica possam utilizar o
computador. )canner, caneta tica, mouse, dispositivos sens#veis a voz humana e ao calor do
corpo humano so al!uns e"emplos desses tipos de dispositivos.
3%6 =arrame!to
' @.P, a memria principal e os dispositivos de ,8) so interli!ados atravs de linhas
de comunicao denominadas barramentos, barras ou vias. @m barramento $bus& um
conEunto de fios paralelos $linhas de transmisso& onde trafe!am informaes, como dados,
endereos ou sinais de controle. ,le pode ser classificado como unidirecional $transmisso em
um s sentido& ou bidirecional $transmisso em ambos os sentidos&.
(a li!ao entre @.P e memria principal podemos observar que tr%s barramentos so
necessrios para que a comunicao seEa realizada. barramento de dados transmite
informaes entre a memria principal e a @.P. barramento de endereos utilizado pela
@.P para especificar o endereo da clula de memria que ser acessada. Cinalmente o
barramento de controle por onde a @.P envia os pulsos de controle relativos as operaes
de leitura e !ravao.
7% 5ere!ciame!to #o /rocessa#or
' !er%ncia do processador implementada define a pol#tica de diviso do tempo do
processador entre os processos dos usurios e do sistema operacional. escalonamento de
processos realizado por uma rotina de interrupo do sistema denominada scheduler.
' pol#tica de escalonamento implementada atravs de prioridades associadas aos
processos, denominadas prioridades base, esta prioridade estabelecida no momento da
criao do processo.
7%- Escalo!ame!to #e Tem/o Com/artil>a#o
@m processo em estado corrente $.@O&, trabalhando na fai"a de tempo
compartilhado, somente dei"a a @.P caso ocorra uma destas situaesQ
W trmino de e"ecuo da ima!emS
W processo de maior prioridade entra em estado de .+ $preempo por prioridade&S
W solicitao de um evento ou recurso do sistemaS
W trmino da fatia de tempo $prioridade por tempo&.
Para o escalonamento de tempo compartilhado alm da prioridade base definida na
criao do processo, e"iste uma outra, chamada dinRmica, que varia de acordo com as
caracter#sticas de e"ecuo do processo. escalonamento de tempo compartilhado
realizado com base na prioridade dinRmica dos processos.
' prioridade dinRmica alterada quando um processo sai do estado de espera para o
estado de pronto. sistema incrementa um valor P prioridade base em funo do tipo de
espera a que o processo estava submetido. ,ventos que e"i!em lon!o tempo de espera
/0
incidem em um incremento maior, com isso, um processo .P@?bound tende a ter uma
prioridade dinRmica menor que a de um processo -8?bound. ,ste esquema permite balancear
o uso do processador entre todos os tipos de processos.
' prioridade dinRmica calculada pela soma da prioridade base com o incremento
recebido. )eu valor decrementado ao lon!o do tempo, porm nunca poder cair abai"o da
prioridade base estabelecida.
7%6 Escalo!ame!to #e Tem/o Real
@m processo em estado corrente $.@O&, trabalhando na fai"a de tempo real, somente
dei"a a @.P caso ocorra uma das se!uintes situaesQ
W trmino de e"ecuo da ima!emS
W processo de maior prioridade entra em estado de .+ $preempo por prioridade&S
W solicitao de um evento ou recurso do sistema.
,"istem duas diferenas na pol#tica de escalonamento para esses tipos de processosQ a
no?e"ist%ncia do conceito de fatia de tempo e de prioridade dinRmica.
7%8 I!terru/Ges e EHceo
4uando um controlador de perifrico tem uma informao importante a fornecer ao
processador ele tem duas alternativas de comunicaoQ
W '!uardar at que o processador o consulte, o que poder ser demorado caso o
processador esteEa ocupado com outras tarefas $o que !eralmente ocorre&S
W (otificar ao processador atravs do barramento de controle, enviando a ele uma
requisio de interrupo $-O4 Y -nterrupt Oe4uest&.
'o receber a requisio de interrupo o processador suspende seu flu"o de e"ecuo
corrente e desvia para um endereo pr?definido onde se encontra uma rotina de tratamento de
interrupo $interrupt handler&. ,ssa rotina responsvel por tratar a interrupo, ou seEa,
e"ecutar as aes necessrias para atender o dispositivo que a !erou. 'o final da rotina de
tratamento da interrupo o processador retoma o cdi!o que estava e"ecutando quando
recebeu a requisio.
-nterrupo
3
3
3
3
3
3
3
3
3
3
3
3
3
)alva os
re!istradores
-dentifica a ori!em
da interrupo
Ootina de
Kratamento
btm o endereo da
rotina de tratamento
4
4
4
Oestaura
os re!istradores
Pro!rama
+ecanismo de interrupo
B% 5ere!ciame!to #e Proteo
.om computadores conectados em rede e compartilhados por vrios usurios
importante definir claramente os recursos que cada usurio pode acessar, as formas de acesso
permitidas $leitura, escrita, etc& e !arantir que essas definies seEam cumpridas. Para prote!er
os recursos do sistema contra acessos indevidos necessrioQ
a& definir usurios e !rupos de usuriosS
/A
b& identificar os usurios que se conectam ao sistema, atravs de procedimentos de
autenticaoS
c& definir e aplicar re!ras de controle de acesso aos recursos, relacionando todos os
usurios, recursos e formas de acesso e aplicando essas re!ras atravs de procedimentos de
autorizaoS e finalmente
d& re!istrar o uso dos recursos pelos usurios, para fins de auditoria e contabilizao.
's funcionalidades do sistema operacional !eralmente so inter?dependentesQ por
e"emplo, a !er%ncia do processador depende de aspectos da !er%ncia de memria, assim como
a !er%ncia de memria depende da !er%ncia de dispositivos e da !er%ncia de proteo.
9% 5ere!ciame!to #e arCui"os
,sta funcionalidade constru#da sobre a !er%ncia de dispositivos e visa criar arquivos
e diretrios, definindo sua interface de acesso e as re!ras para seu uso. ] importante observar
que os conceitos abstratos de arquivo e diretrio so to importantes e difundidos que muitos
sistemas operacionais os usam para permitir o acesso a recursos que nada tem a ver com
armazenamento.
,"emplos disso so as cone"es de rede $nos sistemas @(-M e 7indows, cada socLet
K.P visto como um descritor de arquivo no qual pode?se ler ou escrever dados& e as
informaes do n<cleo do sistema $como o diretrio 8proc do @(-M&.
9%- $istemas #e arCui"os
@m sistema de arquivos um conEunto de estruturas l!icas e de rotinas, que
permitem ao sistema operacional controlar o acesso ao disco r#!ido. :iferentes sistemas
operacionais usam diferentes sistemas de arquivos. .onforme cresce a capacidade dos discos
e aumenta o volume de arquivos e acessos esta tarefa torna?se mais e mais complicada,
e"i!indo o uso de sistemas de arquivos cada vez mais comple"os e robustos. ,"istem diversos
sistemas de arquivos diferentes, que vo desde sistemas simples como o C'K/H, que
utilizamos em cartes de memria, at sistemas como o (KC), ,MK3 e OeiserC), que
incorporam recursos muito mais avanados.
(os sistemas operacionais da +icrosoft, temos apenas tr%s sistemas de arquivosQ
C'K/H, C'K39 e (KC). C'K/H o mais anti!o, usado desde os tempos do +)?:),
enquanto o (KC) o mais comple"o e atual. 'pesar disso, temos uma variedade muito
!rande de sistemas de arquivos diferentes no Jinu" $e outros sistemas @ni"&, que incluem o
,MK9, o ,MK3, o OeiserC), o MC), o DC) e muitos outros.
9%6 Partio e /articio!ame!to
' memria secundria possui muitos b=tes, mas que so in<teis at que seEa criada
al!uma tabela de alocao. ] poss#vel definir para uma unidade de memria secundria mais
de uma tabela de alocao $do mesmo tipo ou de tipos distintos&. -sso feito dividindo?se a
memria secundria em vrios pedaos, chamados Eustamente de parties. .ada partio
funcionar como um volume P parte. Parties diferentes permitem o uso em um mesmo
computador de mais de um sistema operacional. 's tabelas de alocao so !uardadas em
uma tabela de parties e definem o respectivo sistema de arquivos.
Particionar uma memria secundria si!nifica dividi?la em vrias partes, este um
procedimento necessrio para que a memria secundria se torne funcional, sendo obri!atrio
a criao de no m#nimo uma partio. 4uando a memria secundria particionada,
automaticamente !era?se uma tabela de parties, onde fica !ravado o endereo e a
caracter#stica da partio !erada, as parties possuem caracter#sticas individuais para cada
91
tipo de sistema de arquivos. (o sistema operacional 7indows e +)?:) so chamadas de
C'K/H ou C'K39 o tipo de sistema de arquivo para a partio, em quanto que no 7indows
(K o sistema de arquivo para a partio pode ser do tipo (KC) e no Jinu" este denominado
,MK9, e"istem vrios outros tipos sistema de arquivo para a partio usadas por outros
sistemas operacionais. :epois de !erar a partio torna?se necessrio format?la, este
procedimento feito atravs de um comando espec#fico do sistema operacional que ser
utilizado no disco, no caso do +)?:) usamos o comando [Cormat[ para dar forma a
partio, possibilitando a instalao do sistema operacional em questo.
9%6%- Tabela #e /artiGes
(o in#cio da memria secundria e"iste uma rea reservada destinada a tabela de
particionamento, esta tabela informa ao sistema operacional de que forma o disco esta
dividido, quais os tipos de sistema de arquivo das parties e tambm em que parte da
memria secundria elas esto localizadas as parties assim como os seus tamanhos.
9%8 Eolume
.onceito utilizado pelos sistemas operacionais da +icrosoft que oferece uma viso
abstrata de uma unidade de armazenamento, ou seEa, rea de armazenamento em uma
memria secundria que representada por uma letra $cQ^S dQ^ e etc& e !eralmente representa
uma partio, uma unidade de discoS um dispositivo de armazenamentoS uma cone"o de rede
ou at mesmo um conEunto de unidades de armazenamento, neste caso denominado volume
distribu#do.
9%2 Iormatao e Iormatos
' formatao f#sica consiste na diviso dos discos ma!nticos do X: $ou outro
dispositivo de armazenamento& em trilhas, setores e cilindros e so !ravadas as marcaes
servo, que permitem que a placa l!ica posicione corretamente as cabeas de leitura. (os
X:s atuais, a formatao f#sica feita em fbrica, durante a fabricao dos discos. processo
envolve o uso de mquinas especiais e, apenas para !arantir, restries so adicionadas no
firmware do drive, para que a placa l!ica seEa realmente impedida de fazer qualquer
modificao nas reas reservadas. *raas a isso, imposs#vel reformatar fisicamente um drive
atual, independentemente do software usado.
' formatao l!ica, que adiciona as estruturas utilizadas pelo sistema operacional.
'o contrrio da formatao f#sica, ela feita via software e pode ser refeita quantas vezes
voc% quiser. <nico problema que, ao reformatar o X:, voc% perde o acesso aos dados
armazenados, embora ainda seEa poss#vel recuper?los usando as ferramentas apropriadas.
$3431 F5#
Cile 'llocation Kable. (um X: armazena a lista dos endereos ocupados por cada
arquivo !uardado, permitindo localiza?los. ' funo da C'K servir como um #ndice,
armazenando informaes sobre cada cluster do disco. 'travs da C'K, o sistema operacional
sabe se uma determinada rea do disco est ocupada ou livre, e pode localizar qualquer
arquivo armazenado. .ada vez que um novo arquivo !ravado ou apa!ado, o sistema
operacional altera a C'K, mantendo?a sempre atualizada.
' C'K to importante, que alm da tabela principal, armazenada tambm uma
cpia de se!urana, que usada sempre que a tabela principal danificada de al!uma
maneira. @ma curiosidade que, quando formatamos um disco r#!ido usando o comando
Cormat, nenhum dado apa!ado, apenas a C'K principal substitu#da por uma tabela em
branco. 't que seEam reescritos porm, todos os dados continuam l, podendo ser
recuperados atravs de pro!ramas como o Jost _ Cound $Power 4uest& ou o ,as= Oecover=
$ntracL&.
9/
$3436 N#FS
(ew Kecnolo!= Cile )=stem. (KC) um sistema de arquivos mais anti!o do que
muitos acreditam. ,le comeou a ser desenvolvido no in#cio da dcada de /AA1, quando o
proEeto do 7indows (K dava os seus primeiros passos.
D que o !rande problema do sistema C'K/H era o fato de serem usados apenas /H bits
para o endereamento de cada cluster, permitindo apenas HB mil clusters por partio, o (KC)
incorporou desde o in#cio a capacidade para enderear os clusters usando endereos de H5
bits. ' <nica limitao a!ora passa a ser o tamanho dos setores do X:. .omo cada setor
possui B/9 b=tes, o tamanho de cada cluster usando (KC) tambm poder ser de B/9 b=tes,
independentemente do tamanho da partio.
] sem d<vida um !rande avano sobre os clusters de 39 6> e as parties de at 9 *>
da C'K /H. +as, e"iste um pequeno problema em enderear parties muito !randes usando
clusters de B/9 b=tesQ o desempenho. .om um n<mero muito !rande de clusters, o
processamento necessrio para encontrar os dados deseEados passa a ser muito !rande,
diminuindo a performance.
'ssim como na C'K 39, ficou estabelecido que o tamanho m#nimo de clusters seria
usado por default apenas em parties de um certo tamanhoQ
Kamanho da partio Kamanho do cluster
at B/9 +> B/9 b=tes
at / *> / 6>
at 9 *> 9 6>
acima de 9 *> 5 6>
'pesar do default ser usar clusters de 5 6> em qualquer partio maior do que 9 *>,
voc% pode criar parties com clusters do tamanho que deseEar atravs do assistente para
criao de parties do 7indows 91118MP, que pode ser encontrado em Painel de controle `
Cerramentas 'dministrativas ` *erenciamento do computador ` 'rmazenamento `
*erenciamento de disco. :o lado direito da tela ser mostrado um mapa dos X:s instalados
na mquina, basta clicar com o boto direito sobre uma rea de espao livre e em se!uida em
[criar partio[Q
.ontinuando, mais uma vanta!em do sistema (KC) que os nomes de arquivos e
pastas utilizam caracteres em @nicode, em vez de '.)--. ').-- o sistema onde cada
caracter ocupa / b=te de dados, mas so permitidas apenas letras, n<meros e al!uns caracteres
especiais. (o @nicode, cada caracter ocupa dois b=tes, o que permite HB mil combinaes, o
suficiente para armazenar caracteres de diversos idiomas. -sso permite que usurios do Dapo,
.hina, Kaiwan e outros pa#ses que no utilizam o alfabeto ocidental, possam criar arquivos
usando caracteres do seu prprio idioma, sem a necessidade de instalar drivers e pro!ramas
adicionais que adicionem o suporte.
utro ponto importante onde o (KC) superior ao sistema C'K na tolerRncia a
falhas. (o sistema C'K, sempre que o sistema trava ou desli!ado enquanto esto sendo
atualizados arquivos os diretrios no X:, e"iste uma possibilidade muito !rande do sistema
tornar?se inconsistente, com arquivos interli!ados, a!rupamentos perdidos e os outros
problemas. )ur!e ento a necessidade de rodar o scandisL depois de cada desli!amento
incorreto.
(o (KC), o sistema mantm um lo! de todas as operaes realizadas. .om isto,
mesmo que o micro seEa desli!ado bem no meio da atualizao de um arquivo, o sistema
poder, durante o pr"imo boot, e"aminar este lo! e descobrir e"atamente em que ponto a
atualizao parou, tendo a chance de automaticamente corri!ir o problema. 'lm de reduzir a
perda de tempo, a possibilidade de perda de dados muito menor.
.lusters contendo setores defeituosos tambm so marcados automaticamente,
conforme so detectados, sem a necessidade de usar o scandisL ou qualquer outro utilitrio.
99
(este caso, a marcao feita na tabela de endereamento da partio, de forma que a lista de
setores defeituosos perdida ao reparticionar o X:. 'nti!amente, os X:s eram menos
confiveis e o aparecimento de setores defeituosos um fenNmeno muito mais comum, de
forma que a maioria dos pro!ramas de formatao realizavam um teste de superf#cie durante a
formatao da partio $como no caso do format usado no 7indows AB8A0, onde formatar
uma partio podia demorar mais de uma hora&. 'tualmente, a maioria dos pro!ramas realiza
uma formatao rpida, presumindo que o X: no possua setores defeituosos.
,"istiram diversas verses do (KC), que acompanharam a evoluo do 7indows (K.
' partir do 7indows 9111, foi introduzido o (KC) B, que trou"e diversos aperfeioamentos,
incluindo o suporte ao 'ctive :irector=.
utro recurso interessante a possibilidade de encriptar os dados !ravados, de forma a
impedir que seEam acessados por pessoas no autorizadas mesmo caso o X: seEa removido e
instalado em outro micro. ,ste recurso de encriptao interessante, por e"emplo, para
profissionais de campo, que levam dados secretos em seus laptops. ] poss#vel tanto
cripto!rafar o disco inteiro, quanto pastas ou arquivos individuais.
Kambm poss#vel compactar pastas e arquivos individuais, economizando espao em
disco. (o 7indows AB8A0 era poss#vel compactar parties usando o drvspace, mas s era
poss#vel compactar parties inteiras, o que normalmente acaba no sendo um bom ne!cio,
pois diminu#a bastante a velocidade do micro e aumentava a possibilidade de perda de dados.
(aturalmente, a compactao tambm diferente da feita por pro!ramas como o 7inzip, E
que os arquivos e pastas continuam acess#veis e"atamente da mesma forma, com o sistema
fazendo a compactao e descompactao do arquivo de forma transparente.
.om a possibilidade de compactar pastas individuais, voc% pode comprimir apenas as
pastas contendo um !rande volume de arquivos que suportam um bom n#vel de compresso,
dei"ando de lado pastas com fotos, m<sicas e arquivos de v#deo, arquivos que E esto
comprimidos. Para compactar uma pasta, acesse o menu de propriedades. (a seo
[avanadas[, marque a opo de compactar arquivos para economizar espao.
' compactao de arquivos e"i!e uma car!a adicional de processamento, E que o
sistema tem o trabalho de descompactar os arquivos antes de acess?los. 'nti!amente, usar
compactao reduzia muito o desempenho do sistema, E que os processadores eram mais
lentos. (um micro atual, a reduo muito menos si!nificativa e, em muitos casos, o uso da
compactao pode at mesmo melhorar o desempenho, E que arquivos compactados ocupam
menos espao e, consequentemente, so lidos mais rapidamente pela cabea de leitura.
93

Você também pode gostar