Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
so:escalonamento_de_disco [2013/06/02 15:57] mazieroso:escalonamento_de_disco [2023/03/29 16:13] (atual) maziero
Linha 1: Linha 1:
 +====== Escalonamento de disco ======
  
 +Este projeto tem por objetivo implementar diferentes algoritmos de escalonamento de acessos a um disco simulado.
 +
 +===== O problema =====
 +
 +A política de escalonamento dos acessos a discos rígidos tem um impacto importante no //throughput// de um sistema (número de bytes lidos ou escritos no disco por segundo). Algumas políticas bem conhecidas são:
 +
 +  * //First Come, First Served// (FCFS): os pedidos são atendidos na ordem em que são gerados pelas tarefas; sua implementação é simples, mas não oferece um bom desempenho;
 +  * //Shortest Seek-Time First// (SSTF): os acessos a disco são ordenados conforme sua distância relativa: primeiro são atendidos os pedidos mais próximos à posição atual da cabeça de leitura do disco.
 +  * //Circular Scan// (CSCAN): os pedidos são atendidos sempre em ordem crescente de suas posições no disco; após tratar o pedido com a maior posição, a cabeça do disco retorna ao próximo pedido com a menor posição no disco.
 +
 +===== A implementação =====
 +
 +Este projeto usa como base o projeto de [[gerente de disco]] desenvolvido anteriormente. Neste projeto você deve:
 +
 +  * Implementar as políticas de escalonamento de disco FCFS, SSTF e CSCAN;
 +  * para cada política, implementar uma função separada que a implementa;
 +  * medir o número de blocos percorridos pela cabeça do disco em cada uma dessas três políticas;
 +  * medir o tempo total de execução para cada uma das três políticas.
 +
 +Use o código de teste e os conteúdos de disco do projeto de [[gerente de disco]] para efetuar seus testes e medições.
 +
 +===== Outras informações =====
 +
 +  * Duração estimada: 8 horas.
 +  * Dependências:
 +    * [[Gestão de Tarefas]]
 +    * [[Dispatcher]]
 +    * [[Preempção por Tempo]]
 +    * [[Tarefa Main]]
 +    * [[Tarefas suspensas]]
 +    * [[Tarefas dormindo]]
 +    * [[Semáforos]]
 +    * [[Gerente de disco]]