01. gerenciamento de perifericos

20
 SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA /SAÍDA - 1/20 ________________________________________________________________________________________________________ PROCESSAMENTO DE ENTRADA E SAÍDA (E/S) Proporcionar recursos de E/S é uma das tarefas mais complexas de qualquer Sistema Operacional. Os usuários querem expressar o desejo de executar operações de E/S, de forma mais simples possível. Por exemplo: ... Var Arq1, Arq2: T; ... Read(Arq1, y); ... Write(Arq2, y); ... Dessa forma, as rotinas Read e Write, no caso, es condem do usuário todos os detalhes dos dispositivos de E/S, disponíveis no sistema, tais como: se Arq1 é arquivo de disco rígido ou flexível, ou se é o teclado, ou se é fita magnética, etc; se Arq2 é uma impressora, ou se é disco, etc. Nesse caso, as operações de E/S são oferecidas por uma biblioteca, a qual deverá contar com o suporte do Sistema Operacional, o qual é o responsável maior do gerenciamento das E/S do sistema. Para tanto, o Sistema Operacional deve prover a interface entre a E/S a nível de usuário (ou nível lógico) e a E/S a nível físico.

Upload: thiagojacob

Post on 06-Jul-2015

144 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 1/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 1/20________________________________________________________________________________________________________

PROCESSAMENTO DE ENTRADA E SAÍDA (E/S)

Proporcionar recursos de E/S é uma das tarefas mais complexas de qualquer Sistema

Operacional.

Os usuários querem expressar o desejo de executar operações de E/S, de forma mais

simples possível.

Por exemplo:

...

Var

Arq1, Arq2: T;...

Read(Arq1, y);

...

Write(Arq2, y);

...

Dessa forma, as rotinas Read e Write, no caso, escondem do usuário todos os

detalhes dos dispositivos de E/S, disponíveis no sistema, tais como: se Arq1 é arquivo

de disco rígido ou flexível, ou se é o teclado, ou se é fita magnética, etc; se Arq2 é

uma impressora, ou se é disco, etc.

Nesse caso, as operações de E/S são oferecidas por uma biblioteca, a qual deverá

contar com o suporte do Sistema Operacional, o qual é o responsável maior do

gerenciamento das E/S do sistema.

Para tanto, o Sistema Operacional deve prover a interface entre a E/S a nível deusuário (ou nível lógico) e a E/S a nível físico.

Page 2: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 2/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 2/20________________________________________________________________________________________________________

E/S a nível físico trata dos detalhes específicos de cada dispositivo, enquanto que as

E/S a nível lógico visa esconder esses detalhes do usuário; ou seja elas encapsulam

as operações a nível físico, oferecendo operações bem mais abstratas.

Page 3: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 3/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 3/20________________________________________________________________________________________________________

Note neste exemplo que o dado (caractere) lido é armazenado em um buffer, o qual é

passado para a rotina de E/S lógico, o qual deve interpretar o conteúdo segundo as

pretensões especificadas pelo usuário através de parâmetros (no caso o tipo da

variável).

Uma pergunta. Por que se escreveu:

“Esperar a digitação ...;”

em vez de:

“Ler um caractere;”

???

Porque deseja-se passar para Buffer o caractere digitado.

Assim, a operação Esperar está na realidade expressando as regras de sincronização

do problema do produtor versus consumidor, no caso específico de se poder produzir

um dado de cada vez.

Isso é preciso para compatibilizar as diferentes velocidades de processamento entre a

UCP (que executa as rotinas de E/S) e o dispositivo (no caso, o teclado).

É notório, então, que as diferentes velocidades de processamento dos diversos

dispositivos de E/S e a das UCPs, tornam mais complexas a tarefa de gerenciá-los.

Ilustrando essa diferença de velocidade.

UCP de 100MHz

Winchester de 10ms.

100mhz ----> ciclo = 1/100 = 0,01ms = 10ns

Vamos supor que na média, o tempo para execução de uma instrução seja de 10ciclos, ou seja 100ns = 0,1ms.

O tempo de acesso a um dado do winchester é de aproximadamente 10ms (ignorando

os detalhes de interpretação, armazenamento, etc.).

