Anda di halaman 1dari 13

Apostila de GSO

Gesto de Sistemas
Operacionais I

Prof. Jones Artur Gonalves / Wendell Santos

1
Arquitetura de Sistemas Operacionais

1. Histrico ............................................................................................................ 3

2. Sistema Operacional............................................................................................... 4

3. Tipos de Sistemas Operacionais ..................................................................... 5


2.1 Sistemas Monoprogramveis ..................................................................... 6
2.2 Sistemas Multiprogramveis/ Multitarefa..................................................... 7
2.2.1 Sistemas Batch ..................................................................... 8
2.2.2 Sistemas de Tempo Compartilhado ........................................ 9
2.2.3 Sistemas de Tempo Real ........................................................... 9
2.3 Sistemas Multiprocessados ..................................................................... 10

3. BIBLIOGRAFIA .......................................................................................................... 14

2
1. Histrico

Antes da dcada de 50, os computadores eram muito difceis de serem


programados. Era necessrio conhecer totalmente sua arquitetura, e tal operao era
efetuada em painis com cerca de 6.000 conectores, em linguagem de mquina.
Nesta fase, os computadores no possuam ainda dispositivos para interagir com o
usurio, como teclados e monitores.

Na dcada de 50, j com a utilizao de transistores, sucedeu-se um grande


avano tecnolgico, melhorando a velocidade dos processadores e a capacidade dos
meios de armazenamento, em especial a memria e os discos magnticos.

Por volta de 1953, foi introduzido o primeiro sistema operacional, um programa de


controle que permitia uma interao, mesmo que limitada, entre o operador e a mquina,
otimizando a execuo das tarefas. Em 1959, foi criada uma verso de sistema
operacional que j implementava conceitos de memria virtual, conceito este largamente
utilizado nos sistemas atuais.

Na dcada de 60, a partir do surgimento dos circuitos integrados, foi possvel


difundir u uso de sistemas computacionais em empresas, com diminuio de custos e
tamanho dos equipamentos. Alm disso, esta dcada presenciou inmeras inovaes na
rea de sistemas operacionais, presentes at hoje, como os ambientes de multitarefa,
multiprogramao, multiprocessamento e time-sharing, tendo o desenvolvimento destas
tcnicas avanado at o meado da dcada de 70, onde tambm foram implementadas as
tecnologias baseadas em arquitetura VLSI (chips), as primeiras redes de computadores, e
o desenvolvimento de diversas linguagens de programao de alto nvel.

A dcada de 80 foi marcada pela criao dos microcomputadores, baseados em


microprocessadores de uso pessoal. Liderados pela IBM, diversos fabricantes seguiram
por essa linha, porm alguns deles no abandonando a fabricao dos computadores de
grande porte, como foi o caso da prpria IBM.

3
Nota-se que, a partir do meado da dcada de 80, acontece uma diviso de guas,
com a indstria passando a produzir equipamentos de grande porte e muitos modelos de
microcomputadores, que tambm precisavam de sistemas operacionais bastante
evoludos. Foram, ento, utilizadas as tcnicas modernas j existentes nos ambientes de
grande porte na implementao de sistemas operacionais para os microcomputadores,
com verses diversas, todas inicialmente monousurio/monotarefa (devido baixa
capacidade de armazenamento dos micros, naquela poca). Com o avano da tecnologia,
os micros ganharam discos rgidos e outros perifricos, possibilitando a criao de
sistemas operacionais mais evoludos nesta categoria de computadores, quando surgiram
os sistemas monousurio/multitarefa, que executam at hoje.

Sistema Operacional

O sistema operacional o software responsvel por gerenciar os recursos do hardware


para o usurio, para que este no tenha que interagir diretamente sobre os dispositivos. O
Sistema Operacional constitudo basicamente por duas camadas: o Shell (ou
interpretador de comandos) e o Kernel (ou ncleo), como mostra a figura abaixo.

SHELL
Sistema Operacional KERNEL
HARDWARE

O ncleo implementa as funes bsicas do Sistema Operacional, responsveis pelo


