sistemas operacionais-1
DESCRIPTION
apostilas de operacionais de nivel uniersitari resumidaTRANSCRIPT
1
Sistemas OperacionaisIntrodução
Prof. César [email protected]
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).
2
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.
3
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 manipulação de words entre RAM e registradores de UCP/CPU.
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.
4
Hierarquia dos dispositivos de armazenamento
Estrutura de Armazenamento
� Quatro níveis superiores da hierarquia são feitos com semicondutores
� Os níveis acima do disco eletrônico são voláteis. O próprio disco eletrônico pode ou não ser volátil.
5
Estrutura de E/S
� Grande parte do código do Sistema Operacional é voltada para o Gerenciamento de Entrada/Saída.
� UCP/CPU e controladores de dispositivos ligados por barramento comum.
� Quantidade de dispositivos por controlador.� IDE.� SCSI.
� Controladores de dispositivos movem dados de/paradispositivos, armazenando alguns em:� Buffer local.� Registradores específicos.
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.
6
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)
7
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.
8
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.
9
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.
10
Mainframe
� Uso contínuo do processador.� Atrasos na execução individual� Requer sistema de prioridade:
� Escalonamento de tarefas
� 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.
11
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 deproteção.
12
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.
13
Mestre
Escravo
MultiprocessamentoAssimétrico
� Sistemas Fortemente Acoplados Assimétricos� Uma tarefa específica é atribuída a cada
processador.� Mais comum em sistemas extremamente
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 processador escravo
� Se o Mestre falhar, sistema inoperante
Multiprocessamento Simétricos (SMP)� Sistemas Fortemente Acoplados Simétricos
� Cada processador executa uma cópia idêntica do SO.� Muitos processos podem ser executados ao mesmo tempo sem
queda do desempenho.� A maioria dos sistemas operacionais modernos suporta SMP.
� Características� Sem Hierarquia entre Processadores.� Recursos compartilhados.� SO responsável pelo gerenciamento.
� Mais Poderoso que Assimétricos� Melhor Distribuição da carga de Trabalho e Operações de E/S.� Se um processador falhar, outro processador assume a tarefa.
14
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.
15
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).
Sistemas em Tempo Real
� Definidos pelos Requisitos de Tempo do Sistema
� Restrições de bem definidas e Tempo de Resposta rígido.
� Aloca recursos para o processo de maior prioridade – sempre.
� Monitoramento de Sistemas Críticos.
� Dispositivo de controle em uma aplicação dedicada
� experiências científicas de controle.� sistemas de geração de imagens médicas.� sistemas de controle industrial.� alguns sistemas de vídeo ...
� Máxima confiabilidade com mínimo de intervenção humana
� Nem sempre é possível utilizar time-slice.
16
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.
17
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.
Migração de Recursos e Conceitosde Sistemas Operacionais
18
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.
19
Referência Bibliográfica
� Materiais de apoio dos professores:
� Cid Rodrigues de Andrade.
� Gregorio Perez.
Referência Bibliográfica
� Sistemas OperacionaisDeitel, Deitel e Choffnes;Ed. Pearson 3a Ediçãowww.prenhall.com/deitel_br
� Sistemas Operacionais, Conceitos e AplicaçõesA. Silberschatz, P. Galvin, G. Gagne;Ed. Campus Tradução da 6a. Ediçãowww.wiley.com/college/silberschatz6e/0471417432/slides/slides.html
� Sistemas Operacionais ModernosAndrew Tanenbaum;Ed. Pearson 2a Ediçãowww.prenhall.com/tanenbaum_br