SOFTWARE AO NÍVEL DO USUÁRIO

BIBLIOTECAS DE E/S

FORMATAÇÃO, INSERÇÃO DE CARACTERES DE CONTROLE

SPOOLING

	PRINTER

	TRANSFERÊNCIA DE ARQUIVOS EM UMA REDE

CHAMADAS AO SISTEMA RELACIONADAS À E/S

SOFTWARE INDEPENDENTE DE DISPOSITIVOS

ESTREITAMENTE RELACIONADA AO SISTEMA DE ARQUIVOS

FUNÇÕES

•	INTERFACE UNIFORME PARA OS DRIVERS
		
•	IDENTIFICAÇÃO DOS DISPOSITIVOS
	
•	PROTEÇÃO DOS DISPOSITIVOS
		
•	ALOCAÇÃO DE ARMAZENAMENTO PARA DISPOSITIVOS DE BLOCO

•	TRATAMENTO DE BLOCOS DE TAMANHOS DIFERENTES, INDEPENDENTE DO DISPOSITIVO
	
•	USO DE BUFFERS
		
•	ALOCAÇÃO E LIBERAÇÃO DE DISPOSITIVOS DEDICADOS 

•	INFORMAÇÃO DE ERROS

EXECUÇÃO DAS FUNÇÕES DE E/S COMUNS PARA TODOS OS DISPOSITIVOS

PROVISÃO DE UMA INTERFACE UNIFORME À CAMADA DO USUÁRIO

IDENTIFICAÇÃO DE DISPOSITIVOS

 	TODOS OS DISPOSITIVOS SÃO ARQUIVOS

 	/DEV/TTY0 É UMA PORTA SERIAL DE COMUNICAÇÃO. ESTA CAMADA É RESPONSÁVEL POR MAPEAR ESSE	NOME AO NÚMERO DO DISPOSITIVO

PROTEÇÃO

 	ACESSO NÃO PERMITIDO A ALGUNS DISPOSITIVOS 
 	
 	PROTEÇÃO POR TIPO DE ACESSO A NÍVEL DE ARQUIVO

BLOCAGEM E DESBLOCAGEM

 	DISCOS TEM DIFERENTES TAMANHOS DE SETORES
 	
 	REGISTRO LÓGICO x REGISTRO FÍSICO x BLOCO
 	
 	OPERAÇÃO SOBRE BLOCOS, NA REALIDADE, QUE SÃO LOGICAMENTE MANIPULADOS (PELO PROCESSO) DE MANEIRA LIVRE, EM TAMANHOS ARBITRÁRIOS

USO DE BUFFERS 
 	
 	PARA QUALQUER TIPO DE DISPOSITIVO
 	
 	BUFFERS ANTES DA GRAVAÇÃO E DEPOIS DA LEITURA.

ALOCAÇÃO DE ESPAÇO NO DISPOSITIVO

 	TABELA DE BLOCOS LIVRES E EM USO

PRINCÍPIOS PARA INDEPENDÊNCIA DE DISPOSITIVOS

A INDEPENDÊNCIA DE DISPOSITIVOS É UM CONCEITO CHAVE PARA OS OBJETIVOS DE UM S.O.

 	É ATRIBUIÇÃO DO S.O. CUIDAR DOS PROBLEMAS CAUSADOS PELO FATO DA EXISTÊNCIA DE DIFERENÇAS ENTRE DISPOSITIVOS, MESMO ENTRE DISPOSITIVOS DE MESMO TIPO

- IDENTIFICAÇÃO UNIFORME

 	A IDENTIFICAÇÃO DE UM ARQUIVO OU DISPOSITIVO DEVE SER UMA SIMPLES STRING OU NÚMERO E NÃO DEPENDER DO DISPOSITIVO EM NENHUM ASPECTO

- MANIPULAÇÃO DE ERROS

 	OS ERROS DEVEM SER MANIPULADOS TÃO PRÓXIMO DO HARDWARE QUANTO POSSÍVEL

- TRANSFERÊNCIA ASSÍNCRONA
	
 	A CPU INICIA A TRANSFERÊNCIA E PASSA A FAZER OUTRAS COISAS ATÉ A OCORRÊNCIA DE UMA INTERRUPÇÃO

- COMPARTILHAMENTO VERSUS DEDICAÇÃO

 	DISPOSITIVOS DEDICADOS INTRODUZEM UMA SÉRIE DE PROBLEMAS, INCLUINDO DEADLOCK.

HARDWARE ENVOLVIDO COM E/S

OS DISPOSITIVOS DE E/S SÃO SISTEMAS, BASICAMENTE HARDWARE, QUE PODE SER VISTO ATRAVÉS DE DUAS PERSPECTIVAS:

