Pesquisa de site

Algoritmos de agendamento de disco


O agendamento de disco é um processo importante em sistemas operacionais que determina a ordem em que as solicitações de acesso ao disco são atendidas. O objetivo do agendamento de disco é minimizar o tempo necessário para acessar os dados no disco e minimizar o tempo necessário para concluir uma solicitação de acesso ao disco. O tempo de acesso ao disco é determinado por dois fatores: tempo de busca e latência rotacional. O tempo de busca é o tempo que leva para a cabeça do disco se mover para o local desejado no disco, enquanto a latência rotacional é o tempo que o disco leva para girar o setor de dados desejado sob a cabeça do disco. Os algoritmos de escalonamento de disco são um componente essencial dos sistemas operacionais modernos e são responsáveis por determinar a ordem em que as solicitações de acesso ao disco são atendidas. O objetivo principal desses algoritmos é minimizar o tempo de acesso ao disco e melhorar o desempenho geral do sistema.

Primeiro a chegar, primeiro a servir

O algoritmo de agendamento de disco First-Come-First-Served (FCFS) é um dos algoritmos de agendamento de disco mais simples e diretos usados em sistemas operacionais modernos. Ele opera com base no princípio de atender às solicitações de acesso ao disco na ordem em que são recebidas. No algoritmo FCFS, a cabeça do disco é posicionada na primeira solicitação da fila e a solicitação é atendida. A cabeça do disco então passa para a próxima solicitação na fila e atende essa solicitação. Este processo continua até que todas as solicitações tenham sido atendidas.

Exemplo

Suponha que temos uma ordem de solicitações de acesso ao disco: 20 150 90 70 30 60. A cabeça do disco é -

atualmente localizado na pista 50.

O tempo total de busca=(50-20) + (150-20) + (150-90) + (90-70) + (70-30) + (60-30)=310

Menor tempo de busca primeiro

Shortest Seek Time First (SSTF) é um algoritmo de agendamento de disco usado em sistemas operacionais para gerenciar com eficiência operações de E/S de disco. O objetivo do SSTF é minimizar o tempo total de busca necessário para atender todas as solicitações de acesso ao disco. No SSTF, a cabeça do disco move-se para a solicitação com o menor tempo de busca a partir de sua posição atual, atende-a e repete esse processo até que todas as solicitações tenham sido atendidas. O algoritmo prioriza as solicitações de acesso ao disco com base em sua proximidade com a posição atual do cabeçote do disco, garantindo que o cabeçote do disco se mova a distância mais curta possível para atender cada solicitação.

Exemplo

Neste caso, para a mesma ordem de solicitação de sucesso, o tempo total de busca=(60-50) + (70-60) + (90-70) + (90-30) + (30-20) + (150- 20)=240

VARREDURA

SCAN (Scanning) é um algoritmo de agendamento de disco usado em sistemas operacionais para gerenciar operações de E/S de disco. O algoritmo SCAN move a cabeça do disco em uma única direção e atende todas as solicitações até chegar ao final do disco e, em seguida, inverte a direção e atende todas as solicitações restantes. No SCAN, o cabeçote do disco começa em uma extremidade do disco, move-se em direção à outra extremidade e atende todas as solicitações que estão em seu caminho. Quando a cabeça do disco chega à outra extremidade, ela inverte a direção e atende todas as solicitações perdidas no caminho. Isso continua até que todas as solicitações tenham sido atendidas.

Exemplo

Se considerarmos que a direção da cabeça é esquerda no caso de SCAN, o tempo total de busca=(50-30) + (30-20) + (20-0) + (60-0) + (60-70) + ( 90-70) + (90-150)=200

C-SCAN

O algoritmo C-SCAN (Circular SCAN) opera de forma semelhante ao algoritmo SCAN, mas não inverte a direção no final do disco. Em vez disso, a cabeça do disco passa para a outra extremidade do disco e continua atendendo às solicitações. Este algoritmo pode reduzir a distância total que a cabeça do disco deve percorrer, melhorando o tempo de acesso ao disco. No entanto, esse algoritmo pode levar a longos tempos de espera para solicitações feitas perto do final do disco, pois elas devem esperar que a cabeça do disco passe para a outra extremidade do disco antes de poderem ser atendidas. O algoritmo C-SCAN é frequentemente usado em sistemas operacionais modernos devido à sua capacidade de reduzir o tempo de acesso ao disco e melhorar o desempenho geral do sistema.

Exemplo

Para C-SCAN, o tempo total de busca=(60-50) + (70-60) + (90-70) + (150-90) + (199-150) + (199-0) + (20-0 ) + (30-20)=378

OLHAR

O algoritmo LOOK é semelhante ao algoritmo SCAN, mas interrompe o atendimento das solicitações assim que atinge o final do disco. Este algoritmo pode reduzir a distância total que a cabeça do disco deve percorrer, melhorando o tempo de acesso ao disco. No entanto, esse algoritmo pode levar a longos tempos de espera para solicitações feitas perto do final do disco, pois elas devem esperar que a cabeça do disco passe para a outra extremidade do disco antes de poderem ser atendidas. O algoritmo LOOK é frequentemente usado em sistemas operacionais modernos devido à sua capacidade de reduzir o tempo de acesso ao disco e melhorar o desempenho geral do sistema.

Exemplo

Considerando que a direção da cabeça está correta, neste caso, o tempo total de busca=(60-50) + (70-60) + (90-70) + (150-90) + (150-30) + (30-20 )=230

RELÓGIO

C-LOOK é semelhante ao algoritmo de agendamento de disco C-SCAN. Neste algoritmo, vai apenas para a última solicitação a ser atendida na frente do cabeçote, apesar do braço do disco ir até a ponta, e daí vai para a última solicitação da outra ponta. Assim, também evita o atraso extra que pode ocorrer devido à travessia desnecessária até o final do disco.

Exemplo

Para o algoritmo C-LOOK, o tempo total de busca=(60-50) + (70-60) + (90-70) + (150-90) + (150-20) + (30-20)=240

Conclusão

Nos últimos anos, vários algoritmos de escalonamento de disco híbrido foram desenvolvidos para resolver as limitações dos algoritmos de escalonamento de disco tradicionais. Esses algoritmos combinam os pontos fortes de vários algoritmos para melhorar o desempenho geral do sistema. Um exemplo de algoritmo híbrido é o algoritmo scan-SSTF, que opera de forma semelhante ao algoritmo SCAN, mas também leva em consideração a proximidade das solicitações com a posição atual da cabeça do disco. Esse algoritmo reduz o tempo de acesso ao disco e, ao mesmo tempo, melhora os tempos de espera para solicitações que estão longe do cabeçote do disco. O algoritmo de agendamento antecipatório usa algoritmos de previsão para prever futuras solicitações de acesso ao disco e agendá-las com antecedência. Este algoritmo pode reduzir o tempo de acesso ao disco, antecipando solicitações futuras e posicionando a cabeça do disco de acordo.

Os algoritmos de escalonamento de disco desempenham um papel crucial nos sistemas operacionais modernos e são responsáveis por determinar a ordem em que as solicitações de acesso ao disco são atendidas. A escolha de qual algoritmo usar geralmente depende da carga de trabalho e dos padrões de acesso ao disco, e há vários algoritmos diferentes para escolher, cada um com seu próprio conjunto de pontos fortes e fracos. Em última análise, o objetivo dos algoritmos de escalonamento de disco é minimizar o tempo de acesso ao disco e melhorar o desempenho geral do sistema, e esse objetivo é alcançado através do uso de algoritmos sofisticados e técnicas computacionais avançadas.

Artigos relacionados: