Sei sulla pagina 1di 5

SOFTWARE DE SISTEMA SISTEMA OPERACIONAL

AULA 10 Arquitetura de Computadores


Gil Eduardo de Andrade
O contedo deste documento baseado no livro Princpios Bsicos de Arquitetura e
Organizao de Computadores Linda Null e ulia La!ur
Introduo
Nas aulas anteriores foram introduzidos os principais conceitos sobre a organizao dos
computadores! Esses conceitos se caracterizaram" de uma forma simplista" em #isualizar o
computador como um con$unto de m%quinas #irtuais di#ididas em #%rios n&#eis" cada qual
fornecendo uma abstrao para o n&#el logo abai'o! (amb)m foram discutidas linguagens
simb*licas com a arquitetura da m%quina +soft,are did%tico -A./N0!
Esta aula" tem por ob$eti#o" estudar o soft,are encontrado no n&#el 1 +#er aula 020"
ligando3o com o soft,are encontrado no quarto e quinto n&#eis dessa 4ierarquia! Esse con$unto
de soft,ares ) e'ecutado abai'o dos programas de aplicao e logo acima da arquitetura do
con$unto de instru5es! Estes so os componentes de soft,are" as 6m%quinas7 com os quais seu
c*digo fonte de aplicao interage! /s programas nestes n&#eis trabal4am $untos para garantir o
acesso aos recursos de 4ard,are que realizam os comandos contidos nos programas de
aplicao!
Embora nosso modelo de sistema de computao coloque somente o sistema operacional
no n&#el de 6soft,are de sistema7" o estudo deste" muitas #ezes inclui compiladores e outros
utilit%rios" assim como uma categoria de programas comple'os algumas #ezes c4amados de
middle"are! / middleware" de forma geral" nada mais ) do que uma camada de soft,are acima
do sistema operacional que fornece ser#ios para as aplica5es" que se localizam na camada logo
acima!
8uando estudamos a 4ierarquia de n&#eis #imos que 4a#ia um grande inter#alo entre as
linguagens de alto n&#el9aplica5es e os componentes f&sicos do sistema" este inter#alo de#e ser
impercept&#el para o usu%rio" e o respons%#el por essa caracter&stica" criando essa in#isibilidade )
o middleware! -endo o sistema operacional o suporte a todo o soft,are de sistema" praticamente
todos os sistemas de soft,are interagem com o sistema operacional de alguma maneira!
Sistemas Operaionais
/riginalmente" o principal papel de um sistema operacional era au'iliar as di#ersas
aplica5es a interagir com o 4ard,are do computador! -istemas operacionais fornecem um
con$unto de fun5es necess%rias para permitir aos pacotes de soft,are controlar o 4ard,are do
computador! -em um sistema operacional" cada programa que #oc: e'ecuta necessitaria de seu
pr*prio controlador para a placa de #&deo" para placa de som" para o disco r&gido e assim por
diante!
Embora sistemas operacionais modernos ainda e'ecutem esta funo" as e'pectati#as de
usu%rios a respeito deles t:m mudado considera#elmente! Eles consideram que um sistema
operacional #ai tornar mais f%cil para eles gerenciar o sistema e seus recursos! Essa e'pectati#a
gerou o controle de arqui#os 6arrastar e largar7" bem como o controle de dispositi#os 6ligar e
usar7! /l4ando pela perspecti#a do programador" o sistema operacional obscurece os detal4es
dos n&#eis mais bai'os da arquitetura do sistema" permitindo um foco maior na soluo de alto
n&#el de problemas!
/s sistemas operacionais criam um ambiente mais amig%#el" no qual os recursos do
sistema so utilizados efeti#amente e eficientemente e onde no ) e'igido programar em c*digo
de m%quina! / sistema operacional no apenas fornece esta interface ao programador" mas
tamb)m atua como uma camada entre o soft,are de aplicao e o 4ard,are real da m%quina! Ele
lida com dispositi#os reais e 4ard,are real" de modo que os programas de aplicao e os
usu%rios no ten4am que fazer isso!
/ sistema operacional ) um pouco mais que uma pea de soft,are" ele difere dos outros
pelo fato de que ) carregado na inicializao do computador e posteriormente e'ecutado
diretamente pelo processador" sendo assim cabe a ele controlar o processador +bem como a
outros recursos0 e a e'ecuo de instru5es no mesmo!
Sistemas operaionais para omputadores pessoais
-istemas operacionais para computadores pessoais possuem um ob$eti#o diferente
daqueles para sistemas maiores! Enquanto sistemas maiores querem fornecer uma e'celente
performance e utilizao de 4ard,are +ao mesmo tempo tornando o sistema mais f%cil de usar0"
sistemas operacionais para computadores pessoais tem um ob$eti#o principal; tornar o sistema
amig%#el para o usu%rio!
8uando a <ntel trou'e o microprocessador =0=0 em 1>?@" a empresa solicitou a GarA
Bildall que escre#esse um sistema operacional! Bildall construiu um controlador para um disco
fle'&#el" conectou o disco ao =0=0 e escre#eu o soft,are do sistema operacional para controlar
os dispositi#os! Ele c4amou esses sistema baseado em disco de CP#$ +Control Program %or
$icrocomputers0! / B&O' +!asic input#output s(stem0 permitiu que o CC9D fosse facilmente
e'portado para diferentes tipos de CCs porque fornecia as intera5es necess%rias com
dispositi#os de entrada9sa&da! Como dispositi#os de E9- so componentes mais pro#%#eis de
#ariar de sistema para sistema" o empacotamento das interfaces para estes dispositi#os em um
m*dulo fez com que o sistema operacional pudesse permanecer mesmo para di#ersas m%quinas!
A <ntel erroneamente assumiu que as m%quinas baseadas em disco teriam um futuro
triste! Eepois de decidir no usar mais o no#o sistema operacional" a <ntel deu os direitos sobre o
CC9D para Bildall! Em 1>=0 a <FD necessitou de um sistema operacional para o <FD CC!
Embora a <FD ti#esse entrado em contato com Bildall primeiro" o neg*cio terminou indo para a
Dicrosoft" que 4a#ia comprado um sistema operacional baseado em disco denominado )*O'
+)uic+ and *irt( )perating '(stem0" da -eatle Computer Croducts CompanA" por G1H!000"00! /
soft,are foi renomeado de $',*O' e o resto ) 4ist*ria!
/s sistemas operacionais para os primeiros computadores pessoais opera#am sob
comandos digitados #ia teclado! Alan BeA" in#entor da -.& +grap/ical user inter%ace0 e Eoug
Engelbart" in#entor do mouse" ambos do centro de pesquisas da Iero'" mudaram para sempre a
face dos sistemas operacionais quando suas ideias foram incorporadas aos sistemas operacionais!
Cor meio dos seus esforos" os s&mbolos de comandos foram substitu&dos por $anelas" &cones e
menus drop-down! A microsoft popularizou as id)ias +mas no as in#entou0 por interm)dio de
suas s)ries de sistemas operacionais Windows; Jindo,s 1!'" 2!'" 1!'" >H" >=" DE" N(" 2000" IC"
.ista" -e#en! / sistema operacional gr%fico do Macintosh" $acO'" que precedeu o Windows
GUI em muitos anos" tamb)m te#e numerosas #ers5es! / Unix tem gan4o popularidade tamb)m
no mundo dos computadores pessoais atra#)s do inux e Open!"#!
Pro!eto de Sistemas Operaionais
/ sistema operacional controla as fun5es b%sicas do computador" incluindo
gerenciamento de mem*ria e E9-! Um sistema operacional difere da maioria dos outros
soft,ares no sentido de ser guiado por e0entos" significando que ele realiza tarefas em resposta
a comandos" programas de aplica5es" dispositi#os de E9- e interrup5es!
8uatro fatores principais guiam o pro$eto de um sistema operacional; performance"
pot:ncia" custo e compatibilidade! A maioria dos sistemas operacionais possuem interfaces
similares" mas #ariam enormemente no modo de realizar tarefas! Alguns sistemas so
minimalistas no pro$eto" enquanto outros tentam incluir todos os recursos conceb&#eis! Alguns
t:m interfaces superiores" mas dei'am a dese$ar em outras %reas" preferindo cobrir fun5es mais
b%sicas +Jindo,s na min4a opinio KGil Eduardo de AndradeL0" enquanto outros so
superiores em gerenciamento de mem*ria e E9-" mas se descuidam da tarefa de ser amig%#el
para o usu%rio +Linu'" at) tempos atr%s min4a opinio KGil Eduardo de AndradeL0! Nen4um
sistema operacional Mnico ) superior em todos os aspectos!
Eois componentes so cruciais no pro$eto de sistemas operacional; o nMcleo +$ernel0 e os
programas do sistema! / +ernel ) o nMcleo do sistema operacional! Ele ) usado pelo gerente de
processos" pelo escalonador" pelo gerente de recursos e pelo gerente de E9-! / nMcleo )
respons%#el por escalonamento" sincronismo" proteo9segurana" ger:ncia de mem*ria e
tratamento de interrup5es! Ele tem o controle prim%rio do 4ard,are do sistema" incluindo
registradores de controle e temporizadores! Ele carrega todos os controladores de dispositi#os"
fornece os utilit%rios comuns e coordena toda a ati#idade de E9-! / nMcleo de#e con4ecer as
especificidades do 4ard,are para combinar todas estas peas em um sistema que funcione!
/s dois e'tremos do pro$eto do nMcleo so as arquiteturas micro+ernel e nMcleos
monolticos! DicroNernels fornecem a funcionalidade rudimentar do sistema operacional"
apoiando3se em outros m*dulos para realizar tarefas espec&ficas" transferindo assim muitos
ser#ios t&picos do sistema operacional para o espao do usu%rio! <sto permite que muitos
ser#ios se$am reiniciados ou reconfigurados sem a necessidade de reiniciar todo o sistema
operacional! DicroNernels fornecem segurana porque os ser#ios que so e'ecutados em n&#el
de usu%rio t:m acesso restrito aos recursos do sistema! -uas principais caracter&sticas so seu
pequeno taman4o" sua f%cil portabilidade e seu con$unto de ser#ios e'ecutados um n&#el abai'o
do nMcleo! Contudo" ) necess%ria uma comunicao adicional entre o nMcleo e os outros
m*dulos" resultando muitas #ezes em um sistema mais lento e menos eficiente! E'emplos de
microNernel incluem Windows 2000 e Mach!
NMcleos monol&ticos fornecem a sua funcionalidade essencial por meio de um Mnico
processo! Consequentemente" eles so significati#amente maiores do que os microNernels!
Geralmente orientados para um 4ard,are em espec&fico" nMcleos monol&ticos interagem
diretamente com o 4ard,are" de modo que podem ser otimizados mais facilmente do que
sistemas operacionais microNernel! O por esta razo que nMcleos monol&ticos no so facilmente
port%#eis! E'emplos de sistemas operacionais de nMcleo monol&tico incluem Linu'" Dac/- e
E/-!
.isto que um sistema operacional consome" al)m de gerenci%3los" os pro$etistas de#em
considerar o taman4o total do produto pronto! Cor e'emplo" o -olaris da -un DicrosAstem
+#ers5es antigas0 requer cerca de = DF de espao em disco para uma instalao completaP o
Jindo,s 2000 requer cerca do dobro desta quantidade! <sso mostra o grande aumento da
funcionalidade de sistemas operacionais nas Mltimas d)cadas! / D-3E/- 1!0 cabia
conforta#elmente em um Mnico disquete de 100 BF!
Ser"ios do Sistemas Operaionais
Eurante as se5es anteriores foram mencionados alguns ser#ios mais importantes que o
sistema operacional fornece! / -/ super#isiona todas as tarefas cr&ticas de gerenciamento do
sistema" incluindo ger:ncia de mem*ria e processos" proteo e interao com dispositi#os de
E9-! Em seu papel de interface" o sistema operacional determina como o usu%rio interage com o
computador" ser#indo como um isolador entre o usu%rio e o 4ard,are!
Cada uma dessas fun5es ) um fator importante na determinao da performance geral
do sistema e de sua usabilidade! Ee fato" algumas #ezes poderemos aceitar uma performance
reduzida se o sistema for f%cil de usar! Em nen4um lugar este compromisso ) mais aparente do
que na %rea de interfaces gr%ficas!
A Inter#ae $umana
/ sistema operacional fornece um n&#el de abstrao entre o usu%rio e o 4ard,are da
m%quina! Nem usu%rios nem aplica5es #eem o 4ard,are diretamente porque o sistema
operacional pro#idencia uma interface para esconder os detal4es da m%quina nua!
As interfaces de usu%rio do sistema operacional podem ser di#ididas em duas categorias
gerais; inter%aces de lin/a de comando e inter%aces gr%icas com usurio +-.&s0! <nterfaces de
lin4a de comando fornecem um prompt para o usu%rio entrar com di#ersos comandos" incluindo
aqueles para copiar arqui#os" eliminar arqui#os" fornecer listagem de diret*rio e de manipulao
da estrutura de diret*rios! As interfaces de lin4a de comando e'igem que o usu%rio con4ea a
sinta'e do sistema" que muitas #ezes ) demasiado complicada para o usu%rio m)dio! GU<s" por
outro lado" fornecem uma interface mais acess&#el para o usu%rio casual! GU<s modernas
consistem de $anelas colocadas em uma superf&cie! Elas incluem caracter&sticas tais como &cones
e outras representa5es gr%ficas de arqui#os que so manipuladas usando mouse! E'emplos de
interfaces de lin4a de comando incluem shell do Uni' e o E/-! E'emplos de GU<s incluem as
di#ersas #ariantes do Dicrosoft Jindo,s e Dac/-!
A interface de usu%rio ) um programa" ou um pequeno con$unto de programas" que
constituem o %ereniador de e&i'io! Esse m*dulo ) normalmente separado das fun5es
b%sicas do sistema operacional encontradas no $ernel do sistema operacional!
(ereniamento de Proessos
/ gerenciamento de processos repousa no corao dos ser#ios do sistema operacional!
Ele inclui tudo" desde a criao dos processos +configurando as estruturas apropriadas para
armazenar informa5es sobre cada um0 e o escalonamento dos di#ersos recursos usados pelos
processos at) a eliminao dos processos e a limpeza ap*s o seu t)rmino! / sistema operacional
mant)m um ol4ar cuidadoso sobre as ati#idades de cada processo para e#itar pro!lemas de
sincronizao" os quais ocorrem quando processos concorrentes t:m acesso a recursos
compartil4ados! Estas ati#idades de#em ser monitoradas cuidadosamente para e#itar
inconsist:ncias nos dados e interfer:ncia acidental!
/ escalonamento de processos ) uma grande parte da rotina normal do sistema
operacional! Crimeiro" o sistema operacional de#e determinar quais so os processos a serem
admitidos no sistema! Eepois ele de#e determinar quais processo tero acesso Q UCC a qualquer
dado instante! -e um processo em e'ecuo necessita de E9- ou de outros recursos" ele
#oluntariamente libera a UCC e se coloca em uma lista de espera e outro processo ) escalado
para e'ecuo! Esta sequ:ncia de e#entos pro#oca a c4amada troca de conte1to! Eurante uma
troca de conte'to" todas as informa5es pertinentes a respeito dos processos atualmente em
e'ecuo so sal#as" de modo que quando aquele processo retorna" ele pode ser restaurado ao
estado e'ato no qual ele foi interrompido!
(ereniamento de Reursos
Al)m de gerenciar processos" o sistema operacional gerencia os recursos do sistema!
.isto que estes recursos so relati#amente caros" ) prefer&#el permitir que eles se$am
compartil4ados! Cor e'emplo" #%rios processos podem compartil4ar um processador" #%rios
programas podem compartil4ar mem*ria f&sica e di#ersos usu%rios e arqui#os podem
compartil4ar o disco! E'istem tr:s recursos que constituem a preocupao principal do sistema
operacional; a UCC" a mem*ria e a E9-! / acesso Q UCC ) controlado pelo escalonador! / acesso
Q mem*ria e Q E9- requerem um con$unto diferente de controles e fun5es!
Relembrando a aula de mem*rias" sabemos que a maior parte dos sistemas modernos tem
algum tipo de mem*ria #irtual que estende a RAD! <sto implica que partes de di#ersos
programas coe'istam na mem*ria e que cada processo de#a ter uma tabela de p%ginas!
/riginalmente" antes de sistemas operacionais serem pro$etados para lidar com mem*ria #irtual"
o programador implementa#a a mem*ria #irtual usando uma t)cnica de sobreposio! -e um
programa era muito grande grande para caber na mem*ria" o programador o di#idia em partes"
carregando apenas os dados e as instru5es necess%rias para serem e'ecutadas em um dado
momento! / programador era respons%#el por gerenciar a mem*ria! Agora os sistemas
operacionais tomaram para si esta tarefa! / sistema operacional traduz endereos #irtuais para
endereos f&sicos" transfere p%ginas de e para o disco e mant)m as tabelas de p%gina de mem*ria!
Se%urana e Proteo
Em seu papel de gerenciador de recursos e processos" o sistema operacional tem de
assegurar que tudo funcione de forma correta" sua#e e eficiente! / compartil4amento de
recursos" entretanto" cria muitas situa5es" tais como possibilidade de acesso no autorizado ou a
modificao de dados! Cortanto" o sistema operacional tamb)m atua como protetor de recursos"
assegurando que 6usu%rios e aplicati#os maliciosos7 e soft,are com defeito no arru&ne as coisas
para todos os outros! /s processos concorrentes de#em ser protegidos uns dos outros" e
processos do sistema operacional de#em ser protegidos contra todos os processos de usu%rio!

Potrebbero piacerti anche