Skip to content

Latest commit

 

History

History
69 lines (46 loc) · 2.91 KB

File metadata and controls

69 lines (46 loc) · 2.91 KB

ProcessGantt

Exemplo de Uso

Para ilustrar o Diagramador de Escalonamento de Processos, selecionamos um dos exercícios do capítulo 6 do livro referenciado em [2], descrito a seguir:

Questão 5) A tabela a seguir representa um conjunto de tarefas prontas para utilizar um processador:

Tarefa t1 t2 t3 t4 t5
ingresso 0 0 3 5 7
duração 5 4 5 6 4
prioridade 2 3 5 9 6

Represente graficamente a sequência de execução das tarefas (processos) e calcule os tempos médios de vida (tournaround time) e de espera (waiting time), para as políticas de escalonamento a seguir:

(a) FCFS cooperativa
(b) SJF cooperativa
(c) SJF preemptiva (SRTF)
(d) PRIO cooperativa
(e) PRIO preemptiva
(f) RR com Quantum = 2, 4 e 10, sem envelhecimento

Considerações:

  1. Todas as tarefas são orientadas a processamento;
  2. As trocas de contexto têm duração nula;
  3. Em eventuais empates (idade, prioridade, duração, etc), a tarefa ti com menor i prevalece;
  4. Valores maiores de prioridade indicam maior prioridade.
  5. Adicionamos os quanta 2 e 10 ao item f.

Arquivo de configuração (.INI)

O arquivo INI correspondente aos processos descritos na tabela está em Livro Mazieiro Q6.5

O primeiro passo para o uso do Escalonador é "Selecionar o arquivo de entrada", conforme Figura 1. Ressalta-se que é um arquivo texto contendo a estrutura (INI) descrita no arquivo Readme.md.

Selecionando arquivo de entrada!

O segundo passo é escolher o algoritmo de escalonamento e, em seguida, executar o escalonador. Caso o algoritmo selecionado seja o Round Robin, deve-se informar, como atributo, o tamanho do Quantum. Como resultado, obtém-se o Diagrama de Gantt do escalonamento dos processos e seus tempos de espera e execução, além dos tempos médios.

FCFS cooperativa

Executando o escalonador!

SJF cooperativa

Executando o escalonador!

SJF preemptiva (SRTF)

Executando o escalonador!

PRIO cooperativa

Executando o escalonador!

PRIO preemptiva

Executando o escalonador!

RR com Quantum = 2, sem envelhecimento

Executando o escalonador!

RR com Quantum = 4, sem envelhecimento

Executando o escalonador!

RR com Quantum = 10, sem envelhecimento

Executando o escalonador!

Referências

  1. Tanenbaum, A. S. (2015). Modern operating systems. Fourth edition ed. Boston: Pearson.
  2. Maziero, C. A. (2019). Sistemas operacionais: conceitos e mecanismos. Curitiba : DINF - UFPR, 2019.