•	EM TERMOS DE CHIPS, FIOS, FONTES, ETC.

•	EM TERMOS DE COMANDOS  RECONHECIDOS, FUNÇÕES DISPONÍVEIS E ERROS REPORTADOS

A SEGUNDA PERSPECTIVA (A DE PROGRAMAÇÃO DE DISPOSITIVOS) É A CONSIDERADA PARA ESTUDO.

CATEGORIAS DE DISPOSITIVOS DE E/S

•	DE BLOCOS

•	DE CARACTERES

•	OUTROS

•	PERMITE QUE NO S.O. SEJA IMPLEMENTADA A INDEPENDÊNCIA DE DISPOSITIVOS (JÁ VISTA)

DISPOSITIVO DE BLOCOS

•	ARMAZENA A INFORMAÇÃO EM BLOCOS DE TAMANHO FIXO, CADA QUAL COM SEU ENDEREÇO 
•	BLOCOS DE 128 A 4096 BYTES (POTÊNCIAS DE 2)
•	É POSSÍVEL LER OU GRAVAR QUALQUER BLOCO, INDEPENDENTEMENTE DE OUTROS 
•	TIPOS:
DISCOS, 
"FITAS" (HÁ CONTROVÉRSIAS)

DISPOSITIVO DE CARACTERES
•	ACEITA OU DEVOLVE UMA SEQÜÊNCIA DE CARACTERES
•	NÃO OBEDECE ESTRUTURA DE BLOCO ALGUMA
•	NÃO É ENDEREÇÁVEL (NÃO PERMITE POSICIONAMENTO SOBRE O DADO - SEEK)
•	TIPOS:
TERMINAIS, 
IMPRESSORAS, 
MOUSE, ...

OUTROS DISPOSITIVOS

•	CLASSIFICAÇÃO BINÁRIA É IMPERFEITA

•	RELÓGIOS E TELAS MAPEADAS EM MEMÓRIA NÃO SÃO DISPOSITIVOS NEM DE BLOCOS NEM DE CARACTERES

RELÓGIOS (CLOCKS)

SOMENTE CAUSAM INTERRUPÇÕES A INTERVALOS BEM DEFINIDOS, NÃO GERAM OU CONSOMEM DADOS CONVENCIONAIS

TELAS MAPEADAS EM MEMÓRIA	

NÃO HÁ TRANSFERÊNCIA DE DADOS PARA FORA DO COMPUTADOR, OS BYTES COLOCADOS NA VÍDEO RAM (PARTE DA MEMÓRIA PRINCIPAL) APARECEM NA TELA (A TRANSFERÊNCIA É MEMÓRIA A MEMÓRIA)

COMPONENTES DO HARDWARE DE E/S
•	MECÂNICA
•	ELÉTRICA
•	ELETRÔNICA

PARTE ELETRÔNICA É CHAMADA DE DISPOSITIVO CONTROLADOR, CONTROLADORA (PLACA) OU ADAPTADOR OU INTERFACE DO DISPOSITIVO

PARTE MECÂNICA É O DISPOSITIVO PROPRIAMENTE DITO

NORMALMENTE A PARTE MECÂNICA É CONECTADA, ATRAVÉS DE UM CABO, À CONTROLADORA

A CONTROLADORA SE CONECTA À CPU ATRAVÉS DE UM BARRAMENTO (BUS) COMPARTILHADO OU DE UM CANAL DEDICADO DE  E/S

UMA CONTROLADORA PODE GERENCIAR UM, DOIS, QUATRO OU ATÉ OITO DISPOSITIVOS

A INTERFACE ENTRE O CONTROLADOR E O DISPOSITIVO PODE SEGUIR UM PADRÃO (ANSI, IEEE, ISO) OU ESPECÍFICA (IBM PARA DISCOS), COISA SEMELHANTE OCORRE ENTRE CONTROLADORA E CPU

O S.O. ENXERGA A CONTROLADORA NÃO O DISPOSITIVO

INTERFACES DE E/S	

A INTERFACE ENTRE CPU E PERIFÉRICO PODE SER REALIZADA VIA:

•	HARDWARE - PERMITE MAIOR VELOCIDADE COM CUSTO ALTO E INFLEXIBILIDADE PARA MODIFICAÇÃO

•	SOFTWARE - PERMITE FLEXIBILIDADE DE MODIFICAÇÃO COM VELOCIDADE COMPARATIVAMENTE BAIXA

•	IMPLICA NA NECESSIDADE DE PODER DE PROCESSAMENTO DO LADO DO PERIFÉRICO

ATRAVÉS DE:

