dispositivos [entrada e saída]
TRANSCRIPT
www.inforium.com.br
Princípios básicos de software de entrada e saída.
► Software de E/S
▪ Complexo
▪ Padronizar as rotinas de entrada e saída.
▪ Tratar as formas de acesso aos periféricos
▪ É formado por ‘4’ camadas.
# Tais características permitem a inclusão de novos dispositivos sem necessidade de alterar a interface com o usuário final.
Princípios básicos de software de entrada e saída.
► Organização do Software de E/S.
# O hardware interage com os drivers de dispositivos através das interfaces físicas (paralelas ou serias), interrupções e DMA.
Figura 1.1 – Camadas do software
Drivers de dispositivo
► Drivers de dispositivos – (Device Drivers)
# Todo código dependente de dispositivo deve estar nos drivers de dispositivos.
▪ Composta por módulos onde cada um é responsável por fornecer acesso a um dispositivo de E/S específico.
▪ Objetivo: Ocultar as diferenças dos dispositivos fornecendo uma abstração mais genérica possível a camada superior, conforme figura 1.1, fazendo com que a camada acima veja estes dispositivos de uma forma uniforme.
* .exe Drivers
Usuários Software Aplicativo
Sistemas Operacionais Hardware
# O exemplo abaixo ilustra genericamente este relacionamento.
www.inforium.com.br
► Podem ser orientados a caractere ou a bloco▪ Orientados a bloco: o armazenamento e transferência de informações é feito através de blocos de tamanho fixo. Geralmente entre 512 b e 32 Kb.
▪ Orientados a caractere: realizam transferência byte a byte, sem a necessidade de considerar uma estrutura de endereçamento. Ex. Portas seriais, impressoras, interfaces de rede, mouses, etc.
Drivers de dispositivo
www.inforium.com.br
► Implementa funções e procedimentos a todos os dispositivos de E/S.
▪ As principais são:
▪ Escalonamento de E/S: Reordena o acesso á dispositivos de E/S compartilhados por vários processos, visando a melhora do sistema.
Ex: discos magnéticos.
▪ Denominação: Cada periférico possui um nome lógico para sua identificação, generalizando as rotinas de acesso.
▪ Buferização: Processo que armazena os dados temporariamente no decorrer de uma transferência entre camadas do software de E/S.
Ex: Numa transferência de 128Kb será possível transferir de 4Kb em 4Kb.
▪ Cache de dados: Armazena dados frequentemente acessados na memória RAM, com intuito de facilitar e agilizar as requisições do sistema.
E/S independente de dispositivo
www.inforium.com.br
► Principais funções e procedimentos:▪ Alocação e liberação: Em dispositivos que permitem o acesso de um usuário por vez, se faz necessário o gerenciamento pelo software de E/S, a fim de evitar acessos concorrentes. É então adotada a técnica de spooling que disponibiliza os pedidos em uma fila, para que sejam atendidos um a um.
Ex: Fila de impressão.
▪ Direitos de Acesso: Define a forma de acesso aos dispositivos para cada usuário, o SO deve garantir o acesso de forma correta.
▪ Tratamento de erros: O software de E/S deve informar a camada superior a ocorrência de erros de uma operação.
E/S independente de dispositivo
www.inforium.com.br
E/S à nível de usuário
► O usuário interage com o SO independente da implementação. Para o usuário não importa qual é o processo realizado para ‘imprimir’ por exemplo.
Visualiza a abstração das funções pela interface oferecida a ele.
www.inforium.com.br
Dispositivos periféricos típicos
►Dentre os vários dispositivos de E/S, seria impossível abordar todos aqui, portanto descreveremos os comuns e fundamentais ao funcionamento do computador, como: Disco Rígido, Vídeo, Teclado e Rede, apontando suas peculiaridades pertinentes a entrada e saída de dados.
www.inforium.com.br
DISCOS RIGIDOS(Hard Disk, HD ou Winchester)
► Na arquitetura de um computador podemos considerar o HD um dos componentes mais importantes, pela sua grande capacidade de armazenamento de dados e principalmente por guardar todos os dados do sistema operacional
1 - Prato, mídia ou platter - aonde os dados são gravados
2 - Atuador ou actuator - parte mecânica responsável pelo posicionamento das cabeças de leitura e gravação
3 - Componentes internos de controle do atuador, ligados a placa controladora lógica externa
4 - Cabeças de leitura e gravação ou magnetic heads - conectadas ao atuador, responsáveis pela leitura e gravação de dados na mídia
5 e 6 - Hard Disk Assembly superfície aonde são montados os componentes de um hard disk
7 - Placa controladora lógica ou logic board - responsável pela inicialização, controle mecânico e envio de dados do hard disk para o computador.
8 - Conectores externos padrão IDE - conexão por onde são enviados os dados para a placa-mãe e conseqüentemente ao processador
DISCOS RIGIDOS(Hard Disk, HD ou Winchester)
www.inforium.com.br
DISCOS RIGIDOS(Hard Disk, HD ou Winchester)
► Tempo de acesso▪ Para se realizar um acesso ao HD, é necessário posicionar o cabeçote de leitura e escrita sob um determinado setor e trilha onde o dado será lido ou escrito. Esse procedimento de acordo com a organização de um HD requer um certo tempo de acesso:
São definidos por três fatores:
▪Seek Time : é o tempo de que a cabeça de leitura leva para ir de uma trilha a outra, isto é deslocar o
cabeçote de leitura e escrita até o cilindro correspondente à trilha a ser acessada.
www.inforium.com.br
DISCOS RIGIDOS(Hard Disk, HD ou Winchester)
► Tempo de latência (t latency)
▪ Tempo necessário, uma vez que o cabeçote já esteja na trilha correta, para que o setor a ser lido, ou escrito, possa se posicionar sob o cabeçote de leitura e escrita. Esse tempo também é denominado de atraso rotacional (rotational delay).
Definição: Atraso necessário para a cabeça de leitura/escrita chegar ao setor desejado
www.inforium.com.br
DISCOS RIGIDOS(Hard Disk, HD ou Winchester)
►Transfer time (t transfer)
▪ Corresponde ao tempo necessário à transferência dos dados, isso é, à leitura ou escrita dos dados
►Cache
▪ Os discos rígidos atuais possuem uma pequena quantidade de memória cache embutida na controladora, que executa várias funções com o objetivo de melhorar o desempenho do disco rígido. Neste cache ficam guardados os últimos dados acessados pelo processador, permitindo que um dado solicitado repetidamente, possa ser diretamente transmitido a partir do cache, dispensando uma nova e lenta leitura dos dados pelas cabeças de leitura.
www.inforium.com.br
Estrutura Raid( Redundant Array if Independent Disks) Matriz Redundante de Discos Independentes
► Apesar do nome ser complicado, o conceito é bem simples: fazer com que vários discos rígidos trabalhem em conjunto como se fosse um só: Exemplos mais usados:
Raid 0 Raid 1 Raid 5
www.inforium.com.br
Vídeo
► Utilizam a memória mapeada. Para cada caractere armazenado existem ‘2’ bytes associados a matriz.
▪ Um associado ao código ASCII
▪ Outro a um atributo, como: ‘piscando, itálico, etc.’
►Estrutura de matriz com linhas e colunas
▪ Acesso a matriz, exibição do vídeo:
▪ Como texto é organizado em uma matriz de caracteres.
▪ Já como gráfico é organizada em pixels, onde a placa define a resolução e as cores de cada pixel determinando o tipo da controladora, (EGA,VGA,SVGA, e mais).
www.inforium.com.br
Teclado
► Teclado responsável pela entrada de dados no SO.
▪ Cada tecla pressionada é reconhecida e armazenada pelo scancode em uma matriz, por meio de uma interrupção de hardware.
▪ Um tratador de interrupções consulta uma tabela para substituir o código da matriz, por um caractere e armazena-lono buffer do teclado.
▪ Através de chamadas de sistema o SO recupera esses caracteres e os devolve ao usuário pelo aplicativo.
www.inforium.com.br
► Gerenciamento das janelas
▪ Método Dedicado ▪ O número de entradas é limitado pelo buffer da estrutura associada ao terminal.
# Em ambos os casos o driver de teclado seleciona a janela através do conceito de janela ativa.
Teclado
► Gerenciamento das janelas
▪ Método Centralizado ▪ O driver do teclado se relaciona com o SO para enviar os caracteres a janela correta. Por meio de buffers a cada janela aberta é criado uma estrutura de dados que consome os caracteres digitados.
www.inforium.com.br
Rede
► Interface de rede▪ Provê a interconexão entre máquinas baseada em alguma tecnologia (ethernet), que determine velocidade de transmissão e a capacidade de receber e transmitir ao mesmo tempo, (fullduplex). Todos os procedimentos são gerenciados pelo protocolo TCP/IP.
▪ A placa de rede transforma sinais digitais em sinais analógicos, possui memória para armazenamento de dados durante uma transferência. Trabalha orientada a eventos, como: final de uma transmissão, recepção de uma mensagem.
www.inforium.com.br
Rede
► Eventos▪ Para todo evento, como enviar ou receber uma mensagem o software de rede deve fazer uma requisição ao SO. Caso a mensagem ainda não tenha sido recebida, o processo requisitante é bloqueado ate sua chegada. Após o recebimento o driver de rede direciona a mensagem ao processo, que passa de bloqueado para apto a executar. Caracterizando uma transmissão síncrona.
▪ Uma Transmissão assíncrona não bloqueia o processo requisitante se não houver mensagem, pois sua intenção em recebe - lá já foi informada ao SO, a verificação e leitura da mensagem é de responsabilidade do próprio processo.
www.inforium.com.br
► Conclusão:Os dispositivos de entrada são os responsáveis pela entrada de dados no sistema computacional, tais dados necessitam de outros componentes do computador para serem processados e convertidos em um formato legível à máquina, para que possam ser tratados e devolvidos ao usuário através dos dispositivos de saída. Este processo requer muito do SO, uma vez que o hardware é ainda mais lento que o software, exigindo intervenções do SO como buferização, interrupções, entre outros processos. O SO gerencia estes procedimentos, quando solicitado por uma “chamada de sistema”, assim fica evidente a necessidade de tornar os periféricos o mais independente possível do SO, com seus próprios micro-processadores.
Princípios básicos de software de entrada e saída.
www.inforium.com.br
►Qual o objetivo dos drivers de dispositivos?
►Para evitar uma nova e demorada leitura de dados no HD, qual o processo usado pelo SO e disponibilizado pelo HD?
►Em redes, qual a diferença entre transmissão síncrona e transmissão assíncrona?
Perguntas..
Formatação