Gerência de Armazenamento: Sistemas de Entrada e Saída
Upcoming SlideShare
Loading in...5
×
 

Gerência de Armazenamento: Sistemas de Entrada e Saída

on

  • 3,061 views

Explorar a estrutura do subsistema de E/S de um sistema operacional ...

Explorar a estrutura do subsistema de E/S de um sistema operacional
Discutir os princípios e complexidade do hardware de E/S
Prover detalhes do aspectos de desempenho do hardware e software de E/S

Statistics

Views

Total Views
3,061
Views on SlideShare
3,040
Embed Views
21

Actions

Likes
0
Downloads
73
Comments
0

3 Embeds 21

https://cursosrapidosonline.com.br 15
https://www.cursosonlinecursos.com.br 5
https://www.xn--cursosonlinedaeducao-7yb1g.com.br 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Gerência de Armazenamento: Sistemas de Entrada e Saída Gerência de Armazenamento: Sistemas de Entrada e Saída Presentation Transcript

  • Sistemas Operacionais I Gerência de Armazenamento: Sistemas de Entrada e Saída Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • Objetivos  Explorar a estrutura do subsistema de E/S de um sistema operacional  Discutir os princípios e complexidade do hardware de E/S  Prover detalhes do aspectos de desempenho do hardware e software de E/S
  • Hardware de E/S  Variedade imensa de dispositivos de E/S  Conceitos comuns  Porta  Barramento (daisy chain ou acesso compartilhada direto)  Controlador (adaptador do hospedeiro)  Instruções de E/S controlam os dispositivos  Os dispositivos possuem endereços, utilizados para  Instruções de E/S diretas  E/S Mapeada em memória
  • Uma estrutura típica de barramento
  • Polling  Determina o estado de um dispositivo  Pronto para receber comandos  Ocupado  Erro  Ciclo de Espera ocupada para aguardar E/S do dispositivo
  • Interrupções  A CPU tem uma linha de solicitação de interrupção ativada pelo dispositivo de E/S  O gerenciador de interrupção recebe o sinal  Interrupções podem ser mascaradas para que a CPU ignore ou adie seu tratamento  Um vetor de interrupções é utilizado para selecionar o endereço da rotina de tratamento adequada  Baseado em prioridades  Algumas não podem ser mascaradas  O mecanismo de interrupções é utilizado também para exceções
  • Ciclo de E/S baseado em interrupções
  • Acesso direto à memória  Utilizado para evitar o uso de E/S programada para o movimento de grandes volumes de dados  Requer um controlador de DMA  Dispensa a CPU na transferência de dados entre o dispositivo de E/S e a memória
  • Seis etapas de uma transferência DMA
  • Interface de E/S para aplicações  As chamada de sistema de E/S encapsulam o comportamento dos dispositivos em classes genéricas  A camada do driver de dispositivo esconde as diferenças entre os controladores de E/S do núcleo do SO  Os dispositivos variam em várias dimensões  Fluxo de caracteres ou blocos  Acesso sequencial ou aleatório  Dedicado ou compartilhado  Velocidade de operação  Leitura-escrita, apenas leitura, apenas escrita
  • Estrutura de E/S do núcleo
  • Características de dispositivos de E/S
  • Dispositivos de bloco e de caracteres  Dispositivos de bloco incluem drivers de disco  Comandos incluem read, write, seek  E/S crua ou via sistema de arquivos  Possibilidade de acesso a arquivos mapeados em em memória  Dispositivos de caracteres incluem teclados, mouses e portas seriais  Comandos incluem get, put  Bibliotecas permitem edição de linhas
  • Dispositivos de rede  Diferenciam-se o suficiente de dispositivos de bloco e de caracteres para terem sua própria interface  Unix e Windows NT/9x/2000 incluem uma interface socket  Separam protocolo de rede de operação da rede  Incluem uma função select  As abordagens variam amplamente (pipes, FIFOs, streams, queues, mailboxes)
  • Relógios e Temporizadores  Fornecem o tempo atual, tempo decorrido e temporizador  Temporizador de intervalo programado utilizado para temporização e interrupções periódicas
  • E/S bloqueante e não- bloqueante  Bloqueante – processo suspenso até a conclusão da operação de E/S  Fácil de utilizar e de entender  Insuficiente para algumas necessidades  Não-bloqueante – a chamada de E/S retorna com os dados disponíveis no momento  Interface do usuário, cópia de dados (bufferização de E/S)  Implementado utilizando múltiplas threads  Retorna rapidamente com a contagem de bytes lidos ou escritos  Assíncrona – o processo roda enquanto a operação de E/S é executada  Difícil de usar  Subsistema de E/S sinaliza quando a operação de E/S /e concluída
  • Dois métodos de E/S
  • Subsistema de E/S do núcleo  Escalonamento  Filas por dispositivo para ordenação de requisições de E/S  O sistema operacional tenta manter alguma justiça  Bufferização – dados são armazenados na memória enquanto estão sendo transferidos entre dispositivos  Ajuda a lidar como diferenças de velocidade entre os dispositivos  Ajudar a lidar com diferenças nos tamanhos de transferência dos dispositivos  Ajuda a manter a “semântica de cópia”
  • Subsistema de E/S do núcleo  Cache – memória rápida para armazenamento temporário de dados  Sempre mantém apenas uma cópia  Aspecto chave para melhorar o desempenho  Spooling - mantém a saída para um dispositivo  Útil se o dispositivo só pode atender uma requisição por vez  Ex. Impressora  Reserva de dispositivo – provê acesso exclusivo a um dispositivo  Chamadas de sistema para alocação e liberação  Risco de deadlocks!
  • Tabela de estado de dispositivo
  • Tratamento de erros  O sistema operacional pode se recuperar de um erro de leitura de disco, erro de dispositivo indisponível e falhas transientes de escrita  Precisa reportar um código de erro quando uma requisição de E/S  Log de erros do sistema mantem um registro dos problemas
  • Proteção de E/S  Processos de usuário podem acidentalmente ou propositalmente tentar interferir na operação normal do sistema utilizando operações de E/S ilegais  Todas as instruções de E/S foram definidas para ter acesso privilegiado  Operações de E/S precisam ser realizadas através de chamadas de sistema
  • Uso de chamadas de sistema para realizar operações de E/S
  • Estruturas de dados do núcleo  O núcleo mantem informação de estado dos diversos componentes envolvidos nas operações de E/S, incluindo tabelas de arquivos abertos, conexões de rede, estado de dispositivos de caractere  Muitas, mas muitas mesmo, estruturas de dados complexas para gerenciar buffers, alocação de memória, blocos ocupados, etc  Alguns sistemas utilizam orientação a objetos e troca e de mensagens para implementar operações de E/S
  • Requisições de E/S para operações do hardware  Considere um processo tentando ler um arquivo do disco:  Determinar o dispositivo onde o arquivo está armazenado  Traduzir o nome em uma representação do arquivo no dispositivo  Fazer a leitura dos dados do disco para um buffer  Disponibilizar os dados lidos para o processo  Retornar o controle
  • Ciclo de vida de uma requisição de E/S
  • Desempenho  Operações de E/S representam um fator chave no desempenho do sistema:  Demanda para a CPU executar código dos drivers de dispositivo  Troca de contextos devido a interrupções  Cópia de dados  Tráfego de redes é especialmente dispendioso
  • Comunicação entre computadores
  • Melhorando o desempenho  Reduzir o número de trocas de contexto  Reduzir a quantidade de dados copiados  Reduzir o número de interrupções utilizando pacotes maiores para transferências, controladores inteligentes e polling  Utilizar DMA  Balancear o uso de CPU, memória, barramentos e dispositivos de E/S para vazão máxima
  • Progressão da funcionalidade dos dispositivos