Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 1: Introdução

  • View
    112

  • Download
    1

Embed Size (px)

Text of Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 1:...

  • Slide 1
  • Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Captulo 1: Introduo
  • Slide 2
  • 1.2 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Sobre a apresentao (About the slides) Os slides e figuras dessa apresentao foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentao foi modificada por Cristiano Costa ([email protected]). Basicamente, os slides originais foram traduzidos para o Portugus do Brasil. possvel acessar os slides originais em http://www.os-book.com Essa verso pode ser obtida em http://www.inf.unisinos.br/~cac The slides and figures in this presentation are copyright Silberschatz, Galvin and Gagne, 2009. This presentation has been modified by Cristiano Costa ([email protected]). Basically it was translated to Brazilian Portuguese. You can access the original slides at http://www.os-book.com This version could be downloaded at http://www.inf.unisinos.br/~cac
  • Slide 3
  • 1.3 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Captulo 1: Introduo O que faz um Sistema Operacional Organizao de um Sistema Computacional Arquitetura de um Sistema Computacional Estrutura de um Sistema Operacional Operaes de Sistemas Operacionais Gerncia de Processos Gerncia de Memria Gerncia de Armazenamento Proteo e Segurana Sistemas Distribudos Sistemas de Propsitos Especficos Ambientes Computacionais Sistemas Operacionais Open-source
  • Slide 4
  • 1.4 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Objetivos Proporcionar uma viso geral dos principais componentes de sistemas operacionais Cobrir os conceitos bsicos de organizao de sistemas computacionais
  • Slide 5
  • 1.5 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition O que um Sistema Operacional? Um programa que age como um intermedirio entre o usurio e o hardware de um computador. Objetivos de um Sistema Operacional: Executar programas do usurio e tornar a soluo de problemas mais fcil. Tornar os sistemas computacionais convenientes ao uso. Usar o hardware do computador de maneira eficiente.
  • Slide 6
  • 1.6 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Estrutura de um Sistema Computacional Sistemas Computacionais podem ser divididos em quatro componentes Hardware prov os recursos bsicos de computao CPU, memria, dispositivos de E/S Sistema Operacional Controla e coordena o uso do hardware entre vrios aplicativos e usurios Programas Aplicativos definem as formas em que os recursos computacionais so usados para resolver problemas computacionais dos usurios Processadores de Textos, compiladores, navegadores web, bancos de dados, jogos Usurios Pessoas, mquinas, outros computadores
  • Slide 7
  • 1.7 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Componentes de um Sistema Computacional
  • Slide 8
  • 1.8 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Definio de Sistema Operacional SO um alocador de recursos Gerencia todos os recursos Decide entre requisies conflitantes para uso eficiente e justo dos recursos SO um programa de controle Controla execuo de programas para prevenir erros e usos indevidos do computador
  • Slide 9
  • 1.9 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Definio de Sistema Operacional(Cont.) No existe definio aceita universalmente Tudo aquilo que um vendedor entrega quando voc pede um sistema operacional uma boa aproximao Muita variao O nico programa executando todo o tempo em um computador o kernel (ncleo). Todo o resto um programa de sistemas (vendido com o sistema operacional) ou um programa aplicativo
  • Slide 10
  • 1.10 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Inicializao do Computador programa de bootstrap carregado ao ligar ou reiniciar o computador Tipicamente armazenado em ROM ou EEPROM, geralmente conhecido como firmware Inicializa todos os componentes do sistema Carrega o kernel do sistema operacional e inicia execuo
  • Slide 11
  • 1.11 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Organizao do Sistema Computacional Operao de um Sistema Computacional Uma ou mais CPUs, controladores de dispositivos conectados atravs de um barramento comum provendo acesso memria compartilhada Execuo concorrente das CPUs e dos dispositivos competindo por ciclos de memria
  • Slide 12
  • 1.12 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Operao do Sistema Computacional dispositivos de E/S e CPU podem executar concorrentemente. Cada controlador de dispositivo encarregado de um tipo particular de dispositivo. Cada controlador de dispositivo tem um buffer local. CPU move dados de/para memria principal para/de buffers locais. E/S de um dispositivo para o buffer local da controladora. Controladora de dispositivos informam a CPU que terminaram uma operao gerando uma interrupo.
  • Slide 13
  • 1.13 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Funes Comuns de Interrupes Transferir o controle para a rotina de servio da interrupo, geralmente atravs do vetor de interrupo, o qual contm os endereos de todas as rotinas de servio. Arquitetura da interrupo deve salvar o endereo da instruo interrompida. A gerao de novas interrupes desabilitada enquanto uma outra interrupo est sendo processada para evitar a perda de uma interrupo. Uma trap uma interrupo gerada por software causada por uma requisio do usurio ou por um erro. Um sistema operacional acionado por interrupes.
  • Slide 14
  • 1.14 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Tratamento de Interrupo O sistema operacional preserva o estado da CPU armazenando registradores e o PC (contador de programas). Determina que tipo de interrupo ocorreu: baseadas em polling (sondagem) atravs do vetor de interrupes Segmentos de cdigo separados determinam qual ao deve ser realizada para cada tipo de interrupo
  • Slide 15
  • 1.15 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Linha do Tempo de uma Interrupo
  • Slide 16
  • 1.16 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Estrutura de E/S Aps o incio de uma E/S, o controle retorna ao programa do usurio somente quando a requisio de E/S terminar. Instrues de espera liberam a CPU at a prxima interrupo Lao de espera (conteno para acesso a memria). No mximo uma requisio de E/S est pendente de cada vez, no ocorre processamento de E/S simultneo. Aps o incio de uma E/S, o controle retorna ao programa do usurio sem aguardar o tratamento da requisio de E/S. Chamada de Sistemas (System call) requisio ao sistema operacional para permitir ao usurio aguardar o trmino da E/S. Tabela de Estados de Dispositivos contm uma entrada para cada dispositivo de E/S indicando seu tipo, endereo e estado. Sistema operacional acessa a tabela de dispositivos de E/S para determinar a situao do dispositivo e modificar a entrada na tabela para incluir a interrupo.
  • Slide 17
  • 1.17 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Dois mtodos de E/S Sncrono Assncrono
  • Slide 18
  • 1.18 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Tabela de Estados de Dispositivos
  • Slide 19
  • 1.19 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Estrutura de Acesso Direto Memria Usado para dispositivos de E/S de alta velocidade capazes de transmitir informao a uma taxa prxima da memria. Controladores de dispositivo transferem blocos de dados de um buffer de armazenamento diretamente para a memria principal, sem interveno da CPU. Somente uma interrupo gerada por bloco, ao invs de uma interrupo por byte.
  • Slide 20
  • 1.20 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Estruturas de Armazenamento Memria Principal nica grande rea de armazenamento que a CPU pode acessar diretamente. Armazenamento Secundrio extenso da memria principal que fornece grande capacidade de armazenamento persistente (no voltil). Discos Magnticos prato de metal rgido ou vidro coberto com material magntico para armazenamento de dados Superfcie do disco dividida logicamente em trilhas, que so subdivididas em setores. A controladora de disco determina a interao lgica entre o dispositivo e o computador.
  • Slide 21
  • 1.21 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Mecanismo de Movimento do Disco
  • Slide 22
  • 1.22 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Hierarquia de Armazenamento Sistemas de Armazenamento so organizados em hierarquia. Velocidade Custo Volatilidade Caching copiar informao em um sistema mais rpido de armazenamento; memria principal pode ser vista como um ltimo cache para o armazenamento secundrio
  • Slide 23
  • 1.23 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Hierarquia de Dispositivos de Armazenamento
  • Slide 24
  • 1.24 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Caching Princpio importante, realizado em muitos nveis no computador (no hardware, sistema operacional, software) Informao em uso copiada de um armazenamento mais lento para um mais rpido temporariamente Armazenamento mais rpido (cache) verificado primeiro para determinar se a informao necessria est l Se sim, informao usada diretamente do cache (rpido) Se no, dados so copiados para o cache e usados l Cache menor que o armazenamento que est sendo usado Gerncia de cache um problema de projeto importante Tamanho do cache e poltica de substituio
  • Slide 25
  • 1.25 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Arquitetura de Sistemas Computacionais A maioria dos sitemas usa um nico processador de propsito geral (de PDAs a mainframes). Maioria dos sistemas tm tambm processadores de propsito especfico. sistemas com Multiprocessadores crescem em uso e importncia Tambm chamados de sistemas paralelos, sistemas fortemente acoplados Vantagens incluem: 1. Vazo (throughput) aumentada 2. Economia de escala 3. Confiabilidade aumentada degradao limpa ou tolerncia a falhas Dois tipos: 1. Multiprocessamento assimtrico 2. Multiprocessamento simtrico
  • Slide 26
  • 1.26 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Como computadores modernos funcionam
  • Slide 27
  • 1.27 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Arquitetura de Multiprocessamento Simtrico
  • Slide 28
  • 1.28 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Um Projeto Dual-core
  • Slide 29
  • 1.29 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Sistemas Agrupados (clusters) Como sistemas multiprocessados, mas vrios sistemas trabalhando juntos Usualmente compartilhando armazenamento via uma rede de armazenamento ou storage-area network (SAN) Fornecem servios de alta disponibilidade que sobrevivem as falhas Cluster Assimtrico tem uma mquina que permance em hot- standby mode Cluster Simtrico tem vrios nodos exeutando aplicaes, monitorando uns aos outros Alguns clusters so para computao de alto desempenho - high- performance computing (HPC) Aplicaes devem ser escrutas para usar a paralelizao
  • Slide 30
  • 1.30 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Estrutura de Sistema Operacional Multiprogramao necessria para eficincia Um nico usurio no pode manter CPU e dispositivos de E/S ocupados todo o tempo Multiprogramao organiza jobs (cdigo e dados) de forma que a CPU sempre tenha um para ser executado Um subconjunto do total de jobs no sistema mantido na memria Um job selecionado e executa via escalonamento de job Quando ele deve esperar (E/S por exemplo), SO executa outro job Tempo Compartilhado ou Timesharing (multitarefa) uma extenso lgica na qual a CPU altera jobs to frequentemente que os usurios podem interagir com cada job durante sua execuo, criando computao interativa Tempo de Resposta deve ser < 1 segundo Cada usurio tem no mnimo um programa executando na memria processo Se vrios jobs esto prontos para executar ao mesmo tempo escalonamento de CPU Se o processo no cabe na memria, swapping move alguns processos para o armazenamento secundrio para carreg-lo e execut-lo Memria Virtual permite execuo de processos que no estejam completamente na memria
  • Slide 31
  • 1.31 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Memria em Sistemas Multiprogramados
  • Slide 32
  • 1.32 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Operaes de Sistemas Operacionais Acionado por Interrupes pelo hardware Erro de Software ou requisies criam excees ou trap Diviso por zero, requisio por servios do sistema operacional Outros problemas de processos incluem loops (laos) infinitos, processos que modificam outros ou o sistema operacional operao em Dois Modos possibilita que o SO se proteja e proteja outros componentes do sistemas modo Usurio e modo Kernel Mode bit fornecido pelo hardware Possibilita determinar quando o sistema est executando cdigo do usurio ou do kernel Algumas instrues so projetadas como privilegiadas, sendo somente executveis em modo kernel System call (Chamada de sistema) troca o modo para kernel, no retorno da chamada volta para modo usurio
  • Slide 33
  • 1.33 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Transio do Modo Usurio para Modo Kernel Timer (Temporizador) para prevenir laos infinitos / processos monopolizando recursos Gera interrupo aps um perodo especfico Sistema Operacional decrementa contador Quando um contador atinge zero gerada uma interrupo Inicializado antes de escalonar o processo para ganhar novamente o controle ou terminar o programa que excede o tempo alocado
  • Slide 34
  • 1.34 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Gerncia de Processos Um processo um programa em execuo. uma unidade de trabalho no sistema. Programa uma entidade passiva, processo uma entidade ativa. Processo necessita de recursos para realizar sua tarefa CPU, memria, E/S, arquivos Dados de inicializao terminao de processos necessita reaproveitar quaisquer recursos reusveis processos com uma nica thread (Single-threaded) tm um contador de programas (PC) especificando a localizao da prxima instruo a ser executada Processos executam instrues sequencialmente, uma por vez, at acabar processos com vrias threads (Multi-threaded) possuem um contador de programas por thread Tipicamente sistemas possuem vrios processos, alguns usurios, algum sistema operacional executando concorrentemente em uma ou mais CPUs A Concorrncia obtida multiplexando as CPUs entre os processos / threads
  • Slide 35
  • 1.35 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Atividades da Gerncia de Processos O sistema operacional responsvel pelas seguintes atividades relacionadas com gerncia de processos: Criar e deletar processos do usurio e do sistema Suspender e retomar processos Fornecer mecanismos para sincronizao de processos Fornecer mecanismos para comunicao entre processos Fornecer mecanismos para tratamento de deadlocks
  • Slide 36
  • 1.36 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Gerncia de Memria Todos dados esto na memria antes e depois do processamento Todas instrues esto na memria para serem executadas Gerncia de Memria determina o que est na memria e quando Otimizando a utilizao da CPU e a resposta do computador aos usurios Atividades da Gerncia de Memria Controlar as partes da memria que esto sendo utilizadas e por quem Decidir quais processos (ou partes deles) e dados colocar e retirar da memria Alocao e desalocao de espaos de memria quando necessrio
  • Slide 37
  • 1.37 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Gerncia de Armazenamento SO fornece uma viso lgica e uniforme do armazenamento de informaes Propriedades fsicas so abstradas para unidade de armazenamento lgico - arquivo Cada mdia controlada por um dispositivo (ex., drive de disquete, drive de fita) Propriedades variam: velocidade de acesso, capacidade, taxa de transferncia de dados, mtodo de acesso (seqencial ou aleatrio) Gerncia de Sistemas de Arquivos Arquivos so normalmente organizados em diretrios Existe controle de acesso na maioria dos sistemas para determinar quem acessa o que Atividades do SO incluem Criao e deleo de arquivos e diretrios Primitivas para manipular arquivos e diretrios Mapeamento de arquivos em armazenamento secundrio Cpia de Segurana de arquivos em mdias de armazenamento estveis (no volteis)
  • Slide 38
  • 1.38 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Gerncia de Armazenamento em Massa Tipicamente discos so usados para armazenar dados que no cabem na memria principal ou dados que devem ser guardados por um longo perodo de tempo. Gerncia adequada de vital importncia A velocidade das operaes do computador dependem fortemente dos subsistemas de disco e seus algoritmos Atividades do SO Gerncia do espao livre Alocao de armazenamento Escalonamento de disco Alguns armazenamentos no precisam ser rpidos Armazenamento tercirio inclui armazenamento ptico, fitas magnticas Ainda devem ser gerenciados Varia entre WORM (write-once, read-many-times escreve uma vez, l muitas vezes) e RW (read-write leitura-escrita)
  • Slide 39
  • 1.39 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Desempenho de Vrios Nveis de Armazenamento Movimento entre nveis da hierarquia de armazenamento pode ser explcito ou implcito.
  • Slide 40
  • 1.40 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Migrao de um Inteiro A do Disco para Registrador Em ambientes multitarefa preciso tomar cuidado para usar o valor mais recente, no importa onde ele esteja armazenado na hierarquia Ambientes multiprocessados devem fornecer coerncia de cache em hardware possibilitando que todas as CPUS tenha o valor mais recente em seu cache Em ambientes distribudos a situao ainda mais complexa Vrias cpias dos dados podem existir Vrias solues so apresentadas no Captulo 17
  • Slide 41
  • 1.41 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Subsistema de E/S Um dos objetivos do SO esconder peculiaridades dos dispositivos de hardware do usurio Subsistema de E/S responsvel por Gerncia de Memria do E/S incluindo: bufferizao - armazenando dados temporariamente enquanto esto sendo transferidos caching - armazenando partes dos dados em armazenamento mais rpido para aumentar o desempenho spooling - sobreposio da sada de um job com a entrada de outros jobs Interface geral para drivers de dispositivos Drivers para dispositivos de hardware especficos
  • Slide 42
  • 1.42 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Proteo e Segurana Proteo qualquer mecanismo para controlar acesso de processos ou usurios aos recursos definidos pelo SO Segurana defesa do sistema contra ataques internos e externos Conceito muito amplo, incluindo negao de servios (DOS), worms, vrus, roubo de identidade, roubo de servio Sistema geralmente primeiro identifica os usurios, para determinar quem pode fazer o que Identidades de Usurios (user IDs, security IDs) incluem nomes e associam nmeros, um por usurio user ID associado com todos os arquivos, processos daquele usurio para determinar o controle de acesso Identificador de Grupo (group ID) permite que um conjunto de usurios seja definido e seu controle gerenciado, tambm sendo associado com cada processo e arquivo aumento de privilgio (privilege escalation) permite que usurios alterem para uma identificao com mais direitos
  • Slide 43
  • 1.43 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Ambientes Computacionais Computadores Tradicionais Ficam obsoletos com o tempo Ambiente de Escritrio PCs conectados a um rede, terminais ligados ao mainframe ou minicomputadores fornecendo batch (execuo em lote) e tempo compartilhado Hoje existem portais permitindo acesso a redes e sistemas remotos e aos mesmos recursos Redes Caseiras Costumava ser um sistema isolado, com modem Hoje conectado em rede e com firewall
  • Slide 44
  • 1.44 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Ambientes Computacionais (Cont.) Computao Cliente-Servidor Terminais burros suplantados por PCs mais poderosos Muitos sistemas agora servidores, respondendo a requisies geradas pelos clientes Servidor fornece uma interface ao cliente permitindo a requisio de servios (ex. bancos de dados) Servidor de Arquivos fornece interface para clientes armazenar e acessar arquivos
  • Slide 45
  • 1.45 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Computao entre Pares (Peer-to-Peer) Outro modelo de sistema distribudo P2P no faz distino entre clientes e servidores Ao contrrio todos os nodos so considerados igualitrios Cada um pode agir como cliente, servidor ou ambos Nodo deve se juntar a rede P2P Registrar seus servios com um servio de procura central na rede, ou Distribuir requisio por servio e responder para requisies por servio via protocolo de descoberta Exemplos incluem Napster e Gnutella
  • Slide 46
  • 1.46 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Computao Baseada na Web Web se tornou ubqua PCs so os dispositivos mais predominantes Mais dispositivos esto sendo conectados em redes permitindo acesso pela web Nova categoria de dispositivos para gerenciar trfego na web entre servidores similares: balanceamento de carga Uso de sistemas operacionais como Windows 95, no lado do cliente, desenvolveram-se para Linux. Mac OS e Windows Vista, que podem ser clientes e servidores
  • Slide 47
  • 1.47 Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Sistemas Operacionais Open-Source Sistemas operacionais que disponibilizam o cdigo-fonte e no somente o cdigo binrio fechado Contra a proteo de cpia e o movimento Digital Rights Management (DRM) Iniciado pela Free Software Foundation (FSF), que mantem copyleft GNU Public License (GPL) Exemplos incluem GNU/Linux, BSD UNIX (incluindo o principal componente do Mac OS X), e Sun Solaris
  • Slide 48
  • Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8 th Edition Fim do Captulo 1