Gerenciamento de dispositivos de entrada e saída | Comunicação e Sincronismo entre Processos | Impasses
Por: Daniel Blythe • 22/6/2019 • Resenha • 1.919 Palavras (8 Páginas) • 290 Visualizações
-> SO controla todos os dispositivos de E/S de um computador ele: deve emitir comandos para os dispositivos, tratar interrupções e erros; fornecer uma interface entre os dispositivos e o restante do sistema que seja simples e fácil de usar.
HARDWARE: duas categorias
Dispositivos baseados em bloco -> informações armazenadas em blocos de tamanho fixo cada um com seu próprio endereço. Cada bloco pode ser lido ou escrito independentemente de todos os outros.
Dispositivos de carácter -> aceita uma sequência de caracteres, sem se importar com a estrutura de blocos; não é endereçável e não possuem operações de busca.
-> Os dispositivos de E/S são formados por uma parte mecânica (dispositivo em si) é uma parte eletrônica (controlador de dispositivo) que se comunicam através de uma interface.
->SO gerencia utilizando drivers escrevendo/lendo nos/dos registradores/buffers para enviar comando ou saber o estado do dispositivo.
-> CPU se comunica com os registradores de controle:
->Porta cada registrador de controle possui o número de porta de E/S
->Mapeada na memória mapear os seus de controle do espaço de memória. Uso de linguagem de alto nível.
->Estratégia híbrida: buffers de dados de E/S mapeadas na memória e porta de entrada e saídas separadas para os registradores de controle.
MANEIRAS DE REALIZAR E/S
E/S programada -> processador executa o programa e tem controle sobre as operações de entrada e saída. Desvantagem CPU é ocupada o tempo todo, até que a E/S seja feita, CPU verifica continuamente se o dispositivo está pronto para aceitar outro caráter -> espera ocupada.
E/S orientada a interrupção -> A CPU passa a realizar outras tarefas escalonadas até que seja informada por dispositivo por meio de uma interrupção que está pronto para mais caracteres ou concluir sua tarefa.
E/S com uso de DMA -> DMA (acesso direto a memória) controladora do culto entrada programada ao invés da CPU reduz o número de interrupções. Desvantagem: a DMA é mais lenta que a CPU portanto pode atrasá-lo por estar usando barramento no momento que eu preciso usar o (roubo de ciclo).
Interrupções de E/S -> controlador de interrupções decide se: envia para CPU ou ignora no momento (dispositivos geram sinais de interrupções até serem atendidos).
Verifica-se existe interrupção -> caso não, busca próxima instrução.
Se sim -> suspende a execução do programa, salva o contexto, atualiza o PC e executa interrupção -> recarrega o contexto e continua o processo interrompido.
SOFTWARE
Drivers -> é um software que permite que o SO e um dispositivo se comuniquem um com o outro. Funcionam como um tradutor de informações para que os dispositivos funcione corretamente.
São gerenciados pelo kernel (núcleo) do SO; contém todo o código dependente do dispositivo; controlam o funcionamento dos dispositivos por meio de sequência de comandos escritos/lidos nos/dos registradores da controladora; Dispositivo diferente possuem drivers diferentes (classes de dispositivo podem ter o mesmo drive). São dinâmicamente carregados; Drivers defeituosos podem causar problemas no Kernel do SO.
Software de E/S independente do dispositivo -> executar as funções de entrada e saída comuns para todos os dispositivos de fornece uma interface uniforme para o software do usuário para permitir a inclusão de novos drivers sem a necessidade de alteração da camada de subsistemas de E/S.
Deve prover buffering (ajuste entre a velocidade e a quantidade de dados transferidos), reportar erros, proteger os dispositivos contra acessos indevidos e gerenciar acessos concorrentes.
TRANSFERÊNCIA DE DADOS
Síncrona (bloqueante) -> requer bloqueio até que os dados estejam prontos para transferência.
Asíncrona (não bloqueante) -> transferências acionadas por interrupões.
TIPOS DE DISPOSITIVOS
Compartilháveis -> podem ser utilizados por vários usuários ao mesmo tempo.
Dedicados -> podem ser utilizados por apenas 1 usuário por vez.
Ciclo de E/S
Processo faz pedido de E/S através de chamada de sistema -> Verifica-se se o pedido pode ser atendido imediatamente
Se sim: se os parâmetros estiverem corretos e os arquivos já estiverem no buffer (cache), os dados retornam ao processo e a E/S é concluída.
Se não: E/S é escalonada e o subsistema envia pedido para o Driver -> Driver processa o pedido, envia comandos para a controladora do dispositivo escrevendo nos seus registradores de controle -> Controladora monitora o dispositivo e gera uma interrupção quando E/S for concluída -> Rotina de tratamento de interrupções armazena os dados no buffer, sinaliza o driver que retorna da interrupção -> E/S concluída.
Discos -> Cada superfície dividida em trilhas. Cada trilha é dividida em blocos ou setores. Cilindo -> conjunto de trilhas com a mesma distância do eixo central.
Técnica para reduzir o tempo de acesso -> Entrelaçamento -> Setores são enumerados com um espaço entre eles.
Tssek = tempo para o movimento do braço até o cilindro
Tlatência = tempo para posicionar o setor na cabeça do disco
Ttransferência = transferencia dos dados
Tempo de acesso = Tseek + Tlatência + Ttransferência
ALGORITMOS DE ESCALONAMENTO NO DISCO
FCFS, SSF e elevador.
FCFS (FIFO) -> Atende as requisições na ordem que foram recebidas
SSF (posicionamento mais curto primeiro) -> Reduz o tempo de posicionamento. Problema: com um disco totalmente carregado, o braço tenderá a permanecer no meio do disco na maior parte do tempo, de modo que as requisições para os cilindos extremos terão de esperar e podem obter um serviço ruim. Eficiência
...