Page 4: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 4/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 4/20________________________________________________________________________________________________________

Dessa forma, enquanto “é lido um dado” do winchester, é possível executar 100

instruções.

(observação: é preciso verificar se o dado é um byte, ou palavra, ou 1 setor, ou etc.)

Assim, enquanto um processo está solicitando a leitura de dados de um arquivo, por

exemplo, muito do tempo da UCP será gasto em ficar questionando se um dado ficou

disponibilizado, para poder ser armazenado em uma posição bem definida da

memória, para que a rotina de E/S lógica possa interpretá-lo, coerentemente com as

pretensões do usuário.

Para evitar esse gasto, é interessante alocar 1 processador para cuidar da ativação da

leitura (no caso), e da espera pela disponibilização do dado para o seu

armazenamento em local apropriado (INTERFACE OU PLACA DE CONTROLE).Quando o dado ficar disponibilizado, este processador deve avisar a UCP que a sua

tarefa terminou e que ele está disponível para executar qualquer uma de suas

operações, basta solicitar.

Isso permite (como já visto) a multiprogramação do sistema.

Vamos a seguir estudar esses processadores ou placas de controle ou interfaces,como também os softwares que forem necessários para o processamento de E/S.

DISPOSITIVOS E CONTROLADORES DE E/S

As operações de E/S envolvem vários componentes como: a UCP, a memória, e os

dispositivos externos como: impressora, unidades de disco e terminais, por exemplo.

Vamos em primeiro lugar, ver como conectá-los, para permitir que eles se

comuniquem.

Page 5: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 5/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 5/20________________________________________________________________________________________________________

Barramento:

Controladores

Normalmente, os dispositivos não são conectados diretamente no barramento. Em vez

disso eles são conectados por meio de controladores de dispositivos.

Os controladores em geral podem comunicar-se com

vários dispositivos. Eles podem transferir dados para dispositivos e retardar operações

até os dispositivos estejam prontos.

A necessidade de um controlar é para simplificar a arquitetura do sistema.

Além disso, existe a razão econômica; pois um controlador pode controlar váriosdispositivos eliminando-se a redundância de componentes eletrônicos.

Os controladores podem ser:

• Não inteligentes; e

• Inteligentes.

Page 6: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 6/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 6/20________________________________________________________________________________________________________

Os não inteligentes são aqueles que oferecem apenas as operações básicas de

controle do dispositivo.

Já os inteligentes, podem ser planejados para formar blocos de dados, detectar e

corrigir erros, etc.

Técnicas de projetos visam colocar essas funções em VLSI.

Controladores de Dispositivos

Escrever software para controlar dispositivos requer muita atenção a detalhes, comoconhecer as especificações técnicas deles.

A maioria dos programadores não nem um pouco interessados em se preocuparem

com isso. Na verdade eles nem precisam desde que se crie dispositivos lógicos.

Dispositivos Lógicos

Program P;

Var

Arquivo: T;

...

Read(Arquivo, x);

...

Arquivo pode ser:

• arquivo de disco;

• memória;

• impressora;

• etc.

Dispositivo

Lógico 

Page 7: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 7/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 7/20________________________________________________________________________________________________________

É obvio que alguns componentes devem se preocupar com aqueles detalhes.

Os componentes que devem tratar de detalhes dos dispositivos, são comumente

denominados de drivers.

Esses drivers muitas vezes fazem parte do núcleo do Sistema Operacional (residente;

porque são solicitados com muita freqüência).

Algumas vezes existem na forma instalável.

Essa última forma, permite que os programadores escrevam seus próprios drivers.

Tipicamente, o Sistema Operacional mantém uma tabela na qual cada entradacorresponde a um driver. Por exemplo:

nome ponteiro atributos

teclado .... ....

winchester ... ...

impressora ... ...

A questão é: “como os drivers se encaixam no esquema geral de processamento de

E/S?”

Níveis de Processamento de E/S

Em geral o processamento de E/S tem vários níveis de abstrações.

A saber:

• a nível de solicitação feita pelo programa de usuário: comandos de E/S

disponibilizados aos usuários por meio de bibliotecas da linguagem de

