Sistemas de Entrada/Saída Objetivos de Concepção – – – – independência de codificação independência do periférico eficiência gerenciamento padrão aplicativos interface de processo KERNEL gerenciador de dispositivo (device driver) hardware interface de dispositivo dispositivos Gerenciamento de E/S Entrada/Saída é responsável pelo gerenciamento dos dispositivos Um elemento de Entrada/Saída é um dispositivo capaz de transferir informações entre a memória de um computador e um suporte externo de informação Um dispositivo de Entrada/Saída é comumente chamado de periférico Tipos de Dispositivos de E/S – dispositivos de bloco – dispositivos de caracter Gerenciamento de E/S Processador e Dispositivos executam assincronamente Características de Dispositivos: – – – – – velocidade de tranferência unidade de transferência representação de dados operações condições de erro Interfaces de Entrada/Saída Controladores (device controllers) são a parte do hardware que atua como interface entre o computador e os dispositivos controlador funções lógocas (sinalização) dispositivo funções físicas (transferência) um controlador é um dispositivo de comando adaptado a um dado tipo de periférico Interfaces de Entrada/Saída Acesso Direto à Memória (DMA - Direct Memory Access) Canal de Entrada/Saída – processador especializado de entrada/saída • acesso simultâneo entre processadores: conflito • resolução de conflitos: dispositivo de acesso • prioridade sobre barramento: maior prioridade para o canal (eventos externos) que para a UCP Software de Entrada/Saída Objetivos de Concepção – – – – – independência de dispositivo uniformidade para nomes manipulação de erros transferência síncrona ou assíncrona dispositivos compartilhados ou dedicados nível 4 Software de Aplicação nível 3 Software de Sistema (independente de dispositivo) nível 2 Drivers de Dispositivos nível 1 Manipuladores de Interrupções Hardware Buferização (buffering) – técnica para antecipação de transferências de entrada/saída • diminui o chaveamento de processos – transferência de entrada • realizada para o Buffer de Entrada – processos retiram dados do buffer de entrada – processos esperam se buffer de entrada está vazio – tranferência de saída • realizada para o Buffer de Saída – processos colocam dados no buffer de saída – processos esperam se buffer de saída está cheio Spooling – técnica para permitir que procedimentos de entrada/saída para dispositivos não compartilháveis possam ser realizados simultaneamente • transferências realizadas para meios intermediários • transferências para o dispositivo real são realizadas por um processo chamado de spooler • redução na pressão da demanda para os dispositivos não compartilháveis que são usados pesadamente – classes de spooling • de entrada • de saída Spooling Diagrama de Comunicação Processo de Usuário Spooler Proc. I/O Manip. Disco Proc. I/O Manip. Disco Proc. I/O Manip. Imp. Buffer Arquivo de saída Impressora Drivers de Dispositivos – manipulam as atividades dependentes de dispositivos – um driver de dispositivo manipula um tipo ou classe de dispositivos – fornecem uma interface padrão Drivers de dispositivos do Unix – dispositivos descritos por dois números: • o major: o tipo • o minor: a instância – manutenção de estruturas de dados distintas para cada instância de dispositivo Drivers de Dispositivos Organização Processos Interface de Processos Kernel tarefa driver superior fila driver inferior Hardware Dispositivos Dispositivo de E/S: Disco – usuais para armazenamento secundário – características: • alta taxa de fornecimento de dados • transferência feita por bloco • unidades de disco: removível e não-removível – organização: • conjunto de superfícies:disco circular coberto de material magnético • cada superfície é dividida em trilhas: aneis concêntricos • cada trilha é dividida em setores: arco de trilha, unidade mínima de transferência Dispositivo de E/S: Disco • panela de discos é uma pilha de discos organizada em cilindros: conjunto alinhado de trilhas – operações sobre disco através de coordenadas radiais: x, y e z – tempos para ler ou escrever: • de busca: posicionar cabeça sobre o cilindro • de retardo rotacional:esperar pela passagem do setor sobre a cabeça • de transferência: transferir os dados de um setor – os tempos de busca e de retardo rotacional são de latência – o tempo de transferência é de largura de banda Dispositivo de E/S: Disco Organização seto r trilha Panela de disco Superfície de disco Dispositivo de E/S: Disco – fornecer a abstração de um disco virtual que é um array linear de setores – fornecer transparência da estrutura física – diminuir o efeito dos tempos de espera – Técnicas disponíveis: • transferência síncrona/assíncrona • sobreposição de e/s e computação • grandes objetos armazenados em áreas contíguas • espaço de swap entre centro e borda • ordem de serviço de requisições: FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK