Dispositivos [Entrada E SaíDa]

24
www.inforium.com.br Sistemas Operacionais Dispositivos de Entrada e Saída

Transcript of Dispositivos [Entrada E SaíDa]

www.inforium.com.br

Sistemas OperacionaisDispositivos de Entrada e Saída

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

DISCOS RIGIDOS(Hard Disk, HD ou Winchester)

► Disposição do HD

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

► Organização do software de rede▪ Modelo OSI

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

[email protected]