1 / 31

Sistemas Operacionais

Sistemas Operacionais. Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória Virtual Escalonamento de Processos Sistemas de Arquivos. Sistemas Operacionais. Livro texto

sierra
Download Presentation

Sistemas Operacionais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Operacionais Revisão: UCP, Memória, Processos e Interrupções Processos e threads Concorrência Deadlocks Gerenciamento de Memória Memória Virtual Escalonamento de Processos Sistemas de Arquivos

  2. Sistemas Operacionais Livro texto Operating Systems: Internals and Design Principles, W. Stallings, Ed. Prentice Hall Bibliografia Complementar: Sistemas Operacionais, R.S. Oliveira, A.S. Carissimi e S.S. Toscani, Ed. Sagra Luzzatto Operating Systems Concepts, A. Silberschatz e P.B. Galvin, Ed. Prentice Hall (há edição em português) Modern Operating Systems, A. Tanenbaum, Ed. Prentice Hall

  3. Arquitetura X Organização de computadores • Arquitetura de computadores refere-se às características visíveis pelo programador • conjunto de instruções, número de bits de dados, mecanismos de E/S, modos de endereçamento • Organização de computadores refere-se a como estas características são implementadas • detalhes de h/w como sinais de controle, interfaces, tecnologia de memória

  4. Arquitetura x Organização • Fabricantes oferecem famílias de modelos, com mesma arquitetura e diferentes organizações • custo e desempenho diferentes • compatibilidade de código • mudança da organização com tecnologia

  5. Estrutura e Função • Um computador é um sistema hierárquico – máquina multiníveis • Em cada nível, o projetista se preocupa com sua estrutura e sua função • Estrutura é a forma como os componentes se relacionam • Função é a operação de cada componente parte dessa estrutura

  6. Função • Funções básicas de um computador são: • Processamento de dados • Armazenamento de dados • Movimentação de dados • Controle

  7. Visão funcional Visão funcional de um computador Facilidade de armazenam. Equip. de moviment. de dados Mecanismo de controle Ambiente de operação Facilidade de processam.

  8. Estrutura: visão macro Computador Periféricos UCP Memória principal Computador Sistema de comunicação E/S Linhas de comunicação

  9. Estrutura: a UCP UCP Computador E/S Registradores ULA Sistem. Com. UCP Interconexão interna à UCP Memória Unidade de controle

  10. Estrutura: unidade de controle Unid. de controle UCP Seqüencia- mento ULA Unid. controle Barra int. Registradores e decodificadores Regist. Memória de controle

  11. Computador: visão macro

  12. Ciclo de instrução Ciclo de busca Ciclo de execução Busca nova instrução Executa Instrução Início Parada

  13. Ciclo de busca • PC contém o endereço da próxima instrução • Instrução é buscada e colocada no IR para ser interpretada • PC é incrementado (quase sempre!)

  14. Ciclo de execução • UCP interpreta instrução e executa ação: • UCP  memória: transferência de dados • UCP  E/S: transferência de dados • processamento de dados: operação lógica ou aritmética • controle: alteração da seqüência de operação • combinação dessas ações

  15. Organização da UCP • Funções da UCP: • buscar instruções • interpretar instruções • buscar dados • processar dados • UCP precisa fazer armazenamento temporário: registradores

  16. Registradores • Espaço de trabalho temporário • Quantidade e função varia entre processadores • Uma das principais decisões de projeto • Nível superior da hierarquia de memória Classificação: • vísiveis • restritos • controle • estado

  17. Registradores visíveis • São os que podem ser referenciados através de linguagem de máquina • de uso geral (dados e endereçamento) • de dados (e.g., acumulador) • de endereço: segmento, índice, pilha, ... • códigos de condição (só leitura)

  18. Registradores de controle e estado • visibilidade restrita • essenciais: PC, IR, MAR, MBR • PSW: Program Status Word • códigos de condição = sinal + zero + vai-um + estouro + permissão/inibição de interrupção + modo supervisor/não • Outros registradores importantes: SP, apontador de PCB, interrupção vetorizada

  19. Interrupção • Mecanismo pelo qual outros módulos interrompem processamento normal da UCP • Basicamente associado a E/S • Tipos mais comuns de interrupção: • programa (e.g., 0)  traps • temporização  escalonamento de processo • E/S (e.g., fim de escrita em disco) • falha de h/w (e.g., falta de energia)

  20. Fluxo de controle em programa

  21. Transferência de controle Programa do usuário Tratador de interrupção 1 2     i   i+1    M

  22. Tratador de interrupção • Programa que determina a natureza da interrupção e que realiza o tratamento adequado • Controle é transferido para este programa após salvamento de algumas informações • É parte do sistema operacional

  23. Ciclo de interrupção Ciclo de busca Ciclo de execução Ciclo de interrupção Interrupções inibidas Executa instrução Verifica inter- rupção: processa interrupção Busca nova instrução Início Interrupções permitidas Parada

  24. Tratamento da interrupção Algum controlador de dispositivo gera uma interrupção Salva o resto da informação de estado do processador UCP termina execução da instrução corrente H/W S/W UCP sinaliza reconhecimento da interrupção Processa interrupção UCP armazena PSW e PC na pilha de controle Restaura a informação de estado do processador UCP carrega novo valor do PC baseada na interrupção Restaura PSW e PC anteriores

  25. Interrupções múltiplas (1) • Desabilita outras interrupções: seqüencial • UCP ignora outras interrupções enquanto processa uma interrupção • interrupções pendentes só são verificadas ao fim do tratamento da interrupção corrente • interrupções tratadas na ordem seqüencial de ocorrência • Quando terminar o tratamento, as interrupções são habilitadas. • Vant: simplicidade • Desv.: falta de critério

  26. Tratamento seqüencial

  27. Interrupções múltiplas (2) • Definição de prioridades • interrupções de menor prioridade podem ser interrompidas por interrupções de maior prioridade • quando há o término do tratamento da(s) de maior prioridade, UCP trata a(s) de menor prioridade

  28. Tratamento com prioridades

  29. Tratamento com prioridades t=0  instruções sendo executadas t=10  interrupção devido impressora • passos de hardware e software t=15  rotina de tratamento ainda sendo executada linha de comunicação interrompe rotina é interrompida e estado salvo trata interrupção devido a linha de comunicação t=25  termina o tratamento devido a linha de com. restaura o tratamento devido a impressora ……

  30. Técnicas de comunicação de E/S • E/S programado: (a) • E/S por interrupção: (b) • E/S por DMA: (c)

  31. Insert Read command to I/O Module Insert Read command to I/O Module CPU I/O CPU I/O Do something else Read Status of I/O Module Read Status of I/O Module Issue Read block command to I/O module Interrupt CPU DMA I/O CPU Do something else I/O CPU Not Ready Error Condition Error Condition Read status of DMA module Check Status Check Status Interrupt DMA CPU Ready Ready Read word from I/O Module Read word from I/O Module Next Instruction I/O CPU I/O CPU Write word into memory Write word into memory CPU Memory CPU Memory No No Done? Done? Yes Yes Next Instruction Next Instruction Exemplo: leitura de um bloco (c) (b) (a)

More Related