gerenciamento de memria, arquivos, processador, perifricos etc. Enquanto que o
Shell implementa uma interface com o usurio, para atender necessidades tais como:
listar um diretrio, copiar arquivos etc.

Sistema operacional um conjunto de rotinas executadas pelo processador que tem


como funes bsicas:

Gerenciar os vrios recursos disponveis no sistema, para atender da maneira mais


eficiente possvel o usurio;

Gerenciar a execuo dos programas do usurio, visando o melhor desempenho do


sistema todo.

4
Em sua forma mais usual, a estrutura de um sistema operacional pode ser
visualizada em camadas hierrquicas mostrada na figura abaixo, onde a camada mais
interna, correspondente ao hardware, que suporta todas as camadas de software.

A primeira camada de software a envolver o hardware o ncleo (kernel), que se


comporta como um sistema operacional bsico. Sobre o ncleo, situam-se um
conjunto de servios, constituindo-se o sistema operacional propriamente dito, que
fornece o suporte necessrio a execuo de programas. Em seguida, tem-se a
camada mais externa correspondendo ao nvel da aplicao.

Figura: Estruturao de um Sistema Operacional em Camadas.

2. Tipos de Sistemas Operacionais


Os diferentes tipos de sistemas operacionais so basicamente classificados de acordo
com o nmero de processos do usurio que o SO pode executar ou de acordo com o
nmero de processadores que o sistema possui.

Combinando estas caractersticas podemos classificar os sistemas operacionais em:

Tipos de
Sistemas
Operacionais

Sistemas Sistemas Sistemas


Monoprogramveis/ Multiprogramveis/ Com Mltiplos
Monotarefa Multitarefa Processadores

5
2.1 Sistemas Monoprogramveis/Monotarefa

Os primeiros sistemas operacionais eram voltados tipicamente para a execuo de um


nico programa. Qualquer outra aplicao, para ser executada, deveria aguardar o trmino
do programa corrente. Neste tipo de sistema, o processador, a memria e os perifricos
permanecem exclusivamente dedicados execuo de um nico programa.

Os sistemas monoprogramveis esto diretamente ligados ao surgimento, na dcada de


50/60, dos primeiros computadores. Embora os sistemas operacionais j tivessem
evoludo com as tecnologias de multitarefa e multiprogramveis, os sistemas
monoprogramveis voltaram a ser utilizados na plataforma de microcomputadores
pessoais e estaes de trabalho devido baixa capacidade de armazenamento destas
mquinas, na poca.

Era muito clara a desvantagem deste tipo de sistema, no que diz respeito limitao de
tarefas (uma de cada vez), o que provocava um grande desperdcio de recursos de
hardware.

_______
_______
CPU
_______
_______
_______

Memria Programa/Tarefa
Dispositivos
Principal E/S

Sistema Monoprogramvel/Monotarefa

Comparados a outros sistemas, os monoprogramveis so de simples


implementao, no existindo muita preocupao com problemas decorrentes do
compartilhamento de recursos como memria, processador e dispositivos de E/S.

6
2.2 Sistemas Multiprogramveis/Multitarefa

Constituindo-se uma evoluo dos sistemas monoprogramveis, neste tipo de sistema os


recursos computacionais so compartilhados entre os diversos usurios e aplicaes:
enquanto um programa espera por um evento, outros programas podem estar
processando neste mesmo intervalo de tempo.

Neste caso, podemos observar o compartilhamento da memria e do processador. O


sistema operacional se incumbe de gerenciar o acesso concorrente aos seus diversos
recursos, como processador, memria e perifricos, de forma ordenada e protegida, entre
os diversos programas.

As vantagens do uso deste tipo de sistema so a reduo do tempo de resposta das


aplicaes, alm dos custos reduzidos devido ao compartilhamento dos recursos do
sistema entre as diferentes aplicaes. Apesar de mais eficientes que os
monoprogramveis, os sistemas multiprogramveis so de implementao muito mais
complexa.

_______
_______
_______
_______
_______
_______
_______
CPU _______
_______
_______

Programa/Tarefa Programa/Tarefa
Memria Dispositivos E/S
Principal
_______
_______
_______
_______
_______
_______
_______
_______
_______
Programa/Tarefa
_______

