Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS CONTEÚDO DA AULA COMPONENTES E/S INDEPENDENTE DO E/S INDEPENDENTE DO DISPOSITIVO DEVICE DRIVER ESCALONAMENTO DE E/S • Introdução – Uma das funções principais do SO é controlar todos os dispositivos de E/S com suas diversidades.diversidades. – O código de E/S representa uma fração significativa de todo o SO. • Diversidade de periféricos – Velocidade – Representação de caractere – Unidade de transferência(bit, byte ou bloco) MOTIVAÇÃO – Unidade de transferência(bit, byte ou bloco) – Tratamento de erro • Programação independente do periférico • Utilização de novos periféricos • As operações de E/S devem ser o mais simples e transparente possível. • O subsistema de E/S de um sistema operacional deve isolar a complexidade de operações específicas para cada tipo de dispositivo. SUBSISTEMA DE E/S específicas para cada tipo de dispositivo. • É composto por um conjunto de rotinas que possibilita a comunicação com qualquer dispositivo conectado ao computador sem que o usuário se preocupe com os detalhes do dispositivo. COMPONENTES – E/S Processo Sistema de Arquivos Operações de E/ S M o d o U s u á r i o Independente do dispositivo (a)R E Controladores Dispositivos de E/S Device Drivers Subsistema de E/S M o d o K e r n e l (a) Dependente do dispositivo (b) S O F T W A R H A R D W A R E Dispositivos de E/S • Os dispositivos podem ser, de modo genérico, divididos em duas categorias: – Um dispositivo de blocos é aquele que armazena informação em blocos de tamanha fixo, cada um com o seu endereço. Os blocos são independentes uns dos outros. • Disco, fitas – O dispositivo de caracter são aqueles que enviam ou recebemum fluxo de caracteres, sem considerar qualquer estrutura de bloco.Ele não é endereçável e não dispo~e de qualquer operção de posicionamento. • Impressoras, interface de redes entre outros• Impressoras, interface de redes entre outros Controladores • Todos os dispositivos possuem controladores que , quando executados, dão a ação a parte mecânica deste dispositivo. • Geralmente se apresenta sob a forma de placas controladoras que são ligadas ao dispositivo através de um cabo. • É importante que as empresas desenvolvam controladores compatíveis com as maiorias das interfaces.com as maiorias das interfaces. • O trabalho do controlador é converter o fluxo serial de bitsem blocos de bytes e executar toda a correção de erro. COMPONENTES - RESUMO E/S Nível do usuário �E/S independente do dispositivo � Interface de I/O para aplicaçãoS.O. � Interface de I/O para aplicação �Driver (mecanismos de acesso ao dispositivo fornecendo uma visão uniforme) Hardware S.O. E/S INDEPENDENTE DO DISPOSITIVO Funções de gerenciamento de alocação e uso do dispositivo que não dependem de características do hardware E/S INDEPENDENTE DO DISPOSITIVO – Escalonamento de E/S: ordem de atendimento as requisições – Denominação: associação de um nome a um periférico – Buferização: área de memória que compatibiliza a comunicação entre dispositivos com velocidades e unidades de transferência diferentes.diferentes. – Cache de dados: armazena em memória os dados mais recentes (cópia) – Alocação e liberação de uso – Direitos de acesso – Tratamento de erros DEVICE DRIVER – Implementa a comunicação do subsistema de E/S com um dispositivo específico. – Responsável pela tradução do que é solicitado pela do que é solicitado pela aplicação para o que é entendido pelo dispositivo – Recebem comandos gerais e os transforma e comandos específicos para o dispositivo. CLASSIFICAÇÃO • Quanto a comunicação – Comunicação com o usuário – Comunicação com equipamento – Comunicação com dispositivos remotos– Comunicação com dispositivos remotos • Quanto a transferência de dados – Orientado a bloco (ex. disco) – Orientado a caractere (ex. terminal) CLASSIFICAÇÃO • Forma de comunicação – Programmed I/O: Tratamento de acesso de responsabilidade do programador, fazendo com que a aplicação aguarde o término da operação de E/S. – Interrupt-driven I/O : O processo que executou a operação permanece bloqueado até que a operação operação permanece bloqueado até que a operação se complete. O Processador é interrompido quando a operação de E/S termina colocando o processo no estado de pronto. – Direct memory Access (DMA): Transferência dos dados diretamente para a memória sem interferência do processador ESCALONAMENTO DE E/S • Baseado na fila de requisição • FiFo (First in First out) –Mais simples – Atendimento na ordem dos pedidos– Atendimento na ordem dos pedidos • Prioridade – fora do controle do gerenciador • LiFo (Last in First out) – Diminui o movimento da cabeça de leitura em arquivos seqüenciais Escalonamento de E/S • Baseado na localização • SSTF (shortest service time first) - menor tempo de serviço de primeira – Fila é reordenada para atender as requisições de forma a minimizar o movimento da cabeçaforma a minimizar o movimento da cabeça – Possibilidade de starvation • Scan (elevador) – Variação do SSTF porém estipula uma direção preferencial – O sentido se inverte ao final da varredura • C-Scan – Semelhante ao Scan porém com um sentido único EXEMPLO Seqüência iniciando na trilha 100: 55,58,39,18,90,160,150,38,184 FIFO Seqüência iniciando na trilha 100: 55,58,39,18,90,160,150,38,184 SSTF EXEMPLO Seqüência iniciando na trilha 100: 55,58,39,18,90,160,150,38,184 SCAN EXEMPLO Seqüência iniciando na trilha 100: 55,58,39,18,90,160,150,38,184 C-SCAN EXEMPLO Exercício Uma unidade de disco com 5000 cilindros , numerados de 0 a 4999 esta atendendo a um pedido no cilindro 20, sendo o atendimento anterior feito no cilindro 15. Considerando as requisições abaixo em ordem de chegada calcule o tempo gasto para atender as requisições para as políticas de escalonamento FIFO e C-SCAN sabendo que são gastos 6 ms entre cada trilha. Requisições: 10 – 22 – 20 – 2 – 40 – 6 - 38 Solução: FIFO: Posição atual = 20 20 � 10 10 10 � 22 12 22 � 20 2 20 � 2 18 2 � 40 38 40 � 6 34 6 � 38 32 ----- 146 * 6 = 876 1) 876 e 59914 ms 2) 30 e 28 ms 3) 59914 e 59934 ms 4) 876 e 59934 ms Exercício Uma unidade de disco com 5000 cilindros , numerados de 0 a 4999 esta atendendo a um pedido no cilindro 20, sendo o atendimento anterior feito no cilindro 15. Considerando as requisições abaixo em ordem de chegada calcule o tempo gasto para atender as requisições para as políticas de escalonamento FIFO e C-SCAN sabendo que são gastos 6 ms entre cada trilha. Requisições: 10 – 22 – 20 – 2 – 40 – 6 - 38 Solução: C-SCAN: Posição atual = 20 (subindo) 20 � 4999 4979 4999 � 0 5000 0 � 10 10 ----- 9989 * 6 = 59934 1) 876 e 59914 ms 2) 30 e 28 ms 3) 59914 e 59934 ms 4) 876 e 59934 ms
Compartilhar