Title: Slide sem t
1(No Transcript)
2ORGANIZAÇÃO DA UNIDADE
- Gerenciamento de E/S
- Fundamentos
- Evolução
- Estrutura Organizacional
- Tratamento de Pedidos de E/S
- Gerenciamento de memória secundária
- Sistema de Arquivos
3Componentes
- Periférico dispositivo conectado a um computador
de forma a permitir a comunicação com o mundo
externo - Interface componente que conecta o periférico
aos barramentos do coputador - Controlador implementa as operações (lê,
escreve...) - Barramento conjunto de fios que transportam os
sinais - Porta de E/S endereço no sistema de E/S
4Evolução
- Processador controla dispositivo
- Adição de módulo de I/O (programado)
- Interrupções
- DMA
- Processador separado com instruções próprias
- Memória local
5Categorias
- Quanto a comunicação
- Comunicação com o usuário
- Comunicação com equipamento
- Comunicação com dispositivos remotos
- Quanto a transferência de dados
- Orientado a bloco (ex. disco)
- Orientado a caractere (ex. terminal)
- Forma de comunicação
- Programmed I/O Responsabilidade do programador
- Interrupt-driven I/O Processador é interrompido
quando a operação se completa - Direct memory Access (DMA) Transferência dos
dados diretamente para a memória sem
interferência do processador.
6Características
- Data rate
- Aplicação
- Complexidade do controle
- Unidade de transferência
- Representação de dados
- Condições de erro
Conclusão É difícil obter um enfoque geral para
todos os tipos de dispositivos
7Endereçamento de E/S
Utiliza um conjunto de registradores internos ao
controlador que recebem ordens do processador e
fornecem o status de uma operação. Os
registradores são associados a endereços. Como
diferenciar um endereço real de memória e de um
registrador de E/S?
- Em espaço de memória
- Na fase de projeto do computador é definida uma
zona do endereçamento de memória que será
utilizada para dispositivos de E/S. - Programação com instruções de acesso a memória
(mov)
- Em espaço de E/S
- Instruções especiais para manipulação de
dispositivos - No projeto do processador são definidos dois
espaços distintos de endereçamento
8Características de projeto de um S.O
eficiência e generalidade
- Logical I/O funções (open, close...)
- Device I/O conversão da operações e dos dados
para uma seqüência de instruções de I/O - Escalonamento e controle agendamento de
operações, tratamento de interrupções (atua
diretamente no módulo de I/O) - Comunicação camadas
- Gerencia de diretórios conversão do nome dos
arquivos em descritores - Sistema de arquivos estrutura lógica dos
arquivos e suas operações - Organização física Conversão para a geometria do
disco
9(No Transcript)
10Estrutura Lógica
E/S independente do dispositivo Interface padrão
(API) Driver (mecanismos de acesso ao dispositivo
fornecendo uma visão uniforme)
S.O.
Hardware
11E/S independente de dispositivo
- Escalonamento de E/S ordena requisições
- Denominação associação periférico-nome
- Bufferização armazenamento temporário de
informações - Cache de dados armazena em memória os dados mais
recentes - Alocação e liberação
- Direitos de acesso
- Tratamento de erros
12Bufferização
- Motivação
- Ler 1000 bytes de uma unidade de armazenamento
- Solução 1 Executar operação de I/O e aguardar
- Lento
- Interfere na decisão de swapping (endereço
virtual deve permanecer na memória) - Solução 2 Bufferização
- Single buffer
- Double buffer
- Buffer circular
13(No Transcript)
14ORGANIZAÇÃO DA UNIDADE
- Gerenciamento de E/S
- Gerenciamento de memória secundária
- Estrutura física
- Escalonamento
- RAID
- Sistema de Arquivos
15Estrutura Física
16Desempenho
- Disco roda em velocidade constante
- Deve posicionar cabeça na trilha, no inicio do
setor - seek time ? tempo gasto para
posicionar cabeça na trilha - Ts n . m S , n no. de trilhas
- m constante (depende do disco)
- S Startup time
- atraso rotacional ?tempo gasto para posicionar
setor (rotação) - A 1/2r, r velocidade de rotação
- tranferência ? tempo gasto para transferir b
bytes - Tt b/rN , N qtd de bytes na trilha
T Ts A Tt
17Exemplo
- Rotação3600 rpm , seek time20ms, 1 setor512
bytes, 1 trilha32 setores - Tempo de transferência de uma arquivo de 128 Kb
para - a) Organização Seqüencial
- Arquivo 128 Kb gt 256 setores, logo, ocupa
256/32 8 trilhas - Para ler primeira trilha seek 20 ms atraso
1/2r 60/(2x3600) s 8,3 ms - leitura de 32 setores 60/3600
16,7 ms - T1 20 8,3 16,7 45ms
- Próximas trilhas seek 0 T2 8,3 16,7 25 ms
para cada trilha - T 45 7 x 25 220 ms
- b) Randômico
- Tempo para ler um setor T1 16,7/32 0,5 ms
- T 256 x (20 8,3 0,5) 7373 ms
18Entrelaçamento
- Motivação
- Após a leitura de um setor, há um intervalo para
transferência do bloco lido. - Haverá um atraso rotacional mesmo que o setores
sejam consecutivos pois a cabeça de leitura já
terá passado pelo setor.
Solução numeração dos setores de forma não
contígua (interleaving)
19Exemplo
Fator 0
Fator 2
20Escalonamento de disco
- Baseado na fila de requisição
- FiFo
- Mais simples
- Atendimento na ordem dos pedidos
- Prioridade ( fora do controle do gerenciador)
- LiFo
- Diminui o movimento da cabeça de leitura em
arquivos seqüenciais
21Escalonamento de disco
- Baseado na localização do que foi requisitado
- SSTF (shortest service time first)
- Fila é reordenada para atender as requisições de
forma a minimizar o movimento da cabeça - Possibilidade de starvation
- Scan (elevador)
- Variação do SSTF porém estipula uma direção
preferencial - O sentido se inverte ao final da varredura
- C-Scan
- Semelhante ao Scan porém com um sentido único
22Exemplo(iniciando na trilha 100) 55,58,39,18,90,1
60,150,38,184
23Redundant Array of Inexpensive Disks
- Conjunto de discos que são vistos pelo S.O com
uma única unidade lógica - Os dados são distribuídos pelos discos
- Discos redundantes oferecem confiabilidade e a
possibilidade de recuperação em caso de falhas - São classificados em 6 níveis (0 até 5)
24RAID nível 0
- Este nível também é conhecido como "Striping" ou
"Fracionamento". - Os dados são divididos em pequenos segmentos e
distribuídos entre os discos. -
- Não oferece tolerância a falhas, pois não existe
redundância. - Usado para melhorar a performance do computador.
- Muito usado em aplicações de CAD e tratamento de
imagens e vídeos.
25RAID nível 1
- Conhecido como "Mirroring" ou "Espelhamento.
- Funciona adicionando discos paralelos aos
principais existentes no computador. - Os discos que foram adicionados trabalham como
uma cópia do primeiro. - Em caso de falha, a recuperação é imediata
- Gravação de dados é mais lenta, pois é realizada
duas vezes, no entanto, a leitura dessas
informações é mais rápida, pois pode-se acessar
duas fontes. - aplicação muito comum em servidores de arquivos.
26RAID nível 2/3/4
- Os dados são armazenados em diferentes discos
(strip) - Para cada strip é calculada a paridade que é
gravada em um disco pertencente ao array. - A diferença está na forma como a paridade é
calculada - RAID 2 paridade a bit
- RAID 3 paridade a byte
- RAID 4 paridade de bloco
Ex. RAID 4
27RAID nível 5
- Semelhante ao RAID nível 4 porém a paridade não
fica armazenada em um único disco - A gravação de dados é mais rápida, pois não é
necessário acessar um disco de paridade a cada
gravação. - Mais utilizado e que oferece resultados
satisfatórios em aplicações não muito pesadas.