Você está na página 1de 15

SISTEMAS OPERACIONAIS

CONCEITOS BSICOS
O que um Sistema Operacional?
Sistema operacional, o programa principalde um computador. atravs do
sistema operacional que temos a interao entreHardware e Software.
Seu trabalho gerenciar os componentes doncomputador e fornecer aos
programas de usurios uma interface simples de acesso ao hardware.
O Sistema Operacional um conjunto de ferramentas necessrias para que um
computador possa ser utilizado de forma adequada, pois consiste de
intermedirio entre o aplicativo e a camada fsica do hardware. Este conjunto
constitudo por um Kernel, ou ncleo, e um conjunto de software bsicos, que
executam operaes simples, mas que juntos fazem uma grande diferena
Tipos de servios:
Acesso aos perifricos
Utilizao simples de recursos pelo usurio
Manipulao de dados (arquivos e diretrios)
Controle de recursos compartilhados
Para isso, ele deve ser responsvel pela:
Gerncia do processador, tambm conhecida como gerncia de processos, seu
objetivo visa distribuir de forma justa o processamento evitando o monoplio do
processador e respeitando a prioridade dos usurios e aplicaes.
Gerncia de memria, objetiva fornecer um espao isolado de memria para
cada processo de forma que ele se sinta nico na memria. So necessrios
recursos (memria virtual paginao e segmentao) para que este objetivo seja
cumprido de forma eficiente e atenda todos os processos ativos.
Gerncia de dispositivos, objetiva garantir o acesso aos dispositivos de forma
mais fcil possvel (drivers) aos usurios, criando modelos que generalizem a
utilizao dos dispositivos (lembrar do conceito de bloco no HD).
Gerncia de arquivos, uma implementao especfica da gerencia de
dispositivos, trabalhando apenas com o processo de armazenamento e acesso aos
dados, atualmente atravs de arquivos e diretrios.
Gerncia de proteo, definir o acesso harmnico em sistemas de vrios usurios
com compartilhamento de recursos, como por exemplo, pastas compartilhadas
em rede.



