Capítulo 5 Entrada/Saída

Documentos relacionados
Capítulo 5 Entrada/Saída

Capítulo 5 Entrada/Saída

Infra-Estrutura de Software. Entrada / Saída

Sistemas Operacionais. Sistema de entrada e Saída

Infra-Estrutura de Software

Sistemas Operacionais. Entrada/Saída

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Sistemas Operacionais Capítulo 5 Entrada/Saída

Entrada e Saída e Dispositivos

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída

SOP - TADS Gerência de Entrada/Saída - 2

Sistemas de Entrada e Saída

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Barramento. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais. Interrupção e Exceção

Sistemas de entrada/saída

Gerência de Entrada e Saída

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Gerência de Dispositivos. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Sistemas Operacionais

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Infra-Estrutura de Software

Organização de Computadores

Sistemas Operativos I/O. Rui Maranhão

Entrada e saída Introdução hardware de E/S

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Cap. 12 Gerência de Dispositivos 1

Revisão Ultimas matérias

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ENTRADA E SAÍDA PROFESSOR CARLOS MUNIZ

Gerência de Dispositivos. Adão de Melo Neto

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Fundamentos de Sistemas Operacionais

Introdução aos Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

SSC0640 Sistemas Operacionais I

LIC. Organização e Estrutura Básica Computacional. Prof. Marcelo Costa Oliveira 2006, Marcelo Costa oliveira

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Algoritmos Computacionais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Introdução. Gerenciamento de Armazenamento

SSC0611 Arquitetura de Computadores

Arquitetura e organização de computadores

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Entrada. Saída. Entrada e Saída. Sistemas Operacionais

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

BARRAMENTO DO SISTEMA. Adão de Melo Neto

Discos. Hardware Tadeu Ferreira Oliveira -

ENSINO À DISTÂNCIA UNIDADE IV

Montagem e Manutenção de Computadores

Sistemas Operacionais

Organização e Arquitetura de Computadores I

SOP - TADS Fundamentos de Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Estrutura de um computador digital. Gustavo Queiroz Fernandes

UNIVERSIDADE ESTADUAL DO PARÁ UEPA LISTA DE EXERCÍCIOS DE INTRODUÇÃO A COMPUTAÇÃO. 2. O que diferencia os computadores de 1ª geração dos da 2ª.

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Introdução e Conceitos Básicos

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Informática I. Aula 2. Ementa

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

ci212 E/S (i): interface com CPU e SO Entrada e Saída

Organização de Computadores 1

Problemas com Entrada e Saída

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída


Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico 2.3 Subsistemas de E/S

Introdução à Programação de Computadores Fabricação Mecânica

2º Grupo Capitulo 11 Página 517 a 530 Camada do Núcleo a Manipuladores. Alunos Wanderson da Silva Serradilha Sérgio Vilela Maia Rúlio Márcio

Organização de Sistemas Computacionais Processadores: Organização da CPU

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Sistemas Operacionais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Sistemas de Informação. Sistemas Operacionais

AGT0001 Algoritmos Aula 01 O Computador

Disciplina: Sistemas Operacionais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Hardware - Processador

Curso: Redes de Computadores

Sistemas Operacionais

ORGANIZAÇÃO DE COMPUTADORES

Introdução à Informática. Alexandre Meslin

Dispositivos de Entrada e Saída

Transcrição:

Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S 5.2 Princípios do software de E/S 5.3 Camadas do software de E/S 5.4 Discos 5.5 Relógios 5.6 Terminais com base em caracteres 5.7 Interfaces gráficas do usuário 5.8 Terminais de rede 5.9 Gerenciamento de energia 1

Princípios do Hardware de E/S Taxas de dados típicas de dispositivos, redes e barramentos 2

Controladores de Dispositivos Componentes de dispositivos de E/S mecânico eletrônico O componente eletrônico é o controlador do dispositivo pode ser capaz de tratar múltiplos dispositivos Tarefas do controlador converter fluxo serial de bits em bloco de bytes executar toda correção de erro necessária tornar o bloco disponível para ser copiado para a memória principal 3

E/S mapeada na memória (1) a) Espaços de memória e E/S separados b) E/S mapeada na memória c) Híbrido 4

E/S mapeada na memória (2) (a) Arquitetura com barramento único (b) Arquitetura com barramento dual 5

Acesso Direto à Memória (DMA) Operação de uma transferência com DMA 6

Interrupções Revisitadas Dispositivos de E/S podem lançar interrupções por diversos motivos (falha de hardware, conclusão de uma tarefa, etc.) No momento que uma interrupção é atendida, o processador deve salvar o estado do processo atual para depois retomá-lo 7

Interrupções Revisitadas Problemas ao salvar estados: Onde salvar Registrador interno perda de dados Pilha de processos do usuário falta de página Pilha do S.O. Troca do modo S.O. p/ usuário Invalidação da cache Recargas de informação 8

