Arquitetura de Computadores para Sistemas Operacionais Arquitetura de Computadores para Sistemas Operacionais Tecnologias em Informática 2o Semestre Sistemas Operacionais Prof. Cid R Andrade Sumário Conhecer os principais componentes e a organização básica dos computadores é primordial para a compreensão de como os sistemas operacionais relacionam-se com o hardware dos sistemas computacionais.
Agenda Sistema Operacional Componentes de Sistema Computacional Visão do Usuário e Visão do Sistema Conceituação de Sistema Operacional Inicialização Eventos e Interrupções Estruturas de Armazenamento e Entrada/Saída Modo Dual Temporizador Sistema Operacional Sistema Operacional é um conjunto de arquivos e programas que gerenciam o hardware do computador, servindo de interface entre usuários, hardware e outros programas Realização de tarefas varia de acordo com o projeto dos Sistemas Operacionais Projeto para conveniência, eficiência ou combinação de ambos Visão Abstrata dos Componentes de um Computador Usuários, programas aplicativos, sistema operacional e hardware (UCP, memória e E/S) em sistema computacional genérico Referência: Silberschatz; Galvin; Gagne. Pag. 4
Sistema Operacional: Visão do Usuário Desktop Foco em Facilidade de Uso Relativa atenção ao Desempenho Pouca preocupação com Utilização de Recursos Terminal de mainframe Foco em Utilização de Recursos Estação de Trabalho Equilíbrio entre características Dispositivos Móveis Sistemas Embutidos sem interface significativa Sistema Operacional: Visão do Sistema Alocador de Recursos Gerenciamento de Recursos Eliminação de conflitos Programa de Controle Administração da execução de programas Impedimento de erros e uso impróprio Sistema Operacional: Definição Não há definição universalmente aceita Conjunto de programas e arquivos que atuam como intermediários entre programas de usuário, usuários e hardware Tudo o que o fornecedor entrega como sendo um Sistema Operacional Conjunto de programas que executam o tempo todo no computador Definição importante em EUA x Microsoft, 1998
Organização do Computador Componentes em um computador de uso geral moderno genérico Referência: Silberschatz; Galvin; Gagne. Pag. 6 Inicialização Bootstrap ou Programa de Inicialização Armazenado em firmware (ROM, EEPROM) Inicializa e testa hardware Carrega o núcleo do sistema operacional (kernel) Primeiros processos são carregados Espera-se a ocorrência de algum evento Ocorrência de Eventos Interrupção de Hardware Sinal enviado à UCP por meio do barramento Interrupção de Software Chamada de Sistema (System Call) Chamada ao Monitor (Monitor Call)
Tratamento de Interrupções Ao receber uma interrupção a UCP Interrompe a tarefa atual Transfere execução para endereço fixo na memória Este endereço contém o endereço inicial da rotina de atendimento da interrupção Retoma a tarefa interrompida Quantidade de interrupções limitada e pré-definida Vetor de Interrupções Estrutura de Armazenamento RAM (Random Access Memory) Única grande área de armazenamento com acesso direto pela UCP Necessidade de programas estarem na RAM para serem executados Conjunto de words individualmente endereçados Ciclo típico de execução de instruções com arquitetura von Neumann Estrutura de Armazenamento (cont) 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 de dados para processamento
Hierarquia de Dispositivos de Armazenamento Hierarquia de Dispositivos de Armazenamento Referência: Silberschatz; Galvin; Gagne. Pag.8 Estrutura de E/S UCP e controladores de dispositivos ligados por barramento comum Quantidade de dispositivos por controlador IDE SCSI Controladores de dispositivos Buffer local Registradores específicos Estrutura de E/S (cont) Controladores movem dados entre periféricos e buffer local Sistemas Operacionais têm um driver de dispositivo para cada controlador de dispositivo
Operação de E/S Drivers de dispositivo carrega registradores para o controlador de dispositivo Controlador usa 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 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) Transição de modos Esquema de Transição de Modos Usuário e Modo Kernel Referência: Silberschatz; Galvin; Gagne. Pag.15
Modo Dual (cont) No boot, hardware opera em Modo Monitor 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çõe 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 Garantir que o Sistema Operacional tenha controle sobre a UCP Garantir retomada de controle pelo Sistema Operacional Temporizadores enviam interrupções após períodos de tempo especificados Fixos ou variáveis Resumo Sistema Operacional gerencia o hardware e fornece ambiente para execução de programas Para executar, um programa deve estar na memória principal Armazenamento Secundário apoia a Memória Principal Modo Dual garante a operação correta Realize as atividades extraclasse sugeridas por seu professor
Autores Cid Rodrigues de Andrade Referências Bibliográficas SILBERSCHATZ, A.; GALVIN, P.B.; GAGNE, G. Sistemas Operacionais com Java. 7a. edição. Tradução de Daniel Vieira. Rio de Janeiro: Elsevier, 2008.673 p. Direitos Autorais Veja os termos desta licença em http://creativecommons.org/licenses/bync-sa/2.5/br/ Esta obra está licenciada sob a Licença Creative Atribuição-Uso não comercial-compartilhamento pela mesma licença-2.5 Brasil Commons Você pode copiar, distribuir e exibir esta obra e criar obras derivadas Você deve dar crédito aos autores originais e não pode utilizar esta obra com finalidades comerciais Se alterar, transformar ou criar outra obra com base nesta, somente poderá distribuir a obra resultante sob uma licença idêntica a esta
Arquitetura de Computadores para Sistemas Operacionais Obrigado pela atenção!