•	UM CANAL DEDICADO

•	UM BUS COMPARTILHADO

A OPERAÇÃO DE E/S PODE SER:

•	REALIZADA DISTRIBUIDAMENTE ENTRE CONTROLADORA E CPU EM UM ESQUEMA MESTRE-ESCRAVO

•	INICIALIZADA PELA CPU E REALIZADA PELA CONTROLADORA

GERALMENTE UTILIZAM-SE BUFFERS TANTO DO LADO DO COMPUTADOR COMO DO LADO DA CONTROLADORA

•	PERMITE ADAPTAR AS POSSÍVEIS DIFERENTES VELOCIDADES DOS COMPONENTES ENVOLVIDOS NA E/S

       
      CPU        		
 MEMÓRIA		 
CONTROL.
    DISCO		
 CONTROL.
   IMPRESS.	

							BUS

		
MEMÓRIA	

CPU		
CONTROLADOR
DISCO	

CANAL
DE E/S		
		
CONTROLADOR
FITAS	

INTERFACES DE E/S	

A TRANSFERÊNCIA DOS DADOS ENTRE MEMÓRIA E CONTROLADORA PODE SER FEITA:

•	PELA PRÓPRIA CPU

PIO - PROGRAMMED INPUT OUTPUT (TROCA DE DADOS ENTRE MEMÓRIA E PERIFÉRICO ATRAVÉS DE COMANDOS DE E/S)

O SISTEMA OPERACIONAL REALIZA COMANDOS DE ENTRADA OU SAÍDA DE 1, 2 OU 4 BYTES

•	DIRETAMENTE ENTRE CONTROLADORA E MEMÓRIA ATRAVÉS DE UM CONTROLADOR ESPECIALIZADO

DMA - DYNAMIC MEMORY ACCESS (TRANSFERÊNCIA DE DADOS DIRETAMENTE ENTRE MEMÓRIA E PERIFÉRICO, SEM INTERFERÊNCIA DA CPU)

DMAC - DYNAMIC MEMORY ACCESS CONTROLLER (É ACESSADO PELA CPU COMO UM DISPOSITIVO DE E/S, PODENDO TER PRIORIDADE SOBRE O BARRAMENTO)

CADA DISPOSITIVO COM ACESSO AO BARRAMENTO TEM ASSOCIADO UM DBC - DEVICE CONTROL BLOCK, QUE DESCREVE AS CARACTERÍSTICAS DO DISPOSITIVO

INTERFACES DE E/S	

A TRANSFERÊNCIA DE DADOS PODE UTILIZAR BARRAMENTO:

•	SERIAL, OS DADOS TÊM QUE SER DESMEMBRADOS ANTES DA TRANSFERÊNCIA E, TALVEZ, RECOMPOSTOS NO SEU DESTINO

•	PARALELO, TODOS OS BITS DE UM BYTE SÃO TRANSFERIDOS AO MESMO TEMPO, UM BYTE DE CADA VEZ

Exercícios

1.	O que é independência de dispositivos?
2.	Indique em qual dos 4 níveis de software é executada cada uma das seguintes funções:
•	cálculo da trilha, setor e cabeça para uma leitura em disco;
•	manutenção de uma cache memory dos blocos mais recentemente usados;
•	colocação de comandos nos registradores de um dispositivo;
•	verificação de permissão de uso do dispositivo pelo usuário;
•	conversão de inteiros em binário para código ASCII a ser impresso.
3.	Por que se utiliza a estratégia de spool?
4.	Explicar passo a passo como é processada uma requisição de 5 bytes a um arquivo em disco. Considere desde o momento que a chamada ao sistema é processada até o momento em que os cinco bytes são colocados na área de dados do processo.
5.	Quais as vantagens e desvantagens de se realizar writes físicos de maneira retardada?
6.	Caracterize o que vem a ser um periférico? Não se esqueça de apresentar as diferenças entre periféricos.
7.	Para que se prestam os padrões de ligação entre controladora e dispositivo?
8.	Caracterize dispositivos de blocos e de caracteres.
9.	As seguintes informações são enviadas ao controlador de dispositivos de blocos:
•	operação requerida
•	número do dispositivo a ser usado
•	CHS
•	processo que solicitou o I/O
•	endereço na memória
•	bytes a transferir
10.	quais dessas informações podem ser omitidas para controladores de dispositivos de caracteres?
11.	Falso ou verdadeiro. Caso seja falso, acerte para que fique verdadeiro:
•	Após qualquer tipo de E/S, a CPU sofre uma interrupção.
•	O S.O. não "enxerga" a controladora de periférico.
•	Uma placa controladora só pode gerir um único periférico.