SO - Prof. Edilberto Silva
Sistemas
Operacionais
Prof.: Edilberto M. Silva
http://www.edilms.eti.br http://www.edilms.eti.br
Aula 4
Aula 4
Tipos de SO
Tipos de SO
Sistemas Operacionais
Tipos de Sistemas Operacionais
Os Sistemas Operacionais podem ser assim
classificados:
SO - Prof. Edilberto Silva 3
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)
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.
Sistemas Operacionais
SO - Prof. Edilberto Silva 5
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.
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
Sistemas Operacionais
SO - Prof. Edilberto Silva 7
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.
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.
Sistemas Operacionais
SO - Prof. Edilberto Silva 9
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)
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;
Sistemas Operacionais
SO - Prof. Edilberto Silva 11
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.
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.
Sistemas Operacionais
SO - Prof. Edilberto Silva 13
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.
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
Sistemas Operacionais
SO - Prof. Edilberto Silva 15 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:
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.
Sistemas Operacionais
SO - Prof. Edilberto Silva 17
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
Sistemas Operacionais
Sistemas operacionais de redes
– cada nó possui seu próprioSO, 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
Sistemas Operacionais
SO - Prof. Edilberto Silva 19
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.
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
Sistemas Operacionais
SO - Prof. Edilberto Silva 21
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)
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
Sistemas Operacionais
SO - Prof. Edilberto Silva 23
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
Sistemas Operacionais
Sistemas Operacionais
SO - Prof. Edilberto Silva 25
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).
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
Sistemas Operacionais
SO - Prof. Edilberto Silva 27
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.