Controladores de Dispositivos

As unidades de I/O constituem-se de um componente eletrônico e um mecânico. O elemento eletrônico é chamado de controlador de dispositivo ou adaptador. Nos computadores pessoais, o controlador de dispositivo aparece sob a forma de uma placa de circuito impresso, com um conector que pode ser plugado a outros dispositivos.

Cada controlador de dispositivo tem seus registradores. Esses registradores são usados para se comunicar com a CPU. Por meio da escrita nesses registradores do controlador, o SO pode comandar o dispositivo. Além dos registradores, os dispositivos contêm buffers, nos quais o SO lê e escreve.

A CPU comunica-se com os registradores do controlador e com os buffers do dispositivo por meio dos registradores, associados a um número de porta de I/O. Usando uma instrução, a CPU pode ler o registrador do controlador e armazenar o resultado no seu registrador. A mesma pode escrever o conteúdo do registrador da CPU para o registrador de controle.

Drivers do dispositivo

Cada controlador tem alguns registradores do dispositivo, utilizados para dar comandos. O número de registradores do dispositivo e a natureza dos comandos variam de dispositivos para dispositivos. Por exemplo, um driver de mouse deve aceitar informações do mouse, tais como o quanto se moveu e qual botão foi pressionado. Por outro lado, o driver do disco deve saber sobre o setor, trilhas, cilindros e cabeçotes. Como esses drivers serão bastante diferentes, cada dispositivo de I/O, ligado ao computador, precisa de algum código especifico do dispositivo para controlá-lo.

Esse código que controla os dispositivos é chamado de driver do dispositivo e normalmente é desenvolvido pelo fabricante, juntamente com o dispositivo. Como cada SO precisa de seus próprios drivers dos dispositivos, os fabricantes desenvolvem e fornecem esses drivers para os sistemas operacionais mais populares, pois sem os mesmos os dispositivos ficam inoperantes. Os drivers devem ser instalados no SO e passam a fazer parte dos mesmos.

Na maioria dos SOs, especialmente no Linux, os device drivers mais importantes e os mais genéricos, que são utilizados largamente pelo computador, normalmente são compilados e fazem parte do núcleo do sistema (kernel) e os utilizados com menos frequência, ou que não exigem uma demanda muito grande, são carregados como módulos. Os drivers que não estão disponíveis inicialmente com o SO, que são drivers disponibilizados por terceiros, são módulos que são incorporados posteriormente ao SO.

Dispositivos de Entrada/Saída

Os dispositivos de entrada e saída são os responsáveis pela comunicação entre o computador e o mundo externo, e podem ser somente para entrada de dados, tais como o teclado e o mouse; somente para saída de dados, como a placa de vídeo e as impressoras; ou para entrada e saída de dados, como as placas de rede, discos e unidades de armazenamento.

Os dispositivos podem ser Estruturados ou Não Estruturados. Os dispositivos estruturados armazenam as informações em blocos de tamanho fixo, cada um com um endereço, cujo tamanho do bloco pode variar entre 128 e 1.024 bytes e cujos blocos podem ser lidos ou gravados de forma independentes. Os discos são exemplos de dispositivos estruturados.

Os dispositivos estruturados podem ser de: 

a) Acesso Direto: os blocos de dados podem ser recuperados diretamente por meio de um endereço, como por exemplo, nos discos magnéticos, em que pode ser lido um setor qualquer do disco; 

b) Acesso sequencial: para acessar um bloco de dados, o dispositivo deve percorrer sequencialmente o meio de armazenamento à procura do bloco, exemplo, fita magnética, CD, DVD. 

Os dispositivos não-Estruturados podem enviar ou receber uma sequência de caracteres sem estar estruturado no formato de um bloco. Esta sequência de caracteres não é endereçável, não podendo haver operações de acesso ao dado após a transmissão, como por exemplo em terminais, impressoras e interfaces de rede. Esses dispositivos de caractere são tão rápidos quanto possível para escrever e ler dados do seu hardware e, portanto, não necessitam de um buffer.

Já um dispositivo de bloco, devido à sua característica de acesso aleatório, necessita de um buffer, pois quando um programa utiliza um dispositivo de bloco, as operações de escrita e leitura estão sendo realizadas no buffer do dispositivo e esse, por sua vez, se encarrega de fazer a mudança fisicamente, no momento adequado.

Jogo Caça-Palavras

ATIVIDADE DE FIXAÇÃO (TURMA 01)

ATIVIDADE DE FIXAÇÃO (TURMA 02)

Comentários

Postagens mais visitadas deste blog

Transferência de arquivo por FTP

TIPOS DE PROCESSOS

Tipos de Servidores