Summary
Full Transcript
Videoaula da disciplina Algoritmos e Estruturas de Dados III no curso de Ciência da Computação da PUC Minas - 2021 ---------------------- O tempo de acesso a um setor em um disco rígido é muito superior ao tempo de transferência desse mesmo setor. Assim, quando lemos vários setores sequencialmente, reduzimos o número de acessos necessários e tornamos o processo bem mais eficiente. ---------------------- O disco rígido é um gargalo do computador e é o seu desempenho que define, de uma forma geral, o desempenho geral dos sistemas (já que programas e dados estão armazenados em disco). Obviamente, esse impacto é maior nos programas que acessam mais arquivos em disco, pois a CPU executa mais de um milhão de instruções enquanto o disco rígido executa um único acesso aleatório. Veja como é calculado o tempo de uma operação em disco no vídeo. Como apresentado no vídeo, o tempo de uma operação em disco é determinado por dois fatores: tempo de acesso aos dados e tempo de transferência dos dados. O tempo de acesso é o tempo necessário para o cabeçote ser posicionado no setor desejado. Esse tempo é a soma do tempo de busca e da latência rotacional. O tempo de busca é o tempo necessário para que o cabeçote se posicione no cilindro desejado. Como ele pode iniciar esse movimento a partir que qualquer cilindro, o tempo de busca é especificado de uma ou mais das seguintes formas: 1) Tempo máximo – tempo necessário para o cabeçote mover-se do primeiro para o último cilindro. Esse movimento é bastante raro e dependeria do disco estar cheio. 2) Cilindro a cilindro – tempo necessário para o cabeçote mover-se para o cilindro adjacente. 3) Tempo médio – tempo médio para movimentos aleatórios do cabeçote, de um cilindro qualquer para outro cilindro qualquer. Pode ser determinado matematicamente, através do cálculo de 2/3 do tempo máximo. É a forma mais usual de especificação do tempo de busca. Os discos rígidos são mantidos em constante rotação para evitar o atraso na leitura devido à inércia. Mesmo assim, quando o cabeçote chega ao cilindro, não há como garantir que ele esteja sobre o setor desejado. Assim, deve esperar o prato girar até que esse setor chegue à posição correta. O tempo dessa espera é chamado de latência rotacional (rotational latency) e é inversamente proporcional à velocidade de rotação do disco. A latência rotacional pode ser praticamente nula se o setor estiver na posição ideal quando o cabeçote chegar ao cilindro. Da mesma forma, pode ser de uma rotação completa se o setor tiver acabado de passar sob o cabeçote. Na média, a latência é de meia rotação. A transferência de dados só se inicia após o alcance do setor correto e seu desempenho é afetado por fatores internos e externos ao disco. Os principais fatores internos são a velocidade de rotação do disco e a densidade de dados da mídia. Quanto mais rápida for a velocidade de rotação, tanto menor será o tempo de transferência. Igualmente, quanto maior for a densidade de dados, tanto menor também será o tempo de transferência.
