Sistemas Operacionais - Prof. Edilberto Silva

Propaganda
Sistemas
Operacionais
Aula 4
Tipos de SO
Prof.: Edilberto M. Silva
http://www.edilms.eti.br
SO - Prof. Edilberto Silva
Sistemas Operacionais
Tipos de Sistemas Operacionais
Os Sistemas Operacionais podem ser assim
classificados:
SO - Prof. Edilberto Silva
2
Sistemas Operacionais
Tipos de Sistemas Operacionais
Do ponto de vista do número de usuários
 Monousuário: apenas um e só um usuário trabalha de cada
vez. Ex.: DOS, Windows 95 e Windows NT.
 Multiusuário: permite o uso da máquina por vários usuários ao
mesmo tempo, ou seja, cada usuário pode executar um ou mais
programas simultaneamente. Ex.: Unix e o OpenVMS.
Convém alertar que o Windows NT, embora seja considerado
freqüentemente um sistema multiusuário, é conceitualmente
classificado como monousuário, já que seus usuários, conectados
em rede, não têm acesso aos recursos do servidor (a não ser em
aplicações específicas de cliente-servidor)
SO - Prof. Edilberto Silva
3
Sistemas Operacionais
Tipos de Sistemas Operacionais
Do ponto de vista da forma de execução:
 Sistema monoprogramado ou monotarefa - processador,
memória principal e dispositivos de E/S (periféricos) ficam
dedicados a um único usuário/programa.
 Sistema multiprogramado ou multitarefa - Os recursos da
máquina são alocados de modo dinâmico entre o número de
programas ativos de acordo com o nível de prioridade ou o
estágio de execução de cada um dos programas. O sistema
operacional gerencia o acesso concorrente aos seus diversos
recursos, de forma ordenada e protegida, pelos diversos
programas.
SO - Prof. Edilberto Silva
4
Sistemas Operacionais
Tipos de Sistemas Operacionais
Do ponto de vista da forma de execução:
 Nos sistemas monotarefas, os programas são executados
instrução-a-instrução, até que seu processamento seja
concluído, ou seja, todos os recursos da máquina são alocados
para um único programa até a conclusão de sua execução. Por
exemplo, enquanto o programa aguarda a digitação de um
dado, o processador fica ocioso sem realizar qualquer tarefa; a
memória é subtilizada caso o programa não a preencha
totalmente e os periféricos, como discos e impressoras, nem
sempre são utilizados de forma integral. O sistema operacional
só tem capacidade de controlar e gerenciar um programa de
cada vez.
SO - Prof. Edilberto Silva
5
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas monotarefa:
 São de simples implementação, se comparados a outros
sistemas, não havendo muita preocupação com problemas de
proteção, pois só existe um usuário/programa utilizando-o.
• Estão tipicamente relacionados ao surgimento dos mainframes e
a introdução dos computadores pessoais e estações de trabalho
SO - Prof. Edilberto Silva
6
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas monotarefa:
• O sistema DOS (DISK OPERATING SYSTEM ) pode ser considerado
um sistema monoprogramado com algumas características especiais;
os programas TSR (Terminate and Stay Resident) têm a capacidade
guardar o contexto do que estava sendo executado, desviando o fluxo
original de execução, ou seja, pode haver um número arbitrário de
processos na memória, mas somente um deles pode estar ativo;
apesar de suportar a existência simultânea de vários processos, ele
não é um sistema multiprogramado .
SO - Prof. Edilberto Silva
7
Sistemas Operacionais
Tipos de Sistemas Operacionais
Sistemas multitarefa:
 O sistema operacional gerencia o acesso concorrente aos seus
diversos recursos, de forma ordenada e protegida, pelos
diversos programas. Dessa forma é possível aumentar a
produtividade e reduzir os custos de utilização do sistema,
aproveitando melhor o hardware.
 Por exemplo, enquanto um programa espera por uma operação
de leitura ou gravação em disco, outros programas podem
estar sendo processados no mesmo intervalo de tempo.
 São mais complexos e eficientes do que os sistemas
monoprogramados, já que vários programas utilizam os
mesmos recursos.
SO - Prof. Edilberto Silva
8
Sistemas Operacionais
Tipos de Sistemas Operacionais
Sistemas multitarefa:
 Os sistemas multitarefa podem ser classificados pela forma
