Beruflich Dokumente
Kultur Dokumente
Introdução
Prof. César Amaral
cesar.amaral@uninove.br
2010
Eventos e Interrupções
Eventos são sinalizados por interrupções de
hardware ou de software.
Interrupção de Hardware
Sinal enviado à UCP por meio do barramento.
Interrupção de Software (trap)
Chamada de Sistema (System Call) ou Chamada
ao Monitor (Monitor Call).
1
Tratamento de Interrupções
Ao receber uma interrupção a CPU/UCP:
Interrompe a tarefa atual, armazenando seu endereço em
uma pilha;
Transfere execução para um endereço fixo na memória;
Este endereço contém o endereço inicial da rotina de
atendimento da interrupção, que é então executada;
Retoma à tarefa interrompida.
Quantidade de interrupções limitada e pré-definida.
Vetor de Interrupções.
Estrutura de Armazenamento
RAM (Random Access Memory).
Única área de grande armazenamento com acesso
direto pela CPU/UCP.
Os programas necessitam estar na RAM para
serem executados.
Geralmente implementada em DRAM (
Dynamic RAM) que forma um conjunto de
words individualmente endereçadas.
Ciclo típico de instruções com arquitetura Von
Neumamm.
2
Estrutura de Armazenamento
Interação consiste em mover words entre a RAM e
os registradores da UCP.
Ciclo típico de execução de instruções com
arquitetura Von Neumann.
Instruções são copiadas da memória para o registrador
de instruções.
Instrução é decodificada e processada, com eventual
Estrutura de Armazenamento
Limitações da RAM:
Relativamente pequena.
Volátil.
Armazenamento secundário:
Relativamente Grande.
Permanente.
Armazenamento secundário comum: Disco Rígido
Magnético.
Origem e destino dos dados para armazenamento.
3
Hierarquia dos dispositivos de
armazenamento
Estrutura de Armazenamento
4
Estrutura de E/S
Grande parte do código do Sistema Operacional é voltada para
o Gerenciamento de Entrada/Saída.
Estrutura de E/S
Controladores movem dados entre
periféricos e buffer local.
Sistemas Operacionais têm um driver de
dispositivo para cada controlador de
dispositivo.
5
Operação de E/S
Drivers de dispositivo carrega registradores para o controlador
de dispositivo.
Controlador usa dados nos registradores para determinar
ação.
Controlador transfere dados do dispositivo para buffer local.
Ao concluir, controlador avisa ao driver via interrupção.
Driver avisa sistema operacional.
DMA resolve problemas de overhead na transferência de
grandes quantidades de dados de/para dispositivos.
Modo Dual
Distinguir execução de código do Sistema
Operacional e código do usuário
Modo Usuário e Modo do Sistema (Monitor,
Supervisor, Privilegiado ou Kernel)
Usa-se um bit (bit de modo) para indicar o
estado: monitor(0) ou usuário (1)
6
Modo Dual
No boot, hardware opera em Modo Monitor.
Ao carregar, o sistema operacional, cria processos em modo
usuário.
Modo dual protege o sistema operacional contra usuários mal
intencionados e um usuário do outro.
Instruções que podem causar danos são instruções
privilegiadas, executadas apenas em Modo Monitor
Intel 8088 não possuia suporte para o modo dual. MS-DOS
escrito para ele não o implementava, portanto.
Temporizador
É preciso garantir que o Sistema Operacional tenha
controle sobre a UCP/CPU.
Sem um temporizador (ou timer), um programa de
usuário em loop infinito pode impedir que o sistema
operacional retome o controle do computador
Temporizadores enviam interrupções após períodos
de tempo especificados:
Fixos ou variáveis.
7
Tipos de Sistemas Operacionais
Tipos
Sistemas Mainframe
Sistemas Desktop
Sistemas Multiprocessados
Sistemas Distribuídos
Sistemas em Clusters
Sistemas de Tempo Real
Sistemas Portáteis
Sistemas de Cartões Inteligentes
Migração de recursos
Ambientes de computação
Ambientes de trabalho
Objetivos
Conhecer os tipos de Sistemas Operacionais
atualmente em uso.
Diferenciar os diversos tipos de Sistemas
Operacionais e os ambientes de trabalho
para possibilitar uma configuração adequada
à necessidade dos usuários e organizações.
8
Monoprogramável / Monotarefa
Características
Apenas uma tarefa é executada.
1 Operador (1 usuário) tem acesso à
máquina.
Sistemas dedicados para tarefa fim.
Vantagens
Todos os recursos ficam a disposição da
tarefa.
Desvantagens
Recursos passam muito tempo ociosos.
Sem recursos de segurança.
Mainframe
Sistemas de Processamento de Lotes (Batch).
Lote de várias tarefas é organizado no dispositivo de
entrada.
Tarefas são lidas e processadas seqüencialmente na
ordem.
Reduz o tempo de configuração agrupando tarefas
semelhantes.
Maior eficiência para uma única tarefa.
CPU ociosa.
Velocidade dos dispositivos mecânicos de I/O são
menores que os dispositivos eletrônicos.
9
Mainframe
Sistemas Batch Multiprogramados
Várias tarefas são mantidas na memória e o processador
é “multiplexado” entre elas.
Multiprogramável/Multitarefa
Características
Série de trabalhos executados simultaneamente.
Compartilhando os recursos.
Vantagens
Aumento de Produtividade.
Redução de Custos.
Requisitos do Sistema
Definição das Rotinas de E/S.
Gerenciamento de Memória.
Agendar CPU para as tarefas prontas para
execução.
Alocar dispositivos.
10
Sistemas de Tempo Compartilhado
Computação Interativa
Interação de vários usuários com o sistema.
Reserva de tempo (Time-Slice) para cada usuário.
Uma tarefa (um usuário) alterna na memória do sistema.
Necessita sistema on-line para acesso dos usuários.
Quantidade de trabalhos limitado por configuração.
Maior produtividade.
Menor custo de utilização do sistema.
Sistemas Desktop
Computadores pessoais
computador dedicado a um único usuário.
Dispositivos de E/S
teclados, mouses, monitores, impressoras.
Conveniência e responsabilidade do usuário.
Tecnologia de SO “maiores”
Podem adotar tecnologia desenvolvida para SO maiores.
Podem executar vários tipos diferentes de sistemas operacionais
(Windows, MacOS, UNIX, Linux).
Os usuários normalmente fazem um único uso do computador.
não precisam de utilização avançada de CPU dos recursos de
proteção.
11
Sistemas Paralelos
Sistemas Multiprocessados
Sistemas com mais de uma CPU em perfeita comunicação.
Tempo de Processamento total é maior que a soma das partes
(Sistema de Controle de Processamento).
Fator Chave
Forma de Comunicação.
Grau de Compartilhamento de Memória e Dispositivos de E/S.
Sistemas Paralelos
Sistemas Fortemente Acoplados (Tightly Coupled)
os processadores compartilham barramento, memória e clock.
comunicação ocorre através da memória compartilhada.
Concorrência
Processadores acessando o mesmo espaço de memória.
Vantagens do Sistema Multiprocessado:
Maior produção (Throughput).
Mais processadores executam mais tarefas em menos tempo.
Cuidado! Aumento da velocidade de n processadores < n !
Economia.
Custo de processador inferior ao custo do computador.
Maior confiabilidade (Sistema Tolerante a Falha).
Degradação controlada.
12
Multiprocessamento
Assimétrico
Sistemas Fortemente Acoplados Assimétricos
Uma tarefa específica é atribuída a cada
processador.
Mais comum em sistemas extremamente Mestre
grandes.
Mestre / Escravo
Só o Processador Mestre executa o SO
Um processador mestre escalona e aloca
trabalho para os processadores escravos.
Ineficiente
Número excessivo de Interrupções do Escravo
processador escravo
Se o Mestre falhar, sistema inoperante
13
Sistemas Distribuídos
Sistemas Fracamente Acoplados (Loosely Coupled)
Distribuem a computação entre vários processadores físicos.
Cada processador possui sua própria memória local.
Processadores se comunicam através de linhas de
comunicação.
barramento de alta velocidade ou linhas telefônicas
Requerem infra-estrutura de rede
Redes locais (LANs) ou redes de longa distância (WANs).
Podem ser sistemas cliente-servidor ou peer-to-peer.
Padrões
DCE – Distributed Computing Environment.
CORBA – Common Object Request Broker Architecture.
OLE – Object Linking and Embedding.
Sistemas Distribuídos
Sistemas Operacionais de Rede
Fornece recursos através da rede.
Troca de mensagens entre computadores.
Atua independente dos outros computadores da rede.
Sistemas Operacionais Distribuídos
Menos autônomo
SO interagem o suficiente para dar a impressão de um único SO.
Vantagens dos Sistemas Distribuídos
Compartilhamento de recursos.
Computação mais rápida.
Compartilhamento de carga.
Segurança.
Capacidade de Redundância – Sistema de Tolerância a Falhas.
14
Sistemas em Cluster
Sistema de Compartilhamento de Armazenamento
Permite que dois ou mais sistemas compartilhem armazenamento
Computadores de rede que funcionam como Sistemas Paralelos.
Arquitetura Intermediária entre Computação
Distribuída e Multiprocessamento.
Fornecem alta confiabilidade
Tolerância à falhas.
Clustering assimétrico
um servidor executa a(s) aplicação(ções)
enquanto outros ficam em espera.
Clustering simétrico
todos os hosts estão executando a(s) aplicação(ções).
15
Sistemas de Tempo Real
Tempo Real Rígido (ou Crítico)
Limites de tempo obedecidos de maneira rígida.
Armazenamento secundário limitado ou ausente.
Dados armazenados na memória de curta duração ou ROM.
Conflitos com Sistemas de Tempo Compartilhado.
Não suportados pelos SOs de finalidade geral.
Tarefas críticas que não permitem atraso.
Atrasos tem dano significativo.
Tempo Real Flexível (ou Não Crítico)
Integrável com sistemas de tempo compartilhado.
Utilidade limitada no controle industrial da robótica.
Aplicações que exigem tempos de resposta curtos e não rígidos.
multimídia, realidade virtual, ...
Sistemas Portáveis
Computadores de Mão e Sistemas Embarcados
Personal Digital Assistants (PDAs).
Telefones celulares.
Smartphones.
Desvantagens:
Limitação de Memória e Consumo de
Energia.
Processadores lentos.
Telas pequenas.
Exemplos:
Windows CE.
Symbian.
Android.
iPhone.
16
Sistemas de cartões
inteligentes
Dispositivos que contém um chip de CPU
Realizar poucas ou um única função.
Pagamentos eletrônicos.
Normalmente são sistemas proprietários.
Problemas
Restrições severas de consumo de energia e
memória.
Cartões Inteligentes Orientados à Java
ROM possui um interpretador para a
Máquina Virtual Java (JVM).
Alguns podem tratar múltiplas Applets.
Multiprogramação e conseqüente escalonamento.
Gerenciamento de Recursos e Proteção.
17
Ambiente de Computação
Computação tradicional
PCs, servidores, acesso remoto limitado.
Computação baseada na Web
Cliente-servidor e Web Services
Acesso remoto conveniente.
Servidores sem local.
Computação incorporada
A maioria dos computadores (controladores de motores de
automóveis, microondas).
Recursos de sistema operacional bastante limitados.
Pouca ou nenhuma interface, acesso remoto.
Ambiente de Trabalho
Descentralizado
Cada usuário cuida de seu sistema.
Equipamento, aplicativos e arquivos.
Duplicação de Dados, Inconsistências e Redundâncias.
Maior custo de equipamento, manutenção e operação.
Centralizado
Um computador acomoda os recursos da Organização.
Terminais remotos (“Burros”).
Não necessariamente uma rede.
Economia nos custos de equipamento e manutenção.
Facilidade de gerenciamento, suporte e comunicação.
Ponto de Falha Único: Se o computador parar, tudo para.
18
Referência Bibliográfica
Materiais de apoio dos professores:
Gregorio Perez.
Referência Bibliográfica
Sistemas Operacionais
Deitel, Deitel e Choffnes;
Ed. Pearson 3a Edição
www.prenhall.com/deitel_br
19