Programa/Tarefa

7
Sistema Multiprogramvel/Multitarefa
Os sistemas multiprogramveis/multitarefa podem ser classificados de acordo com a
forma com que suas aplicaes so gerenciadas, podendo ser divididos em sistemas
batch, de tempo compartilhado e de tempo real, de acordo com a figura abaixo.

Sistemas
Multiprogramveis/
Multitarefa

Sistemas Sistemas de Sistemas de


BATCH Tempo Tempo Real
Compartilhado

2.2.1 Sistemas BATCH

Foram os primeiros sistemas multiprogramveis a serem implementados na dcada de 60.


Nesta modalidade, os programas eram submetidos para execuo atravs de cartes
perfurados e armazenados em disco ou fita, para posterior execuo. Vem da o nome
batch (lote de cartes). O processamento em batch tem como caracterstica no exigir
interao do usurio com o sistema ou com a aplicao. Todas as entradas ou sadas so
implementadas por meio de algum tipo de memria secundria, geralmente disco ou fita.
Aplicaes deste tipo eram utilizadas em clculo numrico, compilaes, back-ups, etc.

Estes sistemas, se bem projetados, podem ser bastante eficientes devido melhor
utilizao do processador, mas podem oferecer tempos de resposta bastante longos.
Atualmente, os sistemas operacionais simulam este tipo de processamento, no havendo
sistemas dedicados a este tipo de execuo.

8
2.2.2 Sistemas de Tempo Compartilhado

Tambm chamados sistemas de time-sharing, permitem que diversos programas sejam


executados a partir da diviso de tempo do processador em pequenos intervalos,
denominados fatia de tempo (ou time-slice). Caso a fatia de tempo no seja suficiente para
a concluso do programa, este interrompido pelo sistema operacional e substitudo no
processador por outro, enquanto aguarda nova fatia de tempo. Neste tipo de
processamento, cada usurio tem a impresso de que a mquina est dedicada ao seu
programa, como se ele fosse o nico usurio a se utilizar do sistema.

Geralmente permitem interao do usurio com a aplicao atravs de terminais


compostos por monitor, teclado e mouse. Estes sistemas possuem uma linguagem de
controle que permite ao usurio interagir com o sistema operacional atravs de comandos.
Assim, possvel verificar arquivos armazenados em disco ou cancelar execuo de
programas. Normalmente, o sistema responde em apenas alguns segundos maioria
destes comandos, o que se levou a cham-los tambm de sistemas on-line.

A maioria das aplicaes comerciais atualmente processada em ambiente de tempo


compartilhado, que oferece tempos baixos de respostas a seus usurios e menores
custos, em funo do alto grau de compartilhamento dos diversos recursos do sistema.

2.2.3 Sistemas de Tempo Real

Este tipo de sistema implementado de forma bastante semelhante ao de tempo


compartilhado. O que caracteriza a diferena entre eles o tempo exigido no
processamento das aplicaes.

Enquanto nos sistemas de tempo compartilhado o tempo de processamento pode variar


sem comprometer as aplicaes em execuo, nos sistemas de tempo real os tempos de
execuo devem estar dentro de limites rgidos, que devem ser obedecidos, caso contrrio
podero ocorrer problemas irreparveis.

9
No sistema de tempo real no existe a idia de fatia de tempo como nos sistemas de
tempo compartilhado. Um programa ocupa o processador o tempo que for necessrio ou
at que aparea outro com um nvel de prioridade maior. Esta prioridade de execuo
definida pela prpria aplicao e no pelo sistema operacional, como nos sistemas de
tempo compartilhado.
Estes sistemas so utilizados em aplicaes de controle de processos, como
monitoramento de refinarias de petrleo, controle de trfego areo, de usinas, ou em
qualquer aplicao onde o tempo de processamento fator fundamental.

2.3 Sistemas com Mltiplos Processadores

Os sistemas com mltiplos processadores caracterizam-se por possuir duas ou mais


CPUs interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema permitir
que vrios programas sejam executados ao mesmo tempo ou que um mesmo programa
seja subdividido em vrias partes para serem executadas simultaneamente em mais de
um processador.