com que suas aplicações são gerenciadas/interadas com os
usuários, sendo que um sistema operacional pode suportar um
ou mais desses tipos de processamento:
• BATCH (LOTE)
• TIME-SHARING (TEMPO-COMPARTILHADO
• REAL-TIME (TEMPO-REAL)
SO - Prof. Edilberto Silva
9
Sistemas Operacionais
Tipos de Sistemas Operacionais
Tipos de sistemas multitarefa:
 BATCH (LOTE) - Os programas, quando executados, são
armazenados em disco ou fita, onde esperam para serem
‘atendidos’. Normalmente, os programas (jobs ou tarefas) que
são executados nesses sistemas não exigem interação com os
usuários (por exemplo, compilações e linkedições);
 TIME-SHARING (TEMPO-COMPARTILHADO) - O sistema
operacional aloca uma ‘fatia de tempo’ (time-slice) do
processador para cada usuário. Caso o programa do usuário
não esteja concluído nesse intervalo de tempo, ele é substituído
por um de outro usuário, e fica esperando por uma nova fatia
de tempo. Permitem a interação dos usuários com o sistema;
SO - Prof. Edilberto Silva
10
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Tipos de sistemas multitarefa:
 REAL-TIME (TEMPO-REAL) - Semelhante ao time-sharing, sendo a
maior diferença o tempo de resposta exigido na execução. Enquanto
em sistemas de tempo compartilhado o tempo de resposta pode variar
sem comprometer as aplicações em execução, nos sistemas de tempo
real os tempos de resposta devem estar dentro de limites rígidos. Não
existe a idéia de fatia de tempo, um programa executa o tempo que
for necessário, ou até que apareça outro prioritário em função de sua
importância. Essa importância ou prioridade de execução é
controlada pela própria aplicação e não pelo sistema operacional,
como acontece no sistema de tempo-compartilhado. Esse tipo de
sistema está normalmente presente em controle de processos, como
no monitoramento de refinarias de petróleo, controle de tráfego
aéreo, usinas termoelétricas e nucleares, ou em qualquer aplicação
onde a segurança é fator fundamental.
SO - Prof. Edilberto Silva
11
Sistemas Operacionais
Tipos de Sistemas Operacionais
Do ponto de vista do número de processadores:
 Sistema monoprocessado - Caracteriza-se por possuir um
único processador, sendo este controlado pelo sistema
operacional instalado. Ex.: Microcomputador PC com
Windows 98
 Sistema multiprocessado - Caracteriza-se por possuir mais de
um processador, sendo que estes podem compartilhar o mesmo
sistema operacional, ou cada um pode possuir o seu próprio
sistema.
SO - Prof. Edilberto Silva
12
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas multiprocessados:
 Múltiplos processadores permitem que vários programas sejam
executados ao mesmo tempo, ou que um programa seja dividido em
subprogramas, para execução simultânea por mais de um
processador. Sistemas com múltiplos processadores possibilitam
aumentar a capacidade computacional com menor custo
(escalabilidade), além de permitirem a reconfiguração e o
balanceamento do sistema.
 A reconfiguração é a capacidade de um sistema poder continuar o
processamento, mesmo se um dos processadores falhar ou parar de
funcionar, embora com menor capacidade de computação.
 O balanceamento possibilita distribuir a carga de processamento
entre os diversos sistemas da configuração, melhorando o
desempenho como um todo.
SO - Prof. Edilberto Silva
13
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas multiprocessados:
 O multiprocessamento mantém todos os conceitos de
multiprogramação, só que aplicados a vários processadores. Com o
multiprocessamento, novos problemas de concorrência foram
surgindo, pois vários processadores podem estar acessando as
mesmas áreas de memória, além da dificuldade de interligação
eficiente dos processadores, memória e periféricos.
 Para o desenvolvimento de sistemas operacionais com múltiplos
processadores é importante que se conheça a forma de comunicação
entre esses processadores e o grau de compartilhamento da memória
principal e dos dispositivos de E/S. Em função desses fatores,
podemos classificar os sistemas em:
• Fortemente acoplados
• Fracamente acoplados
SO - Prof. Edilberto Silva
14
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas multiprocessados:
 fortemente acoplados – dois ou mais processadores
(multiprocessadores) compartilhando uma única memória e
controlados por apenas um sistema operacional. Podem ser divididos
conforme a simetria existente entre os processadores, ou seja, se
todos os processadores podem executar ou não as mesmas funções:
SO - Prof. Edilberto Silva
15
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas multiprocessados:
• nos sistemas assimétricos ou mestre/escravo somente um
processador (mestre) pode executar serviços do sistema operacional,
como realizar operações de E/S. Sempre que um processador do tipo
escravo precisar realizar uma operação de E/S, terá que requisitar o
serviço ao processador mestre;
• nos sistemas simétricos (SMP – Simmetric MultiProcessing) todos os
processadores realizam as mesmas funções, ficando a cargo de um
único processador algumas poucas funções, como, por exemplo, a
inicialização (boot). Ex.: microcomputadores PC com vários
processadores que servem de servidores de redes departamentais
com sistema operacional Windows NT, que implementa SMP.
SO - Prof. Edilberto Silva
16
Sistemas Operacionais
Tipos de Sistemas Operacionais
Sistemas multiprocessados:
 fracamente acoplados – caracterizam-se por possuir dois ou
mais processadores (multicomputadores), conectados através
de linhas de comunicação, onde cada um desses sistemas
funciona de forma independente, possuindo seu(s) próprio(s)
processador(es), memória principal e dispositivos de E/S. Em
uma rede multicomputadores, onde existem dois um mais
sistemas independentes, também chamados de nós, hosts ou
estações, podemos classificar os sistemas como sendo:
• Sistemas operacionais de redes
• Sistemas operacionais distribuídos
SO - Prof. Edilberto Silva
17
Sistemas Operacionais
Tipos de Sistemas Operacionais
Sistemas operacionais de redes – cada nó possui seu próprio
SO, além de hardware e software que possibilitam ao sistema ter
acesso o outros nós da rede. Cada nó é totalmente independente um
do outro, podendo inclusive possuir sistemas operacionais diferentes.
Os sistemas operacionais de redes permitem cópia de arquivos,
impressão e até gerência remotas, além de serviços de correio
eletrônico, emulação de terminais. A idéia é prover o
compartilhamento de recursos e troca de informações. Ex.: Redes
locais
SO - Prof. Edilberto Silva
18
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Sistemas operacionais distribuídos – cada nó também possui seu
próprio sistema operacional, memória principal, processador e
dispositivos de E/S. Porém, existe um “relacionamento” mais forte
entre esses nós, que, geralmente, possuem o mesmo SO. Para o
usuário e suas aplicações, o conjunto de computadores é “visto”
como um único sistema, como se não existisse uma rede de
computadores. A grande vantagem é a possibilidade do
balanceamento de carga, ou seja, quando um programa é admitido
para execução, o sistema escolhe o nó que está com menor carga de
processamento e este vai executá-lo. Também é permitido o
compartilhamento de recursos independentemente do computador em
que a aplicação estiver sendo executado. Esse tipo de sistema
distribuído é muitas vezes chamado de cluster. Ex.: Rede de
computadores com sistema operacional UNIX SOLARIS da SUN.
SO - Prof. Edilberto Silva
19
Sistemas Operacionais
Tipos de Sistemas Operacionais
Implementação de Sistemas Multiprogramáveis
 A transferência de dados entre o mundo externo e a memória é
possibilitada através do uso de dispositivos periféricos de
Entrada/Saída. Estes dispositivos são conectados ao conjunto
memória e processador por portas de E/S de dados, através
das quais ocorre a transferência, bem como controle e
monitoração do estado dos dispositivos.
 Uma vez definidos o espaço de endereçamento que será
ocupado pela porta (I/O base address) e a forma como os
dados serão transferidos, resta saber como informar ao
processador a respeito da disponibilidade, por parte do
dispositivo, para executar a operação de E/S.
SO - Prof. Edilberto Silva
20
Sistemas Operacionais
Tipos de Sistemas Operacionais
 Implementação de Sistemas Multiprogramáveis
 A transferência de dados entre o mundo externo e a memória é
possibilitada através do uso de dispositivos periféricos de
Entrada/Saída. Estes dispositivos são conectados ao conjunto
memória e processador por portas de E/S de dados, através das quais
ocorre a transferência, bem como controle e monitoração do estado
dos dispositivos.
 Uma vez definidos o espaço de endereçamento que será ocupado pela
porta (I/O base address) e a forma como os dados serão transferidos,
resta saber como informar ao processador a respeito da
disponibilidade, por parte do dispositivo, para executar a operação
de E/S:
• E/S controlada por programa
• E/S controlada por interrupção
• Acesso Direto à Memória (Direct Memory Access- DMA)
SO - Prof. Edilberto Silva
21
Sistemas Operacionais
Tipos de Sistemas Operacionais
Implementação de Sistemas Multiprogramáveis
 E/S controlada por programa
• O controle das operações de E/S era feito pela UCP. Os
programas continham instruções de E/S que orientavam essas
operações de E/S e o programador necessitava conhecer
detalhes específicos de cada periférico.
• Um novo hardware, denominado controlador (ou interface),
surgiu e a UCP não se comunica mais de forma direta com os
dispositivos de E/S. Todo acesso aos dispositivos era então
feito através do controlador, o que simplificava as instruções
de E/S, por não ser mais necessário especificar detalhes de
operação dos dispositivos, tarefa esta realizada pelo
controlador.
SO - Prof. Edilberto Silva
22
Sistemas Operacionais
Tipos de Sistemas Operacionais
Implementação de Sistemas Multiprogramáveis
 E/S controlada por interrupção
• Com a implementação do mecanismo de interrupção no
hardware dos computadores, as operações de E/S podem ser
realizadas de uma forma mais eficiente. Ao invés do sistema
operacional testar periodicamente o estado dos dispositivos, o
próprio dispositivo, realiza este teste, através do controlador
SO - Prof. Edilberto Silva
23
Sistemas Operacionais
Tipos de Sistemas Operacionais
SO - Prof. Edilberto Silva
24
Sistemas Operacionais
Tipos de Sistemas Operacionais
Implementação de Sistemas Multiprogramáveis
Acesso Direto à Memória (DMA)
• A técnica de Acesso Direto à Memória (do inglês Direct Memory
Access - DMA) é usada em transferências de grupos de dados em
casos nos quais a UCP não pode ser sobrecarregada. Em uma
transferência de DMA, seqüências de dados presentes em uma
área de memória são enviados diretamente para um dispositivo
de E/S, sem intervenção direta da CPU. Quem faz o trabalho de
transferência é o circuito controlador de DMA (antes um chip
8237A, agora embutido no chipset da placa-mãe).
• A UCP indica ao controlador de DMA, qual é o número de bytes
a serem transferidos e qual é o endereço inicial de memória para
transferência. Ao término da transferência, o controlador de
DMA avisa ao dispositivo, que por sua vez interrompe a CPU
para indicar que o trecho já foi transferido. Transferências de
DMA também são usadas em dispositivos SCSI, e ainda nos
atuais discos IDE que operam a 33 MB/s (Ultra DMA 33).
SO - Prof. Edilberto Silva
25
Sistemas Operacionais
Tipos de Sistemas Operacionais
Implementação de Sistemas Multiprogramáveis
Técnica de Buffering
• A técnica de buffering consiste na utilização de uma área de
memória (volátil) para transferência de dados entre os
periféricos e a UCP, denominada buffer. Com isso, a UCP pode
manipular os dados antes de transferi-los para o dispositivo
periférico de E/S, reduzindo a perda de eficiência decorrente da
disparidade existente entre o tempo de processamento e o tempo
gasto para realização de uma operação de E/S.
• Editores de texto empregam buffer para manter as alterações que
devem ser gravadas; então quando o usuário salva o arquivo, o
editor atualiza o arquivo em disco com o conteúdo do buffer. Isto
é muito mais eficiente do que acessar o arquivo em disco cada
vez que o usuário realizar uma alteração.
SO - Prof. Edilberto Silva
26
Sistemas Operacionais
Tipos de Sistemas Operacionais
Implementação de Sistemas Multiprogramáveis
 Técnica de Spooling
• O spool (Simultaneous Peripheral Operations On- Line)
consiste na utilização de um meio magnético de
armazenamento (disco, fita) como um grande buffer.
– A aplicação mais comum do conceito de spool é em
impressoras. Os documentos são preparados para impressão
e armazenados em uma área no disco. Posteriormente,
enquanto a impressora lê e imprime esses trabalhos
pendentes, outras operações podem ser realizadas pelo
processador;
– Processamento batch de tarefas em um sistema.
SO - Prof. Edilberto Silva
27
Download