• Nenhum resultado encontrado

Gerência de Entrada/Saída. Prof. Dr. André Carvalho

N/A
N/A
Protected

Academic year: 2021

Share "Gerência de Entrada/Saída. Prof. Dr. André Carvalho"

Copied!
58
0
0

Texto

(1)

Gerência de Entrada/Saída

(2)

Agenda

n 

Dispositivos de E/S

¡  Componentes, Barramento, Interface de

Acesso, Endereçamento, Interrupções

n 

Estratégias de Iteração

¡  Controlada por software, por evento e

acesso direto a memória

n 

Software de E/S

n 

Disco Rígido

(3)

Dispositivos de Entrada e

Saída

(4)

Exemplos

n  E x i s t e m m u i t a s p o s s i b i l i d a d e s d e

(5)

Barramento

n 

L i g a d i s p o s i t i v o s d e E / S a o

computador.

n 

Antes feito por fios, hoje está a cargo

de dois controladores (hardware) que

fazem parte do chipset da placa-mãe:

a north bridge e a south bridge.

(6)

Barramento

n  A north bridge - acesso à RAM e aos

dispositivos de alta velocidade, via de barramentos dedicados

¡  AGP (Accelerated Graphics Port) e PCI-Express (Peripheral Component Interconnect).

n  A south bridge – responde por barramentos

e portas de baixa ou média velocidade como portas seriais e paralelas, e por barramentos dedicados como o PCI padrão, o USB e o SATA.

(7)

Barramento

n  A south bridge costuma integrar rede

on-board, controladores de áudio, de interrupções, DMA (Direct Memory Access), relógio de tempo real (para o quantum), controle de energia e o acesso à memória BIOS.

n  O processador se comunica com a south

bridge indiretamente, através da north bridge.

(8)
(9)

Interface de Acesso

n  Define como acessar um dispositivo,

configurá-lo e enviar dados para ele (ou receber dados dele).

n  Cada dispositivo possui portas de entrada/ saída (conjunto de registradores),

acessíveis via barramento, usadas para a comunicação entre o dispositivo e o processador.

(10)

Interface de Acesso

n 

As portas de acesso podem ser:

¡  Portas de entrada e de saída

¡  Portas de status - consultar o estado

interno do dispositivo ou verificar se uma operação solicitada ocorreu sem erro

¡  Portas de controle - enviar comandos

ao dispositivo ou modificar parâmetros de sua configuração

(11)
(12)

Endereçamento

n  A forma de acesso a interface de um

dispositivo varia de acordo com a arquitetura do computador.

n  Alguns sistemas utilizam entrada/saída mapeada em portas (port-mapped I/O),

onde as portas que compõem a interface são acessadas pelo processador através de instruções específicas para operações de entrada /saída.

(13)

Endereçamento

n 

Exemplo: família Intel

¡  Instrução “IN reg port” para ler o valor

presente na porta “port” do dispositivo e depositá-lo no registrador “reg” do processador

¡  Instrução “OUT port reg” é usada para

escrever na porta “port” o valor contido no registrador “reg”

(14)

Endereçamento

n 

Na entrada/saída mapeada em portas,

é definido um espaço de endereços

de entrada /saída (I/O address space)

separado da memória principal e

normalmente compreendido entre 0 e

64K.

(15)
(16)

Endereçamento

n  Outra forma de acesso usado em interfaces

gráficas e de rede, é a entrada/saída

mapeada em memória (memory-mapped I/

O).

n  Portas são vistas como se fossem parte da

memória principal e podem ser lidas e escritas através das mesmas instruções usadas para acessar o restante da memória.

(17)

Endereçamento

n 

A abordagem mais sofisticada é o uso

de um hardware independente, com

processador dedicado, que comunica

com o processador principal através

de algum tipo de barramento.

¡  Interfaces para vídeo ou áudio de alto

desempenho (placas gráficas com aceleração)

(18)

Interrupções

n 

Quando o controlador precisa informar

algo ao processador, uma requisição

de interrupção é enviada pelo

barramento de controle.

n 

Cada interrupção está associada a um

número inteiro (0–31 ou 0–63), que

identifica o dispositivo que a solicitou.

(19)
(20)
(21)
(22)
(23)

Estratégias de Interação

n 

O SO precisa e deve interagir com

cada dispositivo de E/S.

n 

P a r a t a n t o , s ã o u s a d a s t r ê s

estratégias:

