Unidade IV Gerenciamento de Recursos Gerenciamento de E/S Sistemas Operacionais I - 2004 U F R J / I...
-
Upload
raissa-antunes-borges -
Category
Documents
-
view
213 -
download
0
Transcript of Unidade IV Gerenciamento de Recursos Gerenciamento de E/S Sistemas Operacionais I - 2004 U F R J / I...
Unidade IV Gerenciamento de RecursosGerenciamento de E/S
Sistemas Operacionais I - 2004
U F R J / I M / DCC
Prof. Antonio Carlos Gay ThoméProf. Aux. Simone Markenson Pech
ORGANIZAÇÃO DA UNIDADE
• Gerenciamento de E/SGerenciamento de E/S– FundamentosFundamentos– EvoluçãoEvolução– Estrutura OrganizacionalEstrutura Organizacional– Tratamento de Pedidos de E/STratamento de Pedidos de E/S
• Gerenciamento de memória secundária• Sistema de Arquivos
Componentes• 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
Evolução1. Processador controla dispositivo2. Adição de módulo de I/O (programado)3. Interrupções4. DMA5. Processador separado com instruções
próprias6. Memória local
Categorias• 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.
Características
Conclusão: É difícil obter um enfoque geral para todos os tipos de dispositivos
• Data rate• Aplicação
• Complexidade do controle• Unidade de transferência• Representação de dados
• Condições de erro
Endereçamento de E/S
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
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)
Características de projeto de um S.O
– 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
eficiência e generalidade
Estrutura Lógica
E/S Nível do usuário
E/S independente do dispositivoInterface padrão (API)Driver (mecanismos de acesso ao dispositivo fornecendo uma visão uniforme)
Hardware
S.O.
E/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
BufferizaçãoMotivaçã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
ORGANIZAÇÃO DA UNIDADE
• Gerenciamento de E/S
• Gerenciamento de memória secundáriaGerenciamento de memória secundária– Estrutura físicaEstrutura física– EscalonamentoEscalonamento
– RAIDRAID
• Sistema de Arquivos
Estrutura Físicacabeçotes paraleitura / gravação
gravação
face inferior
face superior
cilindro
braço doscabeçotes
setor
trilha
Desempenho• Disco roda em velocidade constante• Deve posicionar cabeça na trilha, no inicio do setorseek 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 bytesTt= b/rN , N = qtd de bytes na trilha
T = Ts + A + Tt
ExemploRotação=3600 rpm , seek time=20ms, 1 setor=512 bytes, 1 trilha=32 setoresTempo de transferência de uma arquivo de 128 Kb para:
a) Organização SeqüencialArquivo: 128 Kb => 256 setores, logo, ocupa 256/32 = 8 trilhasPara 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 trilhaT = 45 + 7 x 25 = 220 ms
b) RandômicoTempo para ler um setor: T1 = 16,7/32 = 0,5 ms
T = 256 x (20 + 8,3 + 0,5) = 7373 ms
EntrelaçamentoMotivaçã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)
Exemplo
1
23
4
5
6 7
8
Fator = 2
1
47
2
5
8 3
6
Fator = 0
Escalonamento 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
Escalonamento 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
Exemplo(iniciando na trilha 100)
55,58,39,18,90,160,150,38,184
Redundant 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)
RAID nível 0Este 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.
RAID 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.
RAID 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 bitRAID 3: paridade a byte
RAID 4: paridade de bloco
Ex. RAID 4
RAID 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.