Interrupções Revisitadas Problemas ao salvar estados: Qual a situação no momento da parada Interrupção precisa PC em lugar conhecido Tudo já foi concluído antes de PC Nada após PC foi feito Estado de PC é conhecido Interrupção imprecisa Grande quantidade de informação salva Interrupção e recuperação lenta Modo misto E/S precisa Erros imprecisa 9

Interrupções Revisitadas Como ocorre uma interrupção. Conexões entre dispositivos e controlador de interrupção usam linhas de interrupção no barramento em vez de fios dedicados 10

Princípios do Software de E/S Objetivos do Software de E/S (1) Independência de dispositivo Programas podem acessar qualquer dispositivo de E/S sem especificar previamente qual (disquete, disco rígido ou CD-ROM) Nomeação uniforme Nome de um arquivo ou dispositivo pode ser uma cadeia de caracteres ou um número inteiro que é independente do dispositivo Tratamento de erro Trata o mais próximo possível do hardware Dispositivo -> Driver 11

Objetivos do Software de E/S (2) Transferências Síncronas vs. Assíncronas transferências bloqueantes vs. orientadas a interrupção utilização de buffer para armazenamento tempoirário dados provenientes de um dispositivo muitas vezes não podem ser armazenados diretamente em seu destino final Dispositivos Compartilháveis vs. Dedicados discos são compartilháveis unidades de fita não são 12

E/S Programada (1) CPU ocupada todo o tempo (espera ocupada ou pooling) Simples de implementar Se a CPU não tem mais nada a fazer este método se torna viável (ex: sistemas embarcados) 13

E/S Programada (1) Passos da impressão de uma cadeia de caracteres 14

E/S Programada (2) Escrita de uma cadeia de caracteres para a impressora usando E/S programada 15

E/S Orientada à Interrupção Interrupções a cada atividade executada Benefícios Pode realizar outras tarefas enquanto ocorre E/S Problemas Interrupções demandam tempo 16

E/S Orientada à Interrupção Escrita de uma cadeia de caracteres para a impressora usando E/S orientada à interrupção a) Código executado quando quando é feita a chamada ao sistema para impressão b) Rotina de tratamento de interrupção 17

E/S Usando DMA Interrupções a cada buffer copiado Benefícios Ganho de tempo Problemas DMA mais lento que a CPU, logo E/S programada ou orientada a interrupção podem ser melhores se a CPU estiver ociosa 18

E/S Usando DMA Impressão de uma cadeia de caracteres usando DMA a) Código executado quando quando é feita a chamada ao sistema para impressão b) Rotina de tratamento de interrupção 19

Camadas do Software de E/S Camadas do sistema de software de E/S 20

Tratadores de Interrupção (1) As interrupções devem ser escondidas o máximo possível uma forma de fazer isso é bloqueando o driver que iniciou uma operação de E/S até que uma interrupção notifique que a E/S foi completada Rotina de tratamento de interrupção cumpre sua tarefa e então desbloqueia o driver que a chamou 21

Tratadores de Interrupção (2) Passos que devem ser executados em software depois da interrupção ter sido concluída 1. salva registradores que ainda não foram salvos pelo hardware de interrupção 2. estabelece contexto para rotina de tratamento de interrupção 3. estabelece uma pilha para a rotina de tratamento de interrupção 4. sinaliza o controlador de interrupção, reabilita as interrupções 5. copia os registradores de onde eles foram salvos 6. executa rotina de tratamento de interrupção 7. escolhe o próximo processo a executar 8. estabelece o contexto da MMU para o próximo processo a executar 9. carrega os registradores do novo processo 10. começa a executar o novo processo 22

Drivers dos Dispositivos (1) Dispositivos diferentes normalmente exigem softwares diferentes. Ex: mouse e disco Cada dispositivo de E/S ligado ao computador precisa de algum código específico do dispositivo para controlá-lo. Este código é conhecido como driver do dispositivo. Fornecido pelo fabricante junto com o dispositivo Trata um dispositivo ou uma classe fortemente ligada Deve ser parte do núcleo do S.O. 23

Drivers dos Dispositivos (2) Posição lógica dos drivers dos dispositivos A comunicação entre os drivers e os controladores de dispositivos é feita por meio do barramento 24

Drivers dos Dispositivos (3) São classificados pelo S.O em: Dispositivos de Bloco Dispositivos de Caractere Entre suas funções estão: Aceitar e executar requisições abstratas de leitura ou gravação de um software independente do dispositivo Verifica entradas e faz validações (se sucesso, pode exigir traduções) Verifica se o dispositivo está em uso Se ocioso, verifica o status do hardware p/ saber se início pode ser imediato. 25