programação, por exemplo. ( Read(a, b); WriteLn; ).

Page 8: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 8/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 8/20________________________________________________________________________________________________________

• a nível de Sistema Operacional / Linguagem de Programação: os comandos de E/S

(rotinas de E/S) determinam qual dispositivo físico deve ser acionado para efetuar a

transferência de dados (do meio externo para o computador ou vice versa), se este

dispositivo é apropriado, programar o dispositivo para efetuar a transferência de

dados, etc. Por exemplo: Write(saída, a, b); (* onde saída é impressora *)

• a nível de programação do dispositivo: rotinas que implementam aquelas

operações solicitadas no nível superior, ou seja: operações de programar o

dispositivo, ativar o dispositivo, etc. Por exemplo: rotinas para programação da

impressora.

• a nível físico de transferência de dados: operações de transferência de dados

propriamente dito. Por exemplo: a impressora imprimindo os dados.

Ilustrando:

Page 9: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 9/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 9/20________________________________________________________________________________________________________

Por que estruturar assim?.

(desenvolvimento de projeto top down ou bottom up).

Pela principal facilidade percebida na estruturação hierárquica: a portabilidade ;

Normalmente, as rotinas a nível de programação de dispositivo, são denominadas de

“drivers” (controladores).

Os drivers executam funções que são dependentes do sistema por meio das quais

podem-se controlar as ações do dispositivo.

Exemplo:

Ultimamente, muitas funções de drivers estão sendo transferidas para o hardware do

controlador.

Funções de um Driver

As responsabilidades de um driver são, de um modo geral:

•  se preparar para E/S : o que envolve verificar o estado do dispositivo, alocá-lo e

iniciar a transferência de dados;

Page 10: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 10/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 10/20________________________________________________________________________________________________________

•  finalizar a operação de E/S : o que envolve verificar o resultado da operação

(terminada ou abortada) e responder adequadamente.

Algumas das funções de um driver são:

• Verificação do estado do dispositivo: verificar se o dispositivo está ou não

operacional;

• Emissão de comandos específicos para o dispositivo: programar o dispositivo para

leitura ou escrita de dados;

• Verificação de erro de transmissão (e, algumas vezes, correção): ruídos elétricos

ou conexões defeituosos podem causar erros de transmissão. Assim, é importante

que existe mecanismo que os detecte e os acuse, ou detecte-os e corrija-os.

Outros erros são: fim da f ita magnética; tentativa de gravação em disco protegido;

etc.• Verificação de ociosidade: verificar se o dispositivo está ou não ocupado;

• Bufferização de dados: normalmente são usados buffers para a retenção dos

dados lidos do meio externo ou para serem emitidos para o meio externo, por

questão de facilitar o controle do fluxo dos mesmos;

• Escalonamento de E/S do dispositivo: em alguns casos, o driver pode escalonar as

solicitações de E/S de maneira a otimizar o uso do dispositivo; por exemplo, para

otimizar o movimento da cabeça do disco.

• Cálculo do endereço de disco;

• Determinação de blocos defeituosos;

E/S Programada

E/S física programada, os dados são transferidos à base de 1 caractere por vez.

Abordagem muito comum para drivers de terminais, teclado e muitas impressoras;

normalmente para dispositivos lentos.

Page 11: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 11/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 11/20________________________________________________________________________________________________________

Os passos básicos para o driver de leitura são:

• instruir o controlador para ler um dado;

• esperar que este dado chegue no buffer do controlador;

• sinalizar o término da operação;

Os passos básicos para o driver de escrita são:

• colocar o dado a ser impresso no buffer do controlador;

• instruir o controlador para imprimi-lo;

• esperar o término da operação;

• sinalizar este fato;

E/S Mapeada na Memória

Dentro do espaço de endereçamento do computador são alocados os registradores de

cada controlador de dispositivo.

Page 12: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 12/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 12/20________________________________________________________________________________________________________

Exemplo de um driver para impressão de 1 caractere, escrito em pseudo Assembler:

...

MOV 3AF2H, Caractere

MOV 3AF0H, Com_Escrita

Ciclo MOV AX, 3AF1H

AND AX, 0001H

