FORMATAÇÃO DE DISCO O DISCO RÍGIDO CONSISTE DE UM ARRANJO DE PRATOS DE ALUMÍNIO, LIGA METÁLICA OU VIDRO, CADA QUAL COBERTO POR UMA FINA CAMADA DE ÓXIDO DE METAL MAGNETIZADO APÓS A FABRICAÇÃO, NÃO HÁ DADO ALGUM ARMAZENADO ANTES DE PODER SER USADO, NECESSIDADE DE UMA FORMATAÇÃO DE BAIXO NÍVEL o UM PADRÃO MAGNÉTICO É GRAVADO SOBRE O PRATO o CRIAÇÃO DE TRILHAS CONCENTRICAS, CONSTITUÍDAS DE SETORES, COM INTERVALOS ENTRE ELES (GAPS) SETORES COMPOSTO POR UM PREÂMBULO o PADRÃO BINÁRIO PARA RECONHECER O SEU INÍCIO o PERMITE A LOCALIZAÇÃO (CHS) MAIORIA DOS DISCOS COM 512 BYTES / SETOR ECC CONTÉM INFORMAÇÕES REDUNDANTES PARA RECUPERAÇÃO DE ERROS DE LEITURA (VARIA DE TAMANHO DE FABRICANTE PARA FABRICANTE) NÃO É INCOMUM TER UM ECC DE 16 BYTES EXISTEM SETORES SOBRESSALENTES EM CASO DE DEFEITOS (NA MESMA TRILHA OU EM CILINDROS ESPECIAIS) DEFEITOS DE FABRICAÇÃO
FORMATAÇÃO DE DISCO Pág. 233 livro do Tanenbaum FORMATAÇÃO DE DISCO OS SETORES SÃO NUMERADOS AO LONGO DA TRILHA A PARTIR DE 0 AS TRILHAS SÃO NUMERADAS A PARTIR DE 0 (MAIS EXTERNA) EM DIREÇÃO AO CENTRO AS CABEÇAS SÃO NUMERADAS A PARTIR DE 0 (DE CIMA PARA BAIXO) O DESLOCAMENTO DE CILINDRO (CYLINDRIC SKEW) PERMITE QUE O DISCO LEIA VÁRIAS TRILHAS EM UMA OPERAÇÃO CONTÍNUA O CHAVEAMENTO DE CABEÇOTE (HEAD SKEW) CONSOME UM TEMPO FINITO
CAPACIDADE DO DISCO REDUZIDA POR CONTA DA FORMATAÇÃO DE BAIXO NÍVEL o DEPENDENDO DO TAMANHO DO PREÂMBULO, DO INTERVALO ENTRE SETORES E DO ECC o NÚMERO DE SETORES SOBRESSALENTES 20 % MENOR QUE A IDEAL TODOS OS DISCOS DO MESMO TIPO APRESENTAM A MESMA CAPACIDADE REJEIÇÃO NA FÁBRICA A CAPACIDADE É INFORMADA SEM FORMATAÇÃO E SEM CONSIDERAR A BASE BINÁRIA (KILO, MEGA, GIGA, TERA, PETA...) ENTRELAÇAMENTO (INTERLEAVING) CONSIDERANDO A TRANSFERÊNCIA DOS DADOS QUE ESTÃO NO DISPOSITIVO, A CONTROLADORA PODE TER BUFFER PARA UM SETOR, OPERAR COM UM BUFFER DE UM BLOCO DE DOIS SETORES PODE OCORRER UM PROBLEMA CASO O TEMPO DE ESVAZIAMENTO DO BUFFER SEJA MAIOR QUE A DURAÇÃO DO INTERVALO ENTRE SETORES (GAP)
ENTRELAÇAMENTO (INTERLEAVING) ENQUANTO OCORRE A TRANSFERÊNCIA PARA A (OU DA) MEMÓRIA, A CABEÇA DE LEITURA ESTARÁ PASSANDO SOBRE O SETOR SEGUINTE, ENTÃO: OU A CONTROLADORA É COMPLEXA PARA CONTROLAR A TRANSFERÊNCIA E A E/S AO MESMO TEMPO OU O SETOR SEGUINTE É PERDIDO, EXIGINDO NOVA ROTAÇÃO O TEMPO DE TRANSFERÊNCIA PODE SER GRANDE O BASTANTE PARA OCORRER A PERDA DE MAIS DE UM SETOR. ENTRELAÇAMENTO (INTERLEAVING) SOLUÇÕES: NECESSIDADE DE DUAS OU MAIS ROTAÇÕES PARA A LEITURA/ESCRITA DE UM BLOCO DE SETORES ENDEREÇAMENTO NÃO SEQUENCIAL EM UMA TRILHA, PERMITINDO A EXISTÊNCIA DE UM OU MAIS SETORES ENTRE DOIS SETORES COM ENDEREÇOS ADJACENTES ENTRELAÇAMENTO (INTERLEAVING) BUFFER CAPAZ DE ARMAZENAR O EQUIVALENTE A UMA TRILHA DE DADOS
ENTRELAÇAMENTO (INTERLEAVING) QUANDO DA FORMATAÇÃO DE UM DISCO, O FATOR DE ENTRELAÇAMENTO É CONSIDERADO Figura 234 livro do Tanenbaum PARTICIONAMENTO CADA PARTIÇÃO É UM DISCO LÓGICO SEPARADO A EXISTÊNCIA DE MAIS DE UMA PARTIÇÃO PERMITE A COEXISTÊNCIA DE VÁRIOS SISTEMAS OPERACIONAIS ÁREA DE TROCA (SWAP SPACE) REGISTRO MESTRE DE INICIALIZAÇÃO (MASTER BOOT RECORD MBR) CONTÉM INSTRUÇÕES (CÓDIGO) PARA BOOT E A TABELA DE PARTIÇÕES (COM CILINDRO/SETOR INICIAL E TAMANHO DA PARTIÇÃO)
FORMATAÇÃO DE ALTO NÍVEL DURANTE A FORMATAÇÃO DE ALTO NÍVEL SÃO COLOCADAS NO DISCO AS INFORMAÇÕES DE CONTROLE, NECESSÁRIAS AO S.O., PARA A MANIPULAÇÃO DOS DADOS RESIDENTES NO DISCO (BLOCOS PARA BOOT, A ESTRUTURA DE GERENCIAMENTO DE ARMAZENAMENTO LIVRE, DIRETÓRIO RAIZ E UM SISTEMA DE ARQUIVOS VAZIO) INCLUI A INFORMAÇÃO SOBRE QUAL É O SISTEMA DE ARQUIVOS ALGUNS SETORES PODEM SER CONSIDERADOS DANIFICADOS (BAD) BOOT (ENERGIA LIGADA) A BIOS ENTRA EM EXECUÇÃO, CARREGA O MBR E SALTA (JMP) PARA O CÓDIGO QUE FOI CARREGADO MBR VERIFICA QUAL A PARTIÇÃO A SER ATIVADA MBR CARREGA O SETOR DE INICIALIZAÇÃO DA PARTIÇÃO E SALTA PARA O CÓDIGO QUE FOI CARREGADO INICIALIZAÇÃO BUSCA UM PROGRAMA NO DIRETÓRIO RAIZ (S.O. OU BOOTSTRAP), CARREGA-O E SALTA PARA ELE
O TEMPO DE RESPOSTA PARA LEITURA OU ESCRITA É FUNÇÃO DE QUATRO FATORES: O TEMPO DE POSICIONAMENTO (SEEK) - CILINDRO APROPRIADO ATRASO ROTACIONAL (LATÊNCIA) - SETOR APROPRIADO TEMPO DE LEITURA (NÃO É CONSIDERADO NO LIVRO) TEMPO DE TRANSFERÊNCIA REAL DO DADO REDUÇÃO NO TEMPO MÉDIO DE POSICIONAMENTO PODE MELHORAR O DESEMPENHO DO SISTEMA ESCALONAMENTO DO BRAÇO ESTRATÉGIAS PARA ESCALONAMENTO DE SERVIÇOS EM DISCO FCFS (FIFO) POSICIONAMENTO MAIS CURTO PRIMEIRO (SHORTEST SEEK FIRST) ELEVADOR (SCAN) SÓ FAZ SENTIDO SE A GEOMETRIA REAL É A MESMA DA VIRTUAL
LISTA DE REQUISIÇÕES O DRIVER DE DISCO MANTÉM UMA ESTRUTURA (LISTA LIGADA), ORGANIZADA PELO Nº DO CILINDRO, COM TODAS AS REQUISIÇÕES PARA O CILINDRO P.E. REQUISIÇÕES NA SEGUINTE ORDEM (CONSIDERANDO APENAS O C TEM TAMBÉM: O H, S, Nº DE BYTES, ENDEREÇO, OPERAÇÃO) 11, 1, 36, 16, 34, 9 E 12 PODE SER ALTERADA PELA CHEGADA DE NOVAS REQUISIÇÕES USANDO FCFS SERÃO NECESSÁRIAS MOVIMENTAÇÕES DE 11 PARA 1 (10), 1 PARA 36 (35), DE 36 PARA 16 (20), DE 16 PARA 34 (18), DE 34 PARA 9 (25) E DE 9 PARA 12 (3) NUM TOTAL DE 111 CILINDROS 10 20 30 Figura baseada na Figura 5.25 livro do Tanenbaum
USANDO POSICIONAMENTO MAIS CURTO PRIMEIRO SERÃO NECESSÁRIAS MOVIMENTAÇÕES DE 1, 3, 7, 15, 33 E 2 NUM TOTAL DE 61 CILINDROS 10 20 30 Figura baseada na Figura 5.25 livro do Tanenbaum, página 235 USANDO POSICIONAMENTO MAIS CURTO PRIMEIRO SOB UM NÚMERO MUITO GRANDE E CONTINUO DE REQUISIÇÕES, O BRAÇO TENDE A PERMANECER NO MEIO DO DISCO REQUISIÇÕES NOS EXTREMOS TÊM DE ESPERAR PARA SEREM ATENDIDAS CONFLITO ENTRE JUSTIÇA E DESEMPENHO
ALGORITMO DO ELEVADOR UM BIT INDICANDO A DIREÇÃO A SEGUIR, PARA CIMA OU PARA BAIXO. QUANDO UMA REQUISIÇÃO É TERMINADA, CHECA-SE O BIT: SE É PARA CIMA, O BRAÇO É MOVIDO PARA A PRÓXIMA REQUISIÇÃO MAIS ALTA. SE NÃO EXISTEM REQUISIÇÕES MAIS ALTAS, A DIREÇÃO É INVERTIDA (ELEVADOR) OU ALCANÇA-SE O EXTREMO E A DIREÇÃO É INVERTIDA (SCAN). COM A DIREÇÃO PARA BAIXO, O BRAÇO MOVE-SE PARA A PRÓXIMA REQUISIÇÃO MAIS BAIXA E ASSIM POR DIANTE. ALGORITMO DO ELEVADOR SERÃO NECESSÁRIAS MOVIMENTAÇÕES DE 1, 4, 18, 2, 27 E 8 NUM TOTAL DE 60 CILINDROS 10 20 30 Figura baseada na Figura 5.26 livro do Tanenbaum, página 236
ALGORITMO DO ELEVADOR NORMALMENTE, O RESULTADO É LIGEIRAMENTE MELHOR SE COMPARADO COM A POSICIONAMENTO MAIS CURTO PRIMEIRO QUALQUER CONJUNTO DE REQUISIÇÕES, SEM INSERÇÕES, PODE SER ATENDIDO EM NO MÁXIMO DUAS VEZES O NÚMERO DE CILINDROS HÁ UMA VARIANTE DA ESTRATÉGIA SCAN, DENOMINADA C-SCAN - SCAN CIRCULAR, ONDE O ATENDIMENTO SE DÁ APENAS EM UMA DIREÇÃO. OUTRAS OTIMIZAÇÕES ALÉM DA OTIMIZAÇÃO DE SEEKS, PODEM-SE OTIMIZAR AS REQUISIÇÕES PARA A MESMA TRILHA (OU MESMO CILINDRO), ESCOLHENDO-SE AQUELA QUE PASSARÁ SOB A CABEÇA MAIS RAPIDAMENTE (CONTROLADORA COM O CONJUNTO DE REQUISIÇÕES E POSSIBILIDADE DE INSPECIONAR QUAL SETOR ACABOU DE PASSAR) EM UM MESMO CILINDRO A ESCOLHA DO CABEÇOTE NÃO ENVOLVE SEEK OU LATÊNCIA
OUTRAS OTIMIZAÇÕES SE O TEMPO DE SEEK É MENOR QUE O DE LATÊNCIA, AO INVÉS DE ORDENAR AS REQUISIÇÕES POR CILINDRO, MELHOR ORDERNAR POR SETOR COMO LER UM SÓ BLOCO (CLUSTER) É INEFICIENTE, A CONTROLADORA COLOCA VÁRIOS SETORES (QUE PODEM NÃO TER SIDO REQUISITADOS) EM UMA CACHE LOCAL, DE FORMA DINÂMICA, SENDO DIVIDIDA METADE PARA LEITURAS E METADE PARA ESCRITAS. ISTO NÃO IMPEDE QUE HAJA UMA CACHE DO S.O. OUTRAS OTIMIZAÇÕES CARACTERÍSTICAS DE UMA CONTROLADORA DE DISCOS QUE PODEM PERMITIR QUE O TEMPO MÉDIO DE ACESSO SEJA REDUZIDO CONSIDERAVELMENTE SEEKS SIMULTÂNEOS (UM POR DISPOSITIVO) READ OU WRITE EM UM DISPOSITIVO E SEEKS SIMULTÂNEOS NOS DEMAIS NECESSIDADE DE UMA TABELA DE REQUISIÇÕES PENDENTES
CARACTERÍSTICAS DE UM FLOPPY DISK, PADRÃO COM DUPLA DENSIDADE NOS DOIS LADOS Nº DE CILINDROS 40 TEMPO DE SEEK TRILHAS POR 2 (ADJACENTES) 6 ms CILINDRO SETORES POR TRILHA 9 (MÉDIO) 77 ms SETORES POR? TEMPO DE ROTAÇÃO 200 ms DISQUETE BYTES POR SETOR 512 TEMPO DE INÍCIO/ BYTES POR DISQUETE 368.640 PARADA DE MOTOR 250 ms TEMPO DE 22 ms TRANSFERÊNCIA DISCO ATÉ MEMÓRIA CARACTERÍSTICAS DE UM HD CONECTADO AO UM PC 486 DX2/66, COM CONTROLADORA EIDE Nº DE CILINDROS 3.653 TEMPO DE SEEK TRILHAS POR 2 (ADJACENTES) 5 ms CILINDRO SETORES POR TRILHA 76 (MÉDIO) 14 ms BYTES POR SETOR 512 VELOCIDADE DE ROTAÇÃO 4500 rpm TOTAL DE BYTES? TEMPO DE LATÊNCIA 6,67 ms TEMPO DE 53,7 ms TRANSFERÊNCIA DISCO ATÉ MEMÓRIA
Exercícios 1. Exercícios 19 a 22 e 24 2. Diferencie formatação de baixo nível de formatação alto nível. 3. Considere um dispositivo que gira a dez mil RPM. Qual é o tempo gasto para uma rotação? Se este dispositivo tem 300 setores por trilha, quanto tempo demora para se passar por cima de um setor? Se o tempo para posicionar o cabeçote de uma trilha para a sua adjacente é de 800 microseg, qual deve ser o deslocamento de cilindro, para permitir a leitura de vários setores em uma única operação? 4. Qual seria o tamanho em bytes de um disco com 200 polegadas quadradas, cada qual com uma capacidade de 10 9 bytes? Considere uma perda de 20 % por conta da formatação e não se esqueça da base 2. 5. Considere um barramento de 80 MBytes/seg (SCSI). Quanto dessa capacidade vai ser necessária para um disco que gira a dez mil RPM e tem 300 setores/trilha, conseguindo ler toda uma trilha em uma operação? 6. Um disquete contém 40 cilindros. O tempo de seek é de 6 mseg entre dois cilindros adjacentes. Em média dois blocos logicamente consecutivos permanecem separados por 13 cilindros, se nenhuma medida especial for tomada durante a criação do arquivo. Caso o sistema operacional tente manter os blocos juntos, estes ficam separados em média por dois cilindros. Qual é o tempo médio para a leitura de 100 blocos nos dois casos, considerando o atraso rotacional médio de 10 mseg e o tempo de transferência de um bloco de 5 mseg? 7. Qual seria o valor do atraso rotacional caso o motor girasse a 7200 rpm? 8. Considere as seguintes características de um HD conectado a uma controladora SCSI. Nº DE CILINDROS 79408 TEMPO DE SEEK Nº REAL DE CILINDROS 16383 (ADJACENTES) 5 ms TRILHAS POR CILINDRO 16 (MÉDIO) 11,5 ms SETORES POR TRILHA 63 VELOCIDADE DE ROTAÇÃO 5400 rpm
BYTES POR SETOR 512 TEMPO DE LATÊNCIA? TOTAL DE BYTES? TEMPO DE UMA OPERAÇÃO DE E/S? 9. Considere as seguintes características de um HD ATA de 160 Gbytes. Complete as características representadas por?. Nº DE CILINDROS? TEMPO DE SEEK Nº REAL DE CILINDROS 16383 (ADJACENTES) 4 ms TRILHAS POR CILINDRO 16 (MÉDIO) 8,5 ms SETORES POR TRILHA 63 VELOCIDADE DE ROTAÇÃO? BYTES POR SETOR 512 TEMPO DE LATÊNCIA 4,16 ms TOTAL DE BYTES 160 GBytes TAXA DE TRANSFERÊNCIA DISCO ATÉ MEMÓRIA 32 Mbytes/ sec 10. Calcule o número de cilindros percorridos para um conjunto de requisições cujos cilindros sejam, segundo a ordem de chegada: 3, 341, 1045, 45, 31, 49909, 354, 23, 31. Considere que o braço se encontra inicialmente no cilindro 100. Faça o cálculo para cada uma das estratégias vistas em sala de aula. 11. Escreva o algoritmo do elevador para atendimento de uma lista ligada de requisições. 12. Porque é preferível usar lista-ligada para armazenar requisições no driver ao invés de um vetor? 13. Qual é a desvantagem da estratégia de escalonamento de braço "posicionamento mais curto primeiro" sobre a do elevador?