Esta tcnica permitiu a criao de sistemas computacionais voltados para processamento


cientfico, prospeco de petrleo, simulaes, processamento de imagens e CAD.

Um fator chave no desenvolvimento dos sistemas multiprocessados a forma de


comunicao entre as CPUs e o grau de compartilhamento da memria e dos dispositivos
de E/S. Em funo destes fatores, podemos classificar os sistemas multiprocessados de
acordo com a figura a seguir:
Sistemas
Com Mltiplos
Processadores

Sistemas Sistemas
Fortemente Fracamente
Acoplados Acoplados

Simtricos Assimtricos Redes Distribudos

10
Tipos de Sistemas com Mltiplos Processadores

Na figura podemos perceber a diviso dos sistemas multiprocessados em duas categorias


iniciais: sistemas fortemente acoplados e fracamente acoplados. A grande diferena entre
estas duas categorias que nos sistemas fortemente acoplados existe apenas uma
memria a ser compartilhada pelos processadores do conjunto, enquanto que nos
fracamente acoplados cada sistema tem sua prpria memria individual. A taxa de
transferncia entre processadores e memria em sistemas fortemente acoplados muito
maior que nos fracamente acoplados.

Nos sistemas fortemente acoplados a memria principal e os dispositivos de E/S so


gerenciados por um nico sistema operacional. Quando todos os processadores na
arquitetura so iguais, diz-se que o sistema simtrico. No entanto, quando os
processadores so diferentes, d-se arquitetura a denominao assimtrica.

Nos sistemas fracamente acoplados, como os processadores esto em arquiteturas


diferentes, somente interligados por cabos de interconexo, cada CPU constitui uma
mquina independente, com memria prpria, dispositivos de E/S e sistemas operacionais
independentes.

Nesta subdiviso, temos como exemplo as redes e os sistemas distribudos.

No ambiente de rede, existem dois ou mais sistemas independentes ou hosts (host


qualquer mquina ou computador conectado a uma rede), interligados por linhas
telefnicas, que oferecem algum tipo de servio aos demais, permitindo que um host
compartilhe seus recursos, como impressora e diretrios, com os outros hosts da rede.

Enquanto nos sistemas em rede os usurios tm conhecimento dos hosts e seus servios,
nos sistemas distribudos os sistema operacional esconde os detalhes dos hosts
individuais e passa a trat-los como um conjunto nico, como se fosse um sistema s,
fortemente acoplado. Os sistemas distribudos permitem, por exemplo, que uma aplicao
seja dividida em partes e que cada parte seja executada por hosts diferentes na rede.

11
Para os usurios e suas aplicaes como se no existisse a rede, mas um nico sistema
centralizado.

Outros exemplos de sistemas distribudos so os clusters (Um cluster, ou aglomerado de


computadores, formado por um conjunto de computadores, que utiliza um tipo especial
de sistema operacional). Em um cluster podem existir dois ou mais servidores ligados por
algum tipo de conexo de alto desempenho, e o usurio no conhece os nomes dos
membros do cluster e nem quantos so. Quando necessrio algum servio, basta
solicitar ao cluster para obt-lo, sem se preocupar com quem vai dispor e oferecer tal
servio. Clusters so muito utilizados em servidores de bancos de dados e Web.

Cronologia

Grande porte (mainframes)

1990

1950 1960 1970 1980

Sistemas
1 Sistema Sistemas Multiprogramveis
Operacional Multitarefa Multitarefa
Monoprogramvel
Monotarefa Microcomputadores
Introduzido o
conceito de
Memria Virtual

12
BIBLIOGRAFIA

MACHADO, Francis Berenger. Arquitetura de sistemas operacionais. So Paulo: LTC,


2007.

RIBEIRO, Jos Antnio Neto. Iniciando na Informtica e MS-DOS. So Paulo: People


Educao, 1997.

SILBERSCHATZ, Abraham. Sistemas operacionais: conceitos e aplicaes. Rio de


Janeiro: Campus, 2001.

TANENBAUM, Andrew S. Sistemas operacionais modernos. Rio de Janeiro: Campus,


203.

13

Anda mungkin juga menyukai