¡  E/S controlada por programa,

¡  E/S controlada por eventos

(24)

Interação controlada por

programa

(25)

Interação controlada por

eventos

(26)

Tratamento de interrupção em

níveis

n  Tratador primário (FLIH – First Level Interrupt

Handler). Interrupção rápida e imediata, pois bloqueia todas as outras.

n  Tratador secundário (SLIH) – Trata a fila de

interrupções pendentes pelo bloqueio, conforme disponibilidade.

¡  Tratado como processo comum com alta prioridade

(escalonado)

n  Vantagens:

¡  Tratamento mais rápido de interrupções

¡  minimiza a perda de interrupções concomitantes ¡  Remove interrupções redundantes (mouse p/ ex.)

(27)

Acesso direto à memória

n 

A maioria dos computadores atuais

oferece mecanismos de acesso

direto à memória (DMA - Direct

Memory Access), que permitem

transferências diretas entre a memória

principal e os controladores de

entrada/saída.

(28)
(29)

Acesso direto à memória

n 

A ativação do mecanismo de DMA

p o d e s e r s í n c r o n a , f e i t a

explicitamente pelo processador, ou

assíncrona, quando ativada por um

dispositivo de E/S que dispõe de

dados a serem transferidos para a

memória.

(30)

Acesso direto à memória

n 

O mecanismo de DMA é utilizado para

transferir grandes blocos de dados

diretamente entre a memória RAM e

as portas dos dispositivos de E/S,

liberando o processador para outras

atividades.

(31)
(32)

Classes de Dispositivos

n 

Os dispositivos de E/S são agrupados

em:

¡  dispositivos orientados a blocos -

operações de I/O de dados são feitas usando blocos de bytes.

¡  dispositivos orientados a caracteres -

transferências de dados são sempre feitas byte por byte ou em blocos de bytes de tamanho variável.

(33)

Classes de Dispositivos

¡  As interfaces de rede são vistas como

dispositivos orientados a blocos (pacotes), que são endereçáveis (endereços de destinos dos pacotes), mas a saída é feita de forma sequencial, bloco após bloco.

(34)
(35)

Disco Rígido

n 

Discos rígidos são usados para

armazenar o SO, aplicações e dados

dos usuários.

n 

Um disco rígido é composto por um ou

mais discos metálicos que giram

juntos em alta velocidade (entre 4.200

e 15.000 RPM), acionados por um

motor elétrico.

(36)
(37)

Disco Rígido

n 

Lentos por serem dispositivos

eletromecânicos.

n 

Para cada bloco a ser lido/escrito, a

cabeça de leitura deve se posicionar

na trilha desejada e aguardar o disco

girar até encontrar o setor desejado.

(38)

Sistemas RAID

n 

Os discos constituem um dos maiores

gargalos de desempenhos.

n 

Além disso, apresentam o problema

de confiabilidade, onde falhas podem

levando à perda de dados.

n 

A solução mais eficientes para esses

problemas é o RAID (Redundant Array

of Inexpensive Disks)

(39)

Sistemas RAID

n 

Um sistema RAID é constituído de

dois ou mais discos rígidos que são

vistos pelo SO e pelas aplicações

como um único disco lógico.

n 

O objetivo é proporcionar mais

desempenho, com o paralelismo no

acesso aos vários discos, e mais

confiabilidade, usando redundância.

(40)

Sistemas RAID

n 

Um sistema RAID pode ser construído

“por hardware” (placa controladora) ou

“por software” (drivers).

n 

É importante observar que os

sistemas RAID se preocupam apenas

com o armazenamento e recuperação

de blocos de dados.

(41)

Sistemas RAID

n 

Há várias formas de se organizar um

conjunto de discos rígidos em RAID.

n 

Os níveis RAID padronizados pela

S t o r a g e N e t w o r k i n g I n d u s t r y

Association são:

(42)

Sistemas RAID

n 

RAID 0

¡  Os discos físicos são divididos em áreas

de tamanhos fixo chamadas fatias ou faixas (stripes).

¡  Cada fatia de disco físico armazena um

ou mais blocos do disco lógico.

¡  As fatias são preenchidas com os blocos

(43)

Sistemas RAID

(44)

Sistemas RAID

n 

RAID 0 linear

(45)

Sistemas RAID

n 

RAID 0 oferece um grande ganho de

desempenho em operações de leitura

e escrita:

¡  usando N discos físicos, até N operações

podem ser efetuadas em paralelo.

n 

Entretanto, não existe redundância de

dados.

¡  caso um disco falhe, todos os blocos

(46)

Sistemas RAID

n 

RAID 1

¡  Cada disco físico possui um “espelho”,

ou seja, outro disco com a cópia de seu conteúdo, sendo por isso comumente chamado de espelhamento de discos.

¡  Caso hajam mais de dois discos, devem

ser incorporadas técnicas de RAID 0 para organizar a distribuição dos dados (configurações RAID 0+1, RAID 1+0 ou RAID 1E).

(47)

Sistemas RAID

(48)

Sistemas RAID

n 

RAID 1 oferece confiabilidade, já que

cada bloco lógico está escrito em dois

discos distintos.

n 

O desempenho em leituras também é

beneficiado, pois pode-se distribuir as

leituras entre as cópias.

n 

Contudo, não há ganho na escrita,

devido a necessidade de replica, e o

custo de implantação é elevado.

(49)

Sistemas RAID

n 

RAID 2

¡  Fatia os dados em bits individuais que

são escritos nos discos físicos em sequência;

¡  discos adicionais são usados para

armazenar códigos corretores de erros (Hamming Codes), em um arranjo similar ao usado nas memórias RAM.

(50)

Sistemas RAID

n 

RAID 3

¡  Fatia os dados em bytes, que são

escritos nos discos em sequência.

¡  Um disco separado contém dados de

paridade, usados para recuperar erros.

¡  A cada leitura ou escrita, os dados do

disco de paridade devem ser atualizados, o que requer serialização dos acessos e queda de desempenho.

(51)

Sistemas RAID

(52)

Sistemas RAID

n 

RAID 4

¡  Similar ao RAID 3, com a diferença de

que o fatiamento é feito por blocos ao invés de bytes.

¡  Sofre dos mesmos problemas de

desempenho que o RAID 3, sendo por isso pouco usada.

(53)

Sistemas RAID

(54)

Sistemas RAID

n 

RAID 5

¡  Assim como a anterior, esta abordagem

também armazena informações de

paridade para tolerar falhas em discos.

¡  Todavia, essas informações não ficam

concentradas em um único disco físico, mas são distribuídas uniformemente

(55)

Sistemas RAID

(56)

Sistemas RAID

n 

RAID 5 elimina o gargalo de

desempenho no acesso aos dados de

paridade.

n 

É a abordagem de RAID mais popular,

por oferecer um bom desempenho e

redundância de dados com um custo

menor que o espelhamento (RAID 1).

(57)

Sistemas RAID

n 

RAID 6

¡  É uma extensão do nível RAID 5 que

utiliza blocos com códigos corretores de erros de Reed-Solomon, além dos blocos de paridade.

¡  Esta redundância adicional permite

tolerar falhas simultâneas de até dois discos.

(58)

Sistemas RAID

n 

Além dos níveis padronizados, no

mercado podem ser encontrados

produtos oferecendo outros níveis

RAID, como 1+0, 0+1, 50, 100, etc.,

que muitas vezes implementam

combinações dos níveis básicos ou

soluções proprietárias.

Referências

Documentos relacionados

ü Densidade constante de bits: existem mais setores nas trilhas de fora. • Velocidade linear varia com localidade da trilha (mais rápida para

Para tratar a diversidade, a complexidade, e as diferentes formas de operações de cada periférico, as interfaces empregam no seu projeto um outro componente, o

Portabilidade e capacidade de armazenamento extra superior àquela oferecida pelos discos flexíveis Discos Rígidos Removíveis Discos Rígidos Removíveis. Mídia de E/S e Armazenamento

Arquitetura de sistemas operacionais: Programas de sistema, programas aplicativos, núcleo, gerência do processador, gerência de memória, gerência de entrada e saída,

Os dados serão adicionados no fim do arquivo (“append“) se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. • “rb“: Abre

Esta publicação pretende ser um ponto de partida para suas próprias ideias e dispositivos, como uma ferramenta que atua em diferentes contextos e lugares inserindo,

O diagrama lógico pode consistir em um único bloco funcional que simbolize a relação entre as variáveis de entrada e a variável de saída (valor da função), ou, quando a

 Se a comemoração do aniversário for realizada fora do ambiente escolar e os pais desejarem convidar todos os colegas de sala, sem exceção, poderão enviar o convite preenchido e