Drivers dos Dispositivos (4) Controlar o dispositivo significa emitir uma sequência de comandos para ele. O driver é o local onde a sequência de comandos é determinada. Drivers devem ser reentrantes. Devem possuir meios para lidar com situações inesperadas. ex: retirada de um dispositivo 26

Software de E/S Independente de Dispositivo (1) Interface uniforme para os drivers dos dispositivos Armazenamento em buffer Relatório dos erros Alocação e liberação de dispositivos dedicados Fornecimento de tamanho de bloco independente de dispositivo Funções do software de E/S independente de dipositivo 27

Software de E/S Independente de Dispositivo (2) Interface uniforme para os drivers dos dispositivos (a) Sem uma interface-padrão do driver (b) Com uma interface-padrão do driver 28

Software de E/S Independente de Dispositivo (3) Utilização de buffer a) Entrada sem utilização de buffer b) Utilização de buffer no espaço do usuário c) Utilização de buffer no núcleo seguido de cópia para o espaço do usuário d) Utilização de buffer duplo no núcleo 29

Software de E/S Independente de Dispositivo (4) Utilização de buffer A operação em rede pode envolver muitas cópias de um pacote 30

Software de E/S Independente de Dispositivo (4) Relatório de erros Em E/S é comum a ocorrência de erros. Se eles ocorrem o SO deve lidar com eles da melhor maneira possível. Se forem erros de programação, a melhor atitude é reportar o erro. 31

Software de E/S Independente de Dispositivo (4) Relatório de erros Se forem erros reais de E/S deveria ser tarefa do driver resolver o problema, mas ele pode repassar o problema para o software independente do dispositivo. Se há interatividade, ele pode repetir ou matar o processo, caso contrário só resta relatar o erro. Em alguns casos porém, pode ser necessário emitir uma mensagem no vídeo e desligar o sistema. 32

Software de E/S Independente de Dispositivo (4) Alocação e liberação de dispositivos dedicados Alguns dispositivos como CD-ROM, etc. só podem ter acesso único. O SO deve garantir isso da melhor forma possível, seja bloqueando as requisições ou criando listas de espera. 33

Software de E/S Independente de Dispositivo (4) Tamanho de bloco independente de dispositivo Dispositivos de bloco podem ter setores de tamanho diferenciado. O software independente do dispositivo deve ocultar estes detalhes e fornecer um tamanho de bloco uniforme para as camadas superiores. 34

Software de E/S no Espaço do Usuário Embora a maior parte do software de E/S esteja dentro do SO, uma pequena parte dele é constituída de bibliotecas ligadas aos programas de usuário. As chamadas de sistema normalmente são feitas por rotinas de bibliotecas. Enquanto algumas rotinas fazem pouco mais do que colocar seus parâmetros no local apropriado, outras trabalham de verdade, fazendo por exemplo a formatação de E/S. 35

Software de E/S no Espaço do Usuário Camadas do sistema de E/S e as principais funções de cada camada 36

Exercícios 1. Quais são as 4 camadas do Sistema de Software de E/S. 2. Cite as funções do Driver de Dispositivo. 3. Quais as funções do software de E/S independente de dispositivo. Comente. 37

Discos Quando os discos são fabricados, não possuem nenhuma informação sobre o metal magnetizado. Antes do primeiro uso é necessário uma formatação de baixo nível feita por software, que irá criar trilhas concêntricas compostas por setores. 38

Discos Discos costumam ter setores sobressalentes p/ suprir defeitos de fabricação De uma trilha para outra é comum existir um deslocamento conhecido como deslocamento de cilindro. Formatação de baixo nível = discos c/ 20% de espaço a menos. 39

Formatação de Disco (1) Um setor do disco 40

Formatação de Disco (2) Uma ilustração da torção cilíndrica 41

Formatação de Disco (3) Ler vários setores de uma única vez sem dúvida exigiria um buffer muito grande e nem sempre isto é possível. Por isso a formatação de baixo nível costuma fazer o entrelaçamento entre os setores para melhorar o desempenho. O entrelaçamento pode ser simples ou duplo, dependendo da velocidade de cópia dos dados. 42

Formatação de Disco (4) a) Sem entrelaçamento b) Entrelaçamento simples c) Entrelaçamento duplo 43

Formatação de Disco (5) Após a formatação de baixo nível são criadas as partições que do ponto de vista lógico são discos separados. Geralmente o setor 0 contém a MBR e a tabela de partições. O passo final na preparação de um disco é a formatação de alto nível que irá criar as estruturas de diretórios, definir o sistema de arquivos utilizados, etc. 44

Algoritmos de Escalonamento de Braço de Disco (1) Tempo necessário para ler ou escrever um bloco de disco é determinado por 3 fatores 1. tempo de posicionamento 2. atraso de rotação 3. tempo de transferência do dado 45