CMP AX, 0

JZ Ciclo

...

Vantagens: não precisa de instruções especiais de E/S, porque o endereço de cada

registrador corresponde ao endereço de uma célula (palavra) de memória.

Desvantagens: maior dificuldade para proteção, como também o custo seria muito

alto, porque as células correspondentes aos registradores de controladores de

dispositivos, deverão ser protegidos contra acessos não privilegiados (veja

Gerenciamento de Memória).

  /* Ler re istrador de estado ara AX  /* Selecionar o bit que indica o

 /* término da opera ão

 /* Se este bit está igual a zero, então

 /* não acabou a operação. Caso

 /* contrário, sim. 

 /* Colocar no Buffer do registrador o

 /* caractere a ser impresso e /* comandar a sua im ressão 

Page 13: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 13/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 13/20________________________________________________________________________________________________________

E/S Acionada por Interrupção

O objetivo de E/S acionada por interrupção é evitar a espera ocupada (“busy wait”).

Assim fazendo, a UCP em vez de f icar executando aquele trecho de programa que

fica verificando se a operação solicitada ao dispositivo terminou, pode-se atribuir a ele

tarefas produtivas.

Para tanto, a idéia é a seguinte:

O driver inicia a operação da mesma maneira que o exemplo acima (as duas primeiras

instruções).

Porém, agora, em vez de ficar verificando o término da operação, ele libera a UCP,

para que esta possa executar outras tarefas.

“Quando a operação de E/S terminar, o controlador manda um sinal para a UCP para 

que esta suspenda o que ela estava fazendo, e vá executar a rotina associada a este 

sinal de interrupção. No caso, é a continuação daquele driver” (veja 

Multiprogramação). 

ACESSO DIRETO À MEMÓRIA

É permitir que dados externos passem do dispositivo para a memória e vice versa,

sem a necessidade de que a “UCP fique gerenciando isso”.

Isso significa que o driver fica mais simples, pelo menos a primeira vista, pois já não

precisava ficar verificando o término da operação (interrupção) e, agora, não precisacuidar de ficar colocando os dados no buffer da controladora (no caso de saída) e não

precisa ficar cuidando da transferência dos dados do buffer para a memória (no caso

de entrada).

É claro que deve existir algum hardware que execute aquelas tarefas. Um hardware

que pode ser programado para entrada ou saída para ir pegando os dados do

Page 14: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 14/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 14/20________________________________________________________________________________________________________

dispositivo associado e ir colocando-os para a memória, no caso de leitura, e no caso

de saída, ir pegando os dados da memória e ir solicitando ao dispositivo a sua

impressão, ou gravação, ou etc.

Esse hardware é chamado de DMA (Direct Acess Memory).

As funções de um driver para um DMA são as seguintes, de um modo geral:

• a operação a ser executada (entrada ou saída);

• o endereço de memória que ele deve iniciar o acesso;

• o número de caracteres a transferir

• o dispositivo envolvido

Logo que o DMA recebe essas informações, ele inicia a sua operação de

transferência de dados da memória para o dispositivo (saída) ou vice-versa (entrada).

Page 15: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 15/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 15/20________________________________________________________________________________________________________

Para a transferência de cada dado (1 caractere, por exemplo), ele solicita permissão

de acesso à memória à UCP (isso é chamado de ROUBO de CICLO), para evitar

conflito, pois este está constantemente acessando a memória durante a execução de

um programa.

Ao final da transferência de todos os dados, o DMA sinaliza o Sistema de Interrupção

para que este avise a UCP sobre o término da operação.

Conclusão: com DMA, a UCP ficará cedendo 1 ciclo seu a cada dado a ser transferido

(cujo tempo é muitíssimo menor do que o tempo necessário para tratar o preâmbulo e

o final de uma rotina de tratamento de interrupção) e tratar apenas uma interrupção.

Dessa forma o paralelismo entre E/S e a UCP é grande e, consequentemente, obtém-se um desempenho maior do sistema como um todo.

Processadores de E/S

Page 16: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 16/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 16/20________________________________________________________________________________________________________

O objetivo é permitir que as operações de E/S sejam feitas de forma independente da

UCP; ou seja as operações de E/S possam ser executadas em paralelo com as

funções da UCP (uma espécie de multiprocessamento”).

Para tanto, o controlador deve estar sob o controle de um processador com

características semelhantes a de uma UCP, no sentido de que ele é capaz de

entender e executar de forma automática, um determinado conjunto de instruções

(repertório de instruções).

Como a função deste tipo de processador é executar operações de E/S, as instruções

de seu repertório são mais comumente chamados de comandos de E/S (I/O

Commands - IOCs).

Como a função desse processador é servir de canal por onde os dados podem fluir

sem “necessidade de interferência da UCP”, ele é também denominado de CANAL.

Assim, os IOCs, são também denominados de palavras de comando do canal

(channel commands words).

Por meio do IOCs o processador é programado para executar toda a tarefa de

transferência de dados; acionar o dispositivo, verificar o estado deste, etc.

Especificamente, um processador de E/S pode emitir comandos que ativam um

controlador de dispositivo e detectam seu estado.

O programa que o processador de E/S executa para controlar um dispositivo é

chamado de IOP - Input/Output Program, ou um programa de canal.

Os IOPs podem residir na memória principal ou em uma memória separada associada

ao processador de E/S.

Page 17: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 17/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 17/20________________________________________________________________________________________________________

Usando-se processadores de E/S, agora, em vez da controladora avisar a UCP do

término da tarefa solicitada (via Sistema de Interrupção, por exemplo), ela avisa o

processador que a está gerenciando.

Assim, agora, quem fica ocioso entre a solicitação de uma E/S e o término do

atendimento, é o processador de E/S. Para economizar isso, um processador de E/S

poderia cuidar de vários dispositivos de E/S.

Comandos do Processador de E/S

Posicionar: posicionar a cabeça da leitora/escrita do disco na trilha especificada.

Escrever: transferir dados da memória para o controlador, que por sua vez os

transfere para o dispositivo apropriado.

Ler: transferir dados do dispositivo para o processador de E/S.

Pular para a Próxima Linha ou Avançar para a

Próxima Página: emitir comandos de pula para a próxima linha ou avançar uma

página, para a controladora.

Posicionar no Início: rebobinar uma fita magnética.

Verificar Estado: comando para detectar o estado de um controlador ou dispositivo,

para verificar se eles estão prontos para receberem comandos.

Comando de E/S da UCP

Iniciar E/S: fazer com que o processador de E/S inicie a execução de um programa de

E/S.

Halt: fazer com que o processador de E/S suspenda a execução do programa de E/S.

Page 18: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 18/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 18/20________________________________________________________________________________________________________

Processando uma Solicitação de E/S

1. Programa de usuário em execução, executa a chamada de uma rotina de E/S

(suponhamos de Entrada);

2. A rotina chamada é colocada em execução (essa rotina é do tipo independente de

dispositivo);

3. A rotina seleciona o driver que deve dirigir o dispositivo desejado pelo usuário e

solicita a sua execução;

4. Esse driver define o programa de E/S que o processador de E/S deve executar e

emite o Start I/O (SIO);

Page 19: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 19/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 19/20________________________________________________________________________________________________________

5. O processador de E/S executa o programa de E/S que está na memória;

6. Este programa instrui o processador para emitir os devidos comandos para a

controladora comandar o dispositivo que de fato acessará os dados.

7. O dispositivo lê os dados e passa-os para a controladora em reposta ao comando

de leitura desta;

8. Os dados são armazenados no buffer do processador de E/S;

9. Processador de E/S executa comandos que transferem dados deste buffer para o

do Sistema Operacional;

10. As rotinas do Sistema Operacional movem os dados de seu buffer para a memória

do usuário e notifica o respectivo programa do usuário de que a E/S foi

completada.

Page 20: 01. Gerenciamento de Perifericos

5/8/2018 01. Gerenciamento de Perifericos - slidepdf.com

http://slidepdf.com/reader/full/01-gerenciamento-de-perifericos 20/20

 

SISTEMAS OPERACIONAIS - PROCESSAMENTO DE ENTRADA/SAÍDA - 20/20________________________________________________________________________________________________________