Dispositivos de Armazenamento
So as unidades de armazenamento de dados (memrias auxiliares) que existem
no computador. Podem ser fixos (locais) ou removveis. Exemplos:
Disco rgido (fixo)
CD / DVD (removvel)
USB drive (removvel)
Carto de memria (removvel)
Disco rgido externo (removvel)
Os dispositivos de armazenamento recebem um identificador, que usamos para
acess-los e que varia de acordo com o sistema operacional:
No Windows: letras de A a Z, seguidos de :
A:, B: unidades de disquete
C:, D:, E:, F:, ... podem ser discos rgidos, unidades de CD/DVD, USB drives ou
outros, nesta ordem de prioridade (que pode ser alterada noSO
No Linux: so abreviaes acessadas na forma de subpastas de uma pasta especial
(/dev)
/dev/hda disco rgido
/dev/cdrom drive de CD/DVD
/dev/fd disco flexvel (disquete)
Arquivo
Quase tudo o que fazemos num sistema operacional envolve a manipulao de
arquivos.
Um arquivo uma seqncia de bytes gravados num meio de armazenamento
(memria auxiliar) como um disco rgido, CD, DVD, USB drive, etc.
Exemplos:
Documento de texto
Um programa (todo programa um arquivo)
Um arquivo de msica
Uma foto




Arquivo
Todo arquivo tem algumas caractersticas ou atributos que o identificam e
diferenciam de outros arquivos:
Nome
Identifica o arquivo e o seu contedo (o que est gravado no aquele arquivo)
Ex:
Trabalho de informtica
Scorpions Still loving you
De acordo com o S.O., no pode conter alguns caracteres especiais: / \ : * ? < >
Tipo
Identifica o tipo do arquivo, ou seja, o tipo de contedo daquele arquivo e,
conseqentemente, qual programa usado para abrir ou alterar esse arquivo
Todo arquivo tem um programa especfico (e voc precisa ter esse programa
instalado no seu micro) para abri-lo ou alter-lo. A extenso permite ao sistema
operacional identificar o programa que abre o arquivo
A extenso atua como um sobrenome do arquivo. Normalmente uma sigla de
trs ou mais caracteres Na interface grfica, normalmente h um cone (figura)
especfico e facilmente identificvel para cada tipo de arquivo
Tamanho
Indica o tamanho do arquivo em bytes, K Bytes, M Bytes, G Bytes, etc.
Pelo tamanho podemos concluir se um arquivo cabe ou no no espao livre de
um determinado dispositivo de armazenamento
DICA: Existem alguns programas que compactam um arquivo, criando um outro
arquivo (arquivo compactado) de tamanho menor.
Pastas
Recurso utilizado para organizar os arquivos nos dispositivos de
armazenamento, facilitando a localizao dos mesmos. Normalmente criamos pastas por
tipo de arquivo ou categoria. A pasta principal chamada de raiz ( \ ). Uma pasta pode
contar outras pastas (subpastas)



Arquitetura de um S.O
Esta arquitetura simples e intuitiva de ser entendida. O kernel presta servio
aos programas de usurios e recebe servios do microkernel. A separao entre estes
dois nveis diz respeito a separao dos servios bsicos oferecidos.

Um sistema operacional pode oferecer servios tambm na camada de utilitrios
(programas de usurio) confundindo muitas vezes o usurio, uma vez que tais servios
so distribudos pelo prprio fornecedor do software.
Arquitetura Interna de um S.O
A eficincia do SO decorrente das facilidades impostas e multiprogramao ,
que por sua vez s ocorrem pois ele est organizado internamente, viabilizando dois
tipos de eventos:
Chamada de sistema uma solicitao de recurso por parte de um programa
que est sendo executado. Diversas preocupaes associadas podem ser listadas,
como por exemplo: permisso do usurio a este recurso.
Interrupo de perifrico o processador para o processo que est executando
para atender a um retorno de um perifrico (controladora dele) informando que o
recurso est disponvel.








CLASSIFICAO DE UM SISTEMA OPERACIONAL

Introduo
Tipos de sistemas operacionais e sua evoluo esto intimamente relacionados
com a evoluo do hardware e das aplicaes por ele suportadas.
Muitos termos inicialmente introduzidos para definir conceitos e tcnicas forma
substitudos por outros, na tentativa de refletir uma nova maneira de intera ou ou
processamento. Isto fica muito claro quanto tratamos da unidade de execuo do
processador. Inicialmente, os termos programa ou job eram os mais utilizados, depois
surgiu o conceito de processo e subprocesso e, mais recentemente, os conceitos de
tarefa e de thread.
A evoluo dos sistemas operacionais para computadores pessoais e estaes de
trabalho popularizou vrios conceitos e tcnicas, antes s conhecidos em ambientes de
grande porte. A nomenclatura, no entanto, no se manteve a mesma. Surgiram novos
termos para conceitos j conhecidos, que foram apenas adaptados para uma nova
realidade.

Tipos de sistemas operacionais
Tipos de Sistemas Operacionais
Sistemas Monoprogramveis/Monotarefa
Sistemas Multiprogramveis/Multitarefa
Sistemas Batch
Sistemas de Tempo Compartilhado
Sistemas de Tempo Real
Sistemas com Mltiplos Processadores
Sistemas Fortemente Acoplados
Sistemas Simtricos
Sistemas Assimtricos
Sistemas Fracamente Acoplados
Sistemas Operacionais de Rede
Sistemas Operacionais Distribudos
Tipos de Sistemas
Operacionais
Sistemas
Monoprogamveis/
Monotarefa
Sistemas
Multiprogramveis/
Multitarefa
Sistemas com
Mltiplos
Processadores
Sistemas Monoprogramveis/Monotarefa
Os primeiros sistemas operacionais eram tipicamente voltados para a execuo
de um nico programa. Qualquer outro programa, para ser executado, deveria aguardar
o trmino do programa corrente. Os sistemas monoprogramveis, como vieram a ser
conhecidos, se caracterizam por permitir que o processador, a memria e os perifricos
permaneam exclusivamente dedicados execuo de um nico programa.
Neste tipo de sistema, enquanto um programa aguarda por um evento, como a
digitao de um dado, o processador permanece ocioso, sem realizar qualquer tipo de
processamento. A memria subtilizada caso o programa no a preencha totalmente, e
os perifricos, como discos e impressoras, esto dedicados a um nico usurio.
Comparados a outros sistemas, os sistemas monoprogramveis/monotarefa so
de simples implementao, no existindo muita preocupao com problemas de
proteo.

Sistemas monoprogramveis/monotarefa
Sistemas Multiprogramveis/Multitarefa
Os Sistemas Multiprogramveis, que vieram a substituir os monoprogramveis,
so mais complexos e eficientes. Enquanto em sistemas monoprogramveis existe
apenas um programa utilizando seus diversos recursos, nos multiprogramveis vrios
programas dividem esses mesmos recursos.
As vantagens do uso de sistemas multiprogramveis so o aumento da
produtividade dos seus usurios e a reduo de custos, a partir do compartilhamento dos
diversos recursos do sistema.
A partir do nmero de usurios que interagem com o sistema, podemos
classificar os sistemas multiprogramveis como monousurio e multiusurio.
O conceito de sistemas multiprogramvel est tipicamente associado aos
mainframes e minicomputadores, onde existe a idia do sistema sendo utilizado por
vrios usurios (multiusurio). No mundo dos computadores pessoais e estaes de
UCP
Memria
Dispositivos
de E/S
Programa/
Tarefa
trabalho, apesar de existir apenas um nico usurio interagindo como sistema
(monousurio), possvel que ele execute diversas tarefas concorrentemente ou mesmo
simultaneamente. Os sistemas multitarefa, como tambm so chamados, se caracterizam
por permitir que o usurio edite um texto, imprima um arquivo, copie um arquivo pela
rede e calcule uma planilha. Abaixo esto relacionados os tipos de sistemas em funo
do nmero de usurios
Um usurio Dois ou mais usurios
Monoprogramao/
Monotarefa
Monousurio N/A
Multiprogramao/
Multitarefa
Monousurio Multiusurio
Sistemas X Usurios
Os sistemas multiprogramveis/multitarefa podem ser classificados pela forma
com que suas aplicaes so gerenciadas, podendo ser divididos em sistemas batch, de
tempo compartilhado ou de tempo real. Um sistema operacional pode suportar um ou
mais desses tipos de processamento.
Sistemas
Multiprogramveis/Multirefa
Sistemas
Batch
Sistemas de
Tempo compartilhado
Sistemas de
Tempo Real

Tipos de sistemas multiprogramveis/multitarefa
Sistemas Batch
Os sistemas batch (lote) foram os primeiros sistemas multiprogramveis a serem
implementados e caracterizam-se por terem seus programas, quando submetidos,
armazenados em disco ou fita, onde esperam para ser executados seqencialmente.
Normalmente, os programas, tambm chamados de jobs, no exigem interao
com os usurios, lendo e gravando dados em discos e fitas. Alguns exemplos de
aplicaes originalmente processadas em batch so compilaes, linkedies, sorts,
backups e todas aquelas onde no necessria a interao com o usurio.


Sistemas de Tempo Compartilhado
Os sistemas de tempo compartilhado (time-sharing) permitem a interao dos
usurios com o sistema, basicamente atravs de terminais que incluem vdeo, teclado e
mouse. Dessa forma, o usurio pode interagir diretamente com o sistema em cada fase
do desenvolvimento de suas aplicaes e, se preciso, modific-las imediatamente.
Devido a esse tipo de interao, os sistemas de tempo compartilhado tambm ficaram
conhecidos como sistemas on-line.
Para cada usurio, o sistema operacional aloca uma fatia de tempo (time-slice)
do processador. Caso o programa do usurio no esteja concludo nesse intervalo de
tempo, ele substitudo por um de outro usurio, e fica esperando por uma nova fatia de
tempo. No s o processador compartilhado nesse sistema, mas tambm a memria e
os perifricos, como discos e impressoras. O sistema cria para o usurio um ambiente de
trabalho prprio, dando a impresso de que todo o sistema est dedicado,
exclusivamente, a ele.
Sistemas de tempo compartilhado so de implementao complexa, porm, se
levado em considerao o tempo de desenvolvimento e depurao de uma aplicao,
aumentam consideravelmente a produtividade dos seus usurios, reduzindo os custos de
utilizao do sistema.
Sistemas de Tempo Real
Os sistemas de tempo real (real time) so bem semelhantes em implementao
aos sistemas de tempo compartilhado. A maior diferena o tempo de resposta exigido
no processamento das aplicaes.
Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar
sem comprometer as aplicaes em execuo, nos sistemas de tempo real os tempos de
resposta devem estar dentro de limites rgidos, que devem ser obedecidos, caso
contrrio podero ocorrer problemas irreparveis.
No existe idia de fatia de tempo, um programa detm o processador o tempo
que for necessrio, ou at que aparea outro prioritrio em funo de sua importncia no
sistema. Esta importncia ou prioridade de execuo controlada pela prpria aplicao
e no pelo sistema operacional, como nos sistemas de tempo compartilhado.
Esses sistemas, normalmente, esto presentes em controle de processos, como no
monitoramento de refinarias de petrleo, controle de trfego areo, de usinas
termeltricas e nucleares, ou em qualquer aplicao onde o tempo de resposta fator
fundamental.
Sistemas com Mltiplos Processadores
Os sistemas com mltiplos processadores caracterizam-se por possuir duas ou
mais UCPS interligadas, trabalhando em conjunto. Um fator-chave no desenvolvimento
de sistemas operacionais com mltiplos processadores a forma de comunicao entre
as UCPs e o grau de compartilhamento da memria e dos dispositivos de entrada e
sada. Em funo desses fatores, podemos classificar os sistemas em fortemente
acoplados ou fracamente acoplados.

Sistemas com mltiplos processadores.
Sistemas Fortemente Acoplados
Nos sistemas fortemente acoplados (tightly coupled) existem vrios
processadores compartilhando uma nica memria e gerenciados por apenas um sistema
operacional. Mltiplos processadores permitem que vrios programas sejam executados
ao mesmo tempo, ou que um programa seja dividido em subprogramas, para execuo
simultnea em mais de um processador. Dessa forma, possvel ampliar a capacidade
de computao de um sistema, adicionando-se apenas novos processadores, com um
custo muito inferior aquisio de outros computadores.
Com o multiprocessamento, novos problemas de concorrncia foram
introduzidos, pois vrios processadores podem estar acessando as mesmas reas de
memria. Alm disso, existe o problema de organizar de forma eficiente os
processadores, a memria e os perifricos.
Uma conseqncia do multiprocessamento foi o surgimento dos computadores
voltados, principalmente, para processamento cientfico, aplicado, por exemplo, ao
desenvolvimento aeroespacial, prospeo de petrleo, simulaes, processamento de
imagens e CAD. A princpio qualquer aplicao que faa uso intensivo da UCP ser
beneficiada pelo acrscimo de processadores ao sistema.

Sistemas com Mltiplos
Processadores
Sistemas Fracamente
Acoplados
Sistemas Fortemente
Acoplados
Sistemas
Operacionais
Distribudos
Sistemas
Operacionais de Rede
Sistemas
Simtricos
Sistemas
Assimtricos

Sistemas fortemente acoplados


Sistemas fracamente acoplados

Sistemas Assimtricos
Na organizao assimtrica ou mestre/escravo(master/slave), somente um
processador (mestre) pode executar servios do sistema operacional, como, por
exemplo, realizar operaes de entrada/sada. Sempre que um processador do tipo
escravo precisar realizar uma operao de entrada/sada, ter de requisitar o servio ao
processador mestre. Dependendo do volume de operaes de entrada/sada destinadas
aos processadores escravos, o sistema pode se tornar ineficiente, devido ao elevado
nmero de interrupes que devero ser tratadas pelo mestre.

Sistemas assimtricos
UCP
Memria
Dispositivos
de E/S
UCP
Dispositivos
de E/S
UCP
Memria
Dispositivos
de E/S
UCP
Memria
Dispositivos
de E/S
Link de Comunicao
UCP Slave UCP Master
Dispositivos
de E/S
S.O
Usurios Usurios
Se o processador falhar, todo o sistema ficar incapaz de continuar o
processamento. Neste caso, o sistema deve ser reconfigurado, fazendo um dos
processadores escravos assumir o papel do mestre.
Mesmo sendo uma organizao simples de implementar e quase um extenso
dos sistemas multiprogramveis, esse tipo de sistema no utiliza eficientemente o
hardware, devido assimetria dos processadores, que no realizam as mesmas funes.
Sistemas Simtricos
O multiprocessamento simtrico (Simmetric Multiprocessing- SMP), ao
contrrio da organizao mestre/escravo, implementa a simetria dos processadores, ou
seja, todos os processadores realizam as mesmas funes. Apenas algumas poucas
funes ficam a cargo de um nico processador, como, por exemplo, a inicialiazao
(boot) do sistema.


Sistemas simtricos

Como vrios processadores esto utilizando, independentemente, a mesma
memria e o mesmo sistema operacional, natural a ocorrncia de acessos simultneos
s mesmas reas de memria. A soluo desses conflitos fica a cargo do hardware e do
sistema operacional.
No processamento simtrico, um programa pode ser executado por qualquer
processador, inclusive por vrios processadores ao mesmo tempo (paralelismo). Alm
disso, quando um processador falha, o sistema continua em funcionamento sem
nenhuma interferncia manual, porm com menor capacidade de computao.
Os sistemas simtricos so mais poderosos que os assimtricos, permitindo um
melhor balanceamento do processamento e das operaes de entrada/sada, apesar de
sua implementao ser bastante complexa.
Multiprocessamento
Desde sua criao, os computadores tm sido vistos como mquinas seqncias, onde a
UCP executa a instrues de um programa, uma de cada vez. Na realidade, essa viso
no totalmente verdadeira, pois, em nvel de hardware, mltiplos sinais esto ativos
simultaneamente, o que pode ser entendido como uma forma de paralelismo.
UCP UCP
Dispositivos
de E/S
S.O
Usurios
Com a implementao de sistemas com mltiplos processadores, o conceito de
simultaneidade ou paralelismo pode ser expandido a um nvel mais amplo, denominado
multiprocessamento, onde uma tarefa pode ser dividida e executada, ao mesmo tempo,
por mais de um processador.
Organizao Funcional
O esquema de comunicao interna das UCPs, memria e dipositivos de E/S (unidades
funcionais) fundamental no projeto de sistemas com mltiplos processadores, pois
determina quantas UCPs o sistema poder ter e como ser o acesso memria.
Para permitir mltiplos acessos simultneos memria (interliving), comum que esta
dividida em mdulos, podendo assim ser compartilhada por vrias unidades funcionais.
As organizaes funcionais de multiprocessadores podem ser divididas basicamente em
trs tipos: barramento comum, barramento cruzado e memria multiport.
Sistemas Fracamente Acoplados
Os sistemas fracamente acoplados caracterizam-se por possuir dois ou mais
sistemas de computao interligados, sendo que cada sistema possui o seu prprio
sistema operacional, gerenciando os seus recursos, como processador, memria e
dispositivos de entrada/sada.
At meados da dcada de 80, os sistemas operacionais e as aplicaes suportadas
por eles eram tipicamente concentradas em sistemas de grande porte, com um ou mais
processadores. Nos sistemas centralizados, os usurios utilizam terminais no
inteligentes conectados a linhas seriais dedicadas ou linhas telefnicas pblicas para a
comunicao interativa com esses sistemas.
No modelo centralizado, os terminais no tm capacidade de processamento.
Sempre um usurio deseja alguma tarefa, o pedido encaminhado ao sistema, que
realiza o processamento e retorna uma resposta, utilizando as linhas de comunicao.
Com a evoluo dos computadores pessoais e das estaes de trabalho,
juntamente com o avano das telecomunicaes e da tecnologia de redes, surgiu um
novo modelo de computao, chamado de modelo de rede de computadores.
Rede
N
N
N
N N

Sistemas fracamente acoplados
Sistemas Operacionais de Rede
Em sistemas operacionais de rede (SOR), cada n possui seu prprio sistema
operacional, alm de um hardware e software que possibilitam ao sistema ter acesso a
outros componentes da rede, compartilhando seus recursos. O SOR permite entre outras
funes:
Cpia remota de arquivos
Emulao de terminal
Impresso remota
Gerncia remota
Correio eletrnico.
Cada n totalmente independente do outro, podendo inclusive possuir sistemas
operacionais diferentes. Caso a conexo entre os ns sofra qualquer problema, os
sistemas podem continuar operando normalmente, apesar de alguns recursos se
tornarem indisponveis.
O melhor exemplo da utilizao dos sistemas operacionais de rede so as redes
locais. Nesse ambiente, cada estao pode compartilhar seus recursos com o restante da
rede. Caso uma estao sofra qualquer, os demais componentes da rede podem
continuar o processamento, apenas no dispondo dos recursos oferecidos por ela.

Sistemas operacionais de rede.

Sistemas Operacionais distribudos
Em sistemas distribudos, cada componente da rede tambm possui seu prprio
sistema operacional, memria, processador e dispositivos. O que define um sistema
distribudo a existncia de um relacionamento mais forte entre os seus componentes,
onde geralmente os sistemas operacionais so os mesmos. Para o usurio e suas
aplicaes, como se no existisse uma rede de computadores, mas sim um nico
sistema centralizado.
Rede
Usurio

Sistemas Operacionais Distribudos.
A grande vantagem desses sistemas a possibilidade do balanceamento de
carga, ou seja, quando um programa admitido para execuo, a carga de
processamento de cada sistema avaliada e o processador mais livre escolhido.
Depois de aceito para processamento, o programa executado no mesmo processador
at o seu trmino. Tambm possvel o compartilhamento de impressoras, discos e
fitas, independentemente do sistema em que a aplicao esteja sendo processada. Este
tipo de sistema distribudo muitas vezes chamado de cluster.
COMP 2 COMP 1

Cluster.

Suponha, por exemplo, uma configurao de dois computadores (COMP 1 e
COMP 2), formando um cluster. Qualquer usurio conectado ao cluster poder ter
acesso aos dispositivos compartilhados, que permitem a ele imprimir uma listagem ou
copiar um arquivo. Nesse tipo de configurao, se um dos sistemas falhar, o acesso aos
dispositivos no ser interrompido.
Os sistemas distribudos podem ser considerados como uma evoluo dos
sistemas fortemente acoplados, onde uma aplicao pode ser executada por qualquer
processador. Os sistemas distribudos permitem que uma aplicao seja dividida em
diferentes partes (aplicaes distribudas), que se comunicam atravs de linhas de
comunicao, podendo cada parte ser processada em um sistema independente.
Organizao Funcional
A organizao funcional dos sistemas fracamente acoplados ou topologia define
como so interligados fisicamente os diversos sistemas da rede.
Barramento
Na organizao de barramento, os sistemas so conectados a uma nica linha de
comunicao e todos compartilham o mesmo meio, tanto para receber como para enviar
mensagens. Esse tipo de organizao utilizada geralmente em redes locais
Neste tipo de topologia, caso haja algum problema com o meio de transmisso, todos os
ns da rede ficaro incomunicveis.

Organizao de Barramento

Organizao distribuda
Na organizao distribuda existem linhas de comunicao ponto-a-ponto que
ligam os sistemas e caminhos alternativos entre os diversos ns da rede. Caso uma linha
de comunicao apresente problema, linhas alternativas permitiro que a rede continue
em funcionamento. Este tipo de organizao utilizada geralmente em redes
distrbudas


Organizao distribuda