Algoritmos de Escalonamento de Braço de Disco (2) Tempo de posicionamento domina, logo devemos buscar um algoritmo que otimize esta tarefa: FIFO: Mais simples, menos eficaz SSF: Mais rápido do que FIFO, porém privilegia os setores centrais. Elevador: Ligeiramente inferior ao SSF, porém justo. 46

Algoritmos de Escalonamento de Braço de Disco (3) Algoritmo de escalonamento de disco Posicionamento Mais Curto Primeiro (SSF) 47

Algoritmos de Escalonamento de Braço de Disco (4) O algoritmo do elevador para o escalonamento das requisições do disco 48

Algoritmos de Escalonamento de Braço de Disco (5) Existem outras derivações destes algoritmos, além de outras técnicas que incluem a movimentação antecipada dos braços, contudo estes algoritmos são válidos se a geometria real do disco seja igual a geometria virtual. 49

Tratamento de Erro Discos estão sujeitos a defeitos de fabricação Se o defeito de um setor for muito pequeno, ele poderá ser utilizado e o ECC se encarregará de corrigí-lo toda vez, caso contrário o setor deverá ser descartado. O descarte pode ser feito de 2 modos: Controlador: feito em fábrica, pode remapear os setores defeituosos, ou todo o disco. Sistema Operacional: quando o controlador não é capaz de fazer o tratamento, o SO poderá fazê-lo, mas deve tomar precauções com usuários e sistemas de backup Além dos erros de setores, podem existir erros de posicionamento dos braços. 50

Tratamento de Erro a) Uma trilha de disco com um setor defeituoso b) Substituindo um setor reserva por um setor defeituoso c) Deslocando todos os setores para pular o setor defeituoso 51

Armazenamento estável Em alguns sistemas é necessário que mesmo na presença de erros do disco ou CPU, não haja perda ou corrompimento dos dados armazenados. Armazenamento estável é um sistema de armazenamento em disco que se baseia na idéia de que, ou uma operação é realizada por completo, ou nada é feito. Isto é garantido através de 3 operações: Escritas estáveis: escreve-se e lê as informações no disco 1 até serem corretas, e repete-se o procedimento no disco 2. Leituras estáveis: Uma leitura correta do disco 1 é tentada n vezes, caso não consiga, lê o disco 2. Erros nos 2 ao mesmo tempo são uma hipótese ignorada devido a raridade. Recuperação de falhas: compara os blocos e restaura o bom. 52

Armazenamento estável Análise da influência das falhas nas escritas estáveis 53

Armazenamento estável Após uma falha há várias situações possíveis: Comparação de todos os blocos par a par Alto custo Salvar o bloco de escrita estável em uma RAM não volátil durante operação de atualização. Nem todos os sistemas possuem essa RAM Salvar o bloco de escrita estável em um bloco do disco durante operação de atualização. Oito operações adicionais por atualização 54

Thin Clients Modelo descentralizado Processamento nos usuários Desperdícios de recursos Custo mão de obra > hardware e software Ausência de backups Modelo Thin Client Processamento Centralizado Fácil manutenção e controle Melhor aproveitamento de recursos Maior possibilidade de backups 55

Gerenciamento de Energia (1) Consumo de energia de várias partes de um computador laptop 56

Estratégias do SO para Gerenciamento de Energia (1) Monitor Jogar para usuário e/ou zoneamento do vídeo Disco Verificar se T d (tempo de reacionar o disco) é > ou < que t (tempo p/ próximo acesso e então decidir entre aguardar ou hibernar CPU Utilizar interrupções e dormir/acordar Reduzir o desempenho geral já que consumo de energia é proporcional ao quadrado da voltagem, logo: Voltagem/2 = desempenho/2 = consumo energia/4 57

Estratégias do SO para Gerenciamento de Energia (2) Memória Esvaziar a cache e desligar Esvaziar a RAM e desligar (mais drástica e demorada) Comunicação sem fio Estação base armazenar enquanto rádio estiver desligado Gerenciamento térmico Acionar o cooler Degradar o desempenho e evitar aquecimento Escolha do usuário Gerenciamento da bateria Alternar entre as células de bateria, no fim avisar e desligar metodicamente. 58

Estratégias do SO para Gerenciamento de Energia (3) O uso de zonas para reanimar a iluminação do monitor de vídeo a) A janela é iluminada mas não movida b) A janela é movida e iluminada (snap-to-zone-action) 59

Estratégias do SO para Gerenciamento de Energia (4) Execução em velocidade máxima do relógio Cortando a voltagem pela metade corta a velocidade do relógio também pela metade, consumo de energia cai para 4 vezes menos 60

Estratégias do SO para Gerenciamento de Energia (5) Dizer aos programas para usar menos energia pode significar experiências mais pobres para o usuário Exemplos muda de saída colorida para preto e branco reconhecimento de fala reduz vocabulário menos resolução ou detalhe em uma imagem 61