Professional Documents
Culture Documents
Sistemas Operacionais
Prof. Dr. Evandro de Arajo Jardini eajardini@yahoo.com.br
Sistema Operacional
Um computador sem software nada seria. O software pode ser dividido em duas categorias: os programas do sistema, que gerenciam a operao do prprio computador, e os programas de aplicao, que resolvem problemas para seus usurios. O mais importante dos programas de sistema o sistema operacional, que controla todos os recursos do computador, e fornece a base sobre a qual os programas aplicativos so escritos. Controlar o funcionamento de um computador, gerenciando a utilizao e o compartilhamento dos seus diversos recursos, como processadores, memrias e dispositivos de entrada e sada.
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 2
Funo
Sistema Operacional
u s u r i o s p r o g r a m a d o r e s e a n a l i s t a s
p r o g r a m a s , s i s t e m a s e a p l i c a t i v o s
s u r i o s
S i s t e m
p e r a c i o n a l
e m
r i a H a r d w a r e
d i s c o s
f i t a s
Mquina de nveis
Um sistema de computao possui, normalmente, diversos componentes como monitores, impressoras, discos, teclados, etc. Quando utilizamos estes dispositivos no nos preocupamos com a maneira como so realizadas esta comunicao e os inmeros detalhes envolvidos. Uma operao de ler o disco rgido exige um conjunto muito grande de rotinas especificas, como por exemplo, converter um endereo lgico em fsico, posicionar a cabea na trilha correta, esperar pelo setor correto passar, etc. A funo do sistema operacional, nesse ponto de vista, apresentar ao usurio uma mquina virtual equivalente ao hardware, porm muito mais fcil de programar.
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 4
Mquina de nveis
colocar uma camada de software em cima do hardware para gerenciar todos os componentes de hardware do sistema.
Fazendo aparecer ao usurio como uma interface muito simples de entender e programar. Tal interface a mquina virtual, e a camada de software o Sistema Operacional.
Histria
A evoluo dos Sistemas Operacionais est intimamente relacionada com o desenvolvimento dos computadores. A Segunda Guerra Mundial acelerou as pesquisas para o desenvolvimento dos primeiros computadores (Mark I, ENIAC etc.), objetivando dinamizar o processo de realizao de clculos. Os computadores, ento desenvolvidos, eram baseados em vlvulas. Ocupavam salas inteiras e no possuam um SO. Com isso, programar, por exemplo, o ENIAC para realizar um determinado clculo poderia levar dias, pois era necessrio conhecer profundamente o funcionamento de seu hardware e utilizar linguagem deFederal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini Instituto mquina. 6
Histria
A evoluo dos Sistemas Operacionais est intimamente relacionada com o desenvolvimento dos computadores. O desenvolvimento do transistor permitiu um grande avano da informtica. Assim,os computadores tornaram-se menores, mais confiveis e mais rpidos. Nesta dcada observa-se o surgimento dos primeiros SOs e a programao das mquinas se dava atravs de cartes perfurados.
( a )
j o b j o b 1
P r o c e s s a m
e n t o f i t a d e e n t r a d a
c a r t e s
p e r f u r a d o s
( b ) f i t a d e e n t r a d a
P r o c e s s a m
e n t o f i t a d e s a d a
r e l a t r i o
( c ) f i t a d e s a d a
P r o c e s s a m
e n t o
r e l a t r i o r e l a t r i o 1
Nesta dcada entram em cena os circuitos integrados (CIs), o que permitiu que os computadores se tornassem mais baratos e, portanto, mais acessveis s organizaes empresariais. Na poca em questo. Na poca em questo os processos no mais monopolizavam o uso do processador mas sim compartilhavam o mesmo. Esta tcnica de processamento acabou ficando conhecida como processamento time-sharing ou processamento de tempo compartilhado.
10
Nesta dcada a integrao em larga escala (Large Scale Integration LSI) e a integrao em muito grande escala (Very Large Scale Integration - VLSI) permitiram uma reduo significativa no tamanho e no custo dos computadores. Com isso, os computadores com mltiplos processadores tornaram-se acessveis e os processos passaram a ser executados em paralelo. Este tipo de processamento multiprocessamento. ficou conhecido como
11
Os computadores pessoais tornam-se mais acessveis comercialmente e a micro-computao se consolidou. Assim, surgiram os SOs voltados especificamente para os ento chamados microcomputadores. interessante destacar que neste perodo a rpida evoluo dos processadores dos computadores pessoais permitiu que seus SOs incorporassem importantes recursos como interface grfica e multimdia.
12
Durante a dcada de 1990 o crescimento das redes de computadores, especialmente a Internet, propiciou o surgimento de sistemas computacionais novos. Esses sistemas se caracterizam por possurem uma coleo de processadores que no compartilham memria ou barramento e que se comunicam via rede. Eles acabaram sendo chamados de sistemas fracamente acoplados que possibilitaram o surgimento dos sistemas distribudos.
13
14
Os primeiros Sistemas Operacionais eram tipicamente voltados para a execuo de um nico programa. Qualquer outra aplicao, para ser executada, deveria aguardar o trmino do programa corrente. Os sistemas mono-programveis se caracterizam por permitir que o processador, a memria e os perifricos permaneam exclusivamente dedicados execuo de um nico programa.
r o g r a m t a r e f a
M e m r i a P r i n c i p a l
i s p o s i t i v o d e E / S
15
Neste tipo de sistema, os recursos computacionais so compartilhados entre os diversos usurios e aplicaes. As vantagens do uso de tais sistemas so a reduo do tempo de resposta das aplicaes processadas no ambiente e de custos, a partir do compartilhamento dos diversos recursos do sistema entre as diferentes aplicaes.
p r o g r a m t a r e f a a / p r o g r a m t a r e f a a /
M e m r i a P r i n c i p a l
i s p o s i t i v o e E / S
r o g r a m t a r e f a
r o g r a m t a r e f a
16
Os sistemas multiprogramveis podem tambm ser classificados pela forma com que suas aplicaes so gerenciadas, podendo ser divididos em:
v e i s /
S i s t e m B a t c h
a s
S i s t e m T e m p o C
a s o m
d e p a
r t i l h a
S i s t e m a s d T R e a d eo m p o
17
Sistemas Batch
Foram os primeiros tipos de SOs multiprogramveis a serem implementados. Tem a caracterstica de no exigir a interao do usurio com a aplicao. Todas as entradas e sadas de dados so implementadas por algum tipo de memria secundria, geralmente arquivos em disco. Atualmente, os Sistemas Operacionais implementam ou simulam o processamento batch, no existindo sistemas exclusivamente dedicados a este tipo de processamento.
18
Tais sistemas, tambm conhecidos como time-sharing, permitem que diversos programas sejam executados a partir da diviso do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). Caso a fatia de tempo no seja suficiente para a concluso do programa, esse interrompido pelo SO e substitudo por um outro, enquanto fica aguardando por uma nova fatia de tempo. O sistema cria um ambiente de trabalho prprio, dando a impresso de que todo o sistema est dedicado, exclusivamente, para cada usurio.
19
Exerccios
1) Como seria utilizar um computador sem um Sistema Operacional? 2) O que um Sistema Operacional? Fale sobre suas principais funes. 3) Defina o conceito de uma mquina de nveis ou camadas. 4) Quais os tipos de Sistemas Operacionais existentes? 5) Por que dizemos que existe uma subutilizao de recursos em sistemas monoprogramveis? 6) Qual a grande diferena entre sistemas monoprogramveis e multiprogramveis? 7) Quais as vantagens dos sistemas multiprogramveis? 8) Um sistema monousurio pode ser um sistema multiprogramvel? D um exemplo. 9) Quais so os tipos de sistemas multiprogramveis?
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 20
O Sistema Operacional est intimamente ligado ao hardware do computador no qual ele executado. Para funcionar, deve-se ter um grande conhecimento deste hardware, pelo menos do ponto de vista do programador. De modo resumido pode-se definir: Hardware: a parte fsica Software: so os programas executados dentro do hardware. Porm antes de entrar nestes conceitos, faz-se necessrio a introduo dos conceitos referentes s unidades mtricas de armazenamento usadas na informtica.
21
Unidades e Armazenamento
O sistema de medio da memria: byte (B) 1 byte formato por 8 bits Byte significa a utilizao de um caractere de memria Armazenados na memria em formato binrio: somente 0 e 1 8 em decimal = 0001000 em binrio Binrio a linguagem do computador (0 e 1)
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 22
Unidades e Armazenamento
Byte (b)
8 bits Ex.: 10 b 1024bytes Ex.: 10 Kb. 1024 Kb. 1024 bytes X 1024 bytes = 1 048 576 bytes Ex.: 200 Mb. 1024 Mb 1024 bytes X 1024 bytes X 1024 bytes = 1 073 741 824 bytes Ex.: 3 Gb
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 23
KiloByte (Kb):
MegaByte (Mb):
GigaByte (Gb):
Hardware
Conceitualmente, um computador pessoal simples pode ser abstrado para um modelo semelhante ao da figura abaixo. A CPU, a memria e os dispositivos de E/S esto todos conectados por um barramento, o qual proporciona a comunicao de uns com os outros.
P r o c e s s a d o r /
e
i d
a d e U L n i g d i ac ad e d r i t m C t i oc an t r o l e
M e m r i a P r i n c i p a l
R e g i s t r a d o r e s
i s p o s i t i v o e E / S
24
Processador
O processador, tambm denominado Unidade Central de Processamento (UCP ou CPU), gerencia todo o sistema computacional controlando as operaes realizadas nele. A principal funo do processador controlar e executar instrues presentes na memria principal, atravs de operaes bsicas como somar, subtrair, comparar e movimentar dados. Cada processador composto por uma unidade de controle, unidade lgica e aritmtica, e registradores.
A unidade de controle responsvel por gerenciar as atividades de todos os componentes do computador, como a gravao de dados em discos ou a busca de instrues na memria. A unidade lgica e aritmtica, como o nome indica, responsvel pela realizao de operaes lgicas (testes e comparaes) e aritmticas (somas e subtraes).
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 25
Processador
Os registradores so dispositivos com a funo principal de armazenar dados temporariamente. O conjunto de registradores funciona como uma memria de alta velocidade interna do processador, porm com uma capacidade de armazenamento reduzida e custo maior ao da memria principal.
Memria Principal
o local onde so armazenados instrues e dados. A memria composta por unidades de acesso chamadas clulas, sendo cada clula composta por um determinado nmero de bits. A grande maioria dos computadores utiliza o byte (8 bits) como tamanho da clula.
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 26
Memria Principal
A memria principal pode ser classificada em funo de sua volatilidade, que a capacidade de a memria preservar o seu contedo mesmo sem uma fonte de alimentao ativa. Memrias do tipo RAM (Random Access Memory) so volteis. Memrias ROM (Read-Only Memory) do tipo no-volteis.
27
Memria Cache
uma memria voltil de alta velocidade, porm com pequena capacidade de armazenamento. O tempo de acesso a um dado nela contido muito menor do que se este dado estivesse na memria principal. Toda vez que o processador faz referncia a um dado armazenado na memria, verificado, primeiramente, se ele se encontra na cache. Caso o processador encontre o dado, no h necessidade do acesso memria principal, diminuindo assim o tempo de acesso. Apesar de ser uma memria de acesso rpido, a capacidade de armazenamento das memrias cache limitada em funo do seu alto custo.
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 28
Memria Secundria
no-voltil
de
Enquanto a memria principal precisa estar sempre energizada para manter as informaes, a memria secundria no precisa de alimentao. O acesso memria secundria lento, se comparado memria principal, porm seu custo baixo e sua capacidade de armazenamento bem superior. Enquanto a unidade de acesso memria secundria da ordem de milissegundos, a acesso memria principal de nanossegundos.
Os dispositivos so constitudos, geralmente, de duas partes: o controlador e o dispositivo propriamente dito. O controlador um chip ou um conjunto deles que controla fisicamente o dispositivo.
Ele recebe comandos do sistema operacional, por exemplo, para ler dados do dispositivo e para envi-los. Cabe ao controlador apresentar uma interface mais simples para o SO.
A outra parte o dispositivo real. Eles possuem interfaces bastante simples porque no fazem nada muito diferente, e isso ajuda a torn-los padronizados. Visto que cada controlador diferente, diferentes programas so necessrios para control-los. O programa que se comunica com um controlador, emitindo comandos a ele e aceitando respostas, denominado driver doArajo Jardini Instituto Federal de Votuporanga - Prof. Dr. Evandro de dispositivo. 30
Barramento
um meio fsico de comunicao entre as unidades funcionais de um sistema computacional. Existem trs barramentos mais utilizados: IDE, USB e SCSI.
O barramento IDE (Integrated Drive Electronics) serve para acoplar ao sistema dispositivos perifricos como discos e CDs. O USB (Universal Serial Bus barramento serial universal) foi inventado para conectar ao computador todos os dispositivos lentos de E/S, como teclado e mouse. O barramento SCSI (Small Computer System Interface interface de pequeno sistema de computadores) um barramento de alto desempenho destinado a discos rpidos, scanners e outros dispositivos que precisem de considervel largura de banda.
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 31
Software
Para que o hardware tenha utilidade prtica, deve existir um conjunto de programas,utilizado como interface entre as necessidades do usurio e as capacidades do hardware. A utilizao de softwares adequados s diversas tarefas e aplicaes torna o trabalho dos usurios muito mais simples e eficiente. Denomina-se utilitrio para fazer referncia a softwares relacionados mais diretamente com servios complementares do SO, como compiladores, linkeditores e depuradores. Os softwares desenvolvidos denominados aplicativos. pelos usurios sero
32
TRADUTOR
Nos primeiros sistemas computacionais, o ato de programar era bastante complicado, j que o programador deveria possuir conhecimento da arquitetura da mquina e pro gramar em painis atravs de fios. Com o surgimento das primeiras linguagens de montagem ou assembly e das linguagens de alto nvel, o programador deixou de se preocupar com muitos aspectos pertinentes ao hardware.
Como em qual regio da memria o programa deveria ser carregado ou quais endereos de memria seriam reservados para as variveis.
TRADUTOR
Dependendo do tipo do programa-fonte, existem dois tipos distintos de tradutores que geram mdulos-objeto:
Montador e Compilador.
34
TRADUTOR
Montador
O montador o utilitrio responsvel por traduzir um programafonte de uma linguagem de montagem em um programa objeto no executvel (mdulo-objeto). Uma linguagem de montagem uma linguagem considerada de baixo nvel ou seja, ligada diretamente ao hadware como o assembly. O compilador o utilitrio responsvel por gerar, a partir de um programa escrito em uma linguagem de alto nvel, um programa objeto no executvel. As linguagens de alto nvel como Pascal, Cobol e C, no tm nenhuma relao direta com a mquina, ficando essa preocupao exclusivamente com o compilador.
Compilador
Assim, um programa feito em C pode ser portado para vrias Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini plataformas.
35
INTERPRETADOR
considerado um tradutor que no gera mdulo-objeto. A partir de um programa fonte escrito em linguagem de alto nvel, o interpretador, durante a execuo do programa, traduz cada instruo e a executa imediatamente. Algumas linguagens tipicamente interpretadas so o Basic e Perl. A maior desvantagem na utilizao de interpretadores o tempo gasto na traduo das instrues de um programa toda vez que este for executado, j que no existe a gerao de um cdigo executvel.
36
LINKEDITOR
o utilitrio responsvel por gerar, a partir de um ou mais mdulos-objeto, um nico programa executvel. Suas funes bsicas so resolver todas as referncias simblicas existentes entre os mdulos e reservar memria para a execuo do programa.
37
INTERPRETADOR DE COMANDOS
O interpretador de comandos ou Shell permite que o usurio se comunique diretamente com o Sistema Operacional. Atravs de comandos simples, o usurio pode ter acesso a diversas funes e rotinas especficas do sistema. Dessa forma, o usurio dispe de uma interface direta com o Sistema Operacional para realizar tarefas como criar, ler ou eliminar arquivos, consultar diretrios ou verificar a data e hora armazenada no sistema.
38
Inicialmente, todo o cdigo do Sistema Operacional reside no H.D. Toda vez que um computador ligado, o Sistema Operacional tem que ser carregado da memria secundria para a memria principal. Esse procedimento, denominado ativao do sistema (boot), realizado por um programa localizado em um bloco especfico do disco (rea de boot).
Este procedimento permite que as aplicaes e componentes do Sistema Operacionaldesejam desativados deArajo Jardini Instituto Federal Votuporanga - Prof. Dr. Evandro de forma ordenada, 39 garantindo sua integridade.
Exerccios
1) Quais so as unidades funcionais de um sistema computacional? 2) Quais os componentes de um processador e quais so suas funes? 3) Conceitue o memrias volteis e no-volteis? 4) Conceitue memria cache e apresente as principais vantagens do seu uso. 5) Quais as diferenas entre memria principal e memria secundria? 6) Por que o cdigo-objeto gerado pelo tradutor ainda no pode ser executado? 7) Por que a execuo de programas interpretados mais lenta que a de compilados? Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini
40
FIM
Instituto Federal de Votuporanga - Prof. Dr. Evandro de Arajo Jardini 41