Você está na página 1de 13

Vasco Fumo

Venode Mário Mondlane

Shortest Remaining Time Next

Licenciatura em Engenharia Electrónica com Habilitações em Computação

5º Ano – Pós -Laboral

Universidade Pedagógica de Maputo

Maputo

2021
Vasco Fumo

Venode Mário Mondlane

Shortest Remaining Time Next

Licenciatura em Engenharia Electrónica com Habilitações em Computação

5º Ano – Pós -Laboral

Trabalho de pesquisa, a ser apresentado da faculdade


de Engenharia e Tecnologia para efeitos de avaliação
de estudantes na cadeira de Arquitectura de Sistemas
Computacionais sob orientação do docente:

MSc Eugénio Alberto Macumbe

Universidade Pedagógica de Maputo

Maputo

2021
Índice
1. Introdução ............................................................................................................. 1

1.1. Objectivo geral ............................................................................................... 1

1.2. Objectivos específicos.................................................................................... 1

1.3. Metodologia .................................................................................................... 1

1.4. Estrutura do trabalho ...................................................................................... 1

1.2. Critério de SRTN ............................................................................................ 4

1.3. Algumas características de SRTN ................................................................. 5

1.4. Algumas vantagens de SRTN ........................................................................ 6

1.5. Algumas desvantagens de SRTN .................................................................. 6

1.6. Algoritmos relacionados com SRTN............................................................... 6

1.7. Exemplo explicativo de princípio de funcionamento de algoritmo SRTN ....... 7

2. Conclusão ............................................................................................................. 9

Referências Bibliográficas ......................................................................................... 10


1

1. Introdução

Algoritmo de programação do próximo menor tempo restante (SRTN) é a versão


preemptiva do agendamento SJF. No SRTF, a execução do processo pode ser
interrompida após determinado período de tempo. Na chegada de cada processo, o
escalonador de curto prazo agenda o processo com o menor tempo de burst
restante entre a lista de processos disponíveis e o processo em execução.
Assim que todos os processos estiverem disponíveis na fila de espera, nenhuma
preempção será feita e o algoritmo funcionará como escalonamento SJF.
Deste trabalho pretende-se observar o algoritmo de escalonamento SRTN, onde a
contextualização terá foco nos objectivos de escalonamento, critérios de SRTN, e
mais que se julgar pertinentes no que tange trabalho em análise.

1.1. Objectivo geral


 Analisar Shortest Remaining Time Next

1.2. Objectivos específicos


 Identificar Shortest Remaining Time Next;
 Caracterizar Shortest Remaining Time Next;
 Listar algumas Vantagens e desvantagens de Shortest Remaining Time Next;
e
 Descrever critério de Shortest Remaining Time Next.

1.3. Metodologia
 Aplicada; e;
 Qualitativa.

1.4. Estrutura do trabalho


 Introdução;
 Objectivos
 Metodologia;
 Desenvolvimento;
 Conclusão; e
 Referências Bibliográficas.

2021
2

1. Shortest Remaining Time Next


Shortest Remaining Time Next (Próximo Menor Tempo Restante) é um dos
algoritmos de escalonamento.

Os algoritmos podem ser preemptivos ou não preemptivos quando em qualquer


momento tarefas se executando podem ou não, respectivamente, ser interrompidas
por outras mais prioritárias. [3]

Escalonamento pode ser visto como

 Acção de seleccionar a próxima requisição a ser atendida por um serviço; e


 Cinco eventos: chegada, admissão, selecção, preempção e conclusão,
ilustrados na figura 1 e na figura 2 ilustra-se o seu diagrama. [3]

Figura 1. Eventos de escalonamento.

Figura-2. Diagrama de escalonamento. Fonte [3]

2021
3

Existem diferentes níveis de escalonamento de processos, como ilustra a figura-3;

 Curto prazo: gerência do processador;


 Médio prazo: gerência de memória; e
 Longo prazo: controle de admissão (grau de multi-programação).

Figura-3. Níveis de escalonamento. Fonte [3]

1.1. Objectivos de escalonamento.


Sistemas não interactivos (em lote ou batch) [4]

 Maximizar o número de tarefas por unidade de tempo (vazão ou throughput);


 Minimizar o tempo entre submissão e término (tempo de retorno ou
turnaround);
 Minimizar o tempo no estado apto (tempo de espera ou waiting time); e
 Manter a CPU ocupada a maior parte do tempo.
Sistemas interactivos [4]

 Responder rapidamente as requisições (tempo de resposta ou response


time); e
 Satisfazer as expectativas dos usuários (proporcionalidade, ou seja, tempo
esperado para executar uma tarefa);
Sistemas de tempo real [4]

 Cumprir prazos no atendimento de eventos; e


 Previsibilidade ou determinismo.
Algoritmos básicos de escalonamento

 FCFS: First come first served;

2021
4

 SPN: Shortest process next;


 SRT: Shortest remaining time next;
 Prioridades;
 RR: Round robin; e
 MLFQ: Multilevel feedback queue
A tabela-1 resume as políticas de escalonamento.

Tabela 1 de políticas de escalonamento.

1.2. Critério de SRTN


 Tempo de execução restante (burst): menor primeiro;
 Preemptivo (se chegar processo de menor burst); e
 Versão preemptiva do SPF.
A figura 4 ilustra o funcionamento de SPTN

Figura-4. Tempo restante. Fonte [5]


Processo com menor expectativa de tempo de processamento e seleccionado para
execução. Associado com cada processo está tamanho do seu próximo CPU burst.
Esse tamanho e usado como critério de escalonamento, sendo seleccionado o
processo de menor próximo CPU burst. Isto é: [5]
 Variável preemptiva do SJF;

2021
5

 Quando chegar uma tarefa com um tempo de execução menor do que o


tempo restante de execução da tarefa que atualmente ocupa a CPU, então a
CPU é cedida para a execução da mesma
 Ocorre a troca do processo que estava na CPU pelo novo processo admitido.
Exemplo1:

 Variação preemptiva do escalonamento por prioridade;


 Requer que o tempo de execução seja conhecido a priori;
 A preempção acontece apenas quando um processo pronto tem tempo
restante menor que o processo actual;
Exemplo2. [6]
Quando processos são inseridos na lista de prontos em tempos distintos, calcula-se
o tempo de espera.

Processo A, B, C e D. TMR- Tempo de espera médio.

1.3. Algumas características de SRTN


 Associe a cada processo a extensão de seu próximo tempo de CPU;
 Use essas extensões para escalonar o processo com o menor tempo;

2021
6

 Processos E/S são favorecidos;


 Porém, difícil o cálculo de tempo do ciclo de CPU para os processos; e
 Cooperativo (original) – uma vez a CPU dada ao processo, ele não pode ser
apropriado até que termine seu uso de CPU.

1.4. Algumas vantagens de SRTN


 Busca minimizar tempo de espera; e
 A principal vantagem do algoritmo SRTN é que ele torna o processamento
dos trabalhos mais rápido do que o algoritmo SJF, mencionando que as
despesas gerais não são contadas. [6]
1.5. Algumas desvantagens de SRTN
 No SRTN, a troca de contexto é feita muito mais vezes do que no SJN devido
ao maior consumo do valioso tempo da CPU para processamento. O tempo
consumido da CPU então se soma ao seu tempo de processamento, o que
diminui a vantagem do processamento rápido desse algoritmo;
 Baseado em estimativas de tempo;
 Gera sobrecarga desnecessária na troca de contexto;
 Usado em SO antigos (para processamento em lote); e
 Processos que consomem mais tempo podem demorar muito para serem
finalizados se muitos processos pequenos chegarem. [6]
1.6. Algoritmos relacionados com SRTN
A versão “preemptiva” do agendamento Shortest Job First (SJF) é conhecida como
Shortest Remaining Time First (SRTF). Com a ajuda do algoritmo SRTF, o processo
com o menor tempo restante até a conclusão é seleccionado primeiro para
execução.

Então, basicamente na SRTF, os processos são programados de acordo com o


menor tempo restante. No entanto, o algoritmo SRTF envolve mais sobrecargas do
que o agendamento Shortest job first (SJF), porque no SRTF OS é frequentemente
necessário para monitorar o tempo de CPU dos trabalhos na fila READY e para
realizar a troca de contexto. [7]

No algoritmo de escalonamento SRTF, a execução de qualquer processo pode ser


interrompida após um determinado período de tempo. Na chegada de cada
processo, o planeador de curto prazo agenda esses processos a partir da lista de

2021
7

processos disponíveis e processos em execução que têm o menor tempo de burst


restante. [7]

1.7. Exemplo explicativo de princípio de funcionamento de algoritmo


SRTN
Existem cinco “jobs” P1, P2, P3, P4, P5 e P6. Seu tempo de chegada e tempo de
“burst” são fornecidos abaixo na tabela-2. [7]

Tabela 2. Processos.[7] Tempo médio de espera = 24/6

O gráfico de Gantt é preparado de acordo com o tempo de chegada e “burst” dado


na tabela 2. [7]
Já que, no tempo 0, o único processo disponível é P1 com tempo de burst de CPU,
então, este é o único processo disponível na lista, portanto, está programado. O
próximo processo chega na unidade de tempo 1. Como o algoritmo SRTF, que é
preferencial, a execução actual é interrompida e o escalonador verifica o processo
com o menor tempo de burst.
Existem dois processos disponíveis na fila de espera. O SO executou P1 por uma
unidade de tempo.

2021
8

O tempo de burst restante de P1 é de 7 unidades. O tempo de burst do Processo P2


é de 4 unidades. Portanto, o processo P2 é programado na CPU de acordo com o
algoritmo.
O próximo processo P3 chega na unidade de tempo 2. No momento, a execução do
processo P3 é interrompida e o processo com o menor tempo de burst restante é
procurado. Como o processo P3 tem 2 unidades de tempo de burst, ele terá
prioridade sobre os outros.
O Próximo Processo P4 chega na unidade de tempo 3. Nesta chegada, o
escalonador irá parar a execução de P4 e verificar qual processo está tendo menor
tempo de burst entre os processos disponíveis (P1, P2, P3 e P4). P1 e P2 têm o
tempo de rajada restante de 7 unidades e 3 unidades, respectivamente.
P3 e P4 têm o tempo de burst restante de 1 unidade cada. Como ambos são iguais,
o agendamento será feito de acordo com o horário de chegada. P3 chega mais cedo
que P4 e, portanto, será agendado novamente.
O Próximo Processo P5 chega na unidade de tempo 4. Até esta hora, o Processo P3
completou sua execução e não está mais na lista.
O planeador irá comparar o tempo de burst restante de todos os processos
disponíveis. Uma vez que o tempo de burst do processo P4 é 1, o que é o menor
entre todos, portanto, isso será programado.
O Próximo Processo P6 chega na unidade de tempo 5, até este momento, o
Processo P4 concluiu sua execução.
Tem 4 processos disponíveis, que são P1 (7), P2 (3), P5 (3) e P6 (2). O tempo de
burst de P6 é o menor entre todos, portanto, P6 está programado.
Como, todos os processos estão disponíveis, o algoritmo funcionará da mesma
forma que o SJF. P6 será executado até a sua conclusão e então o processo com
menor tempo restante será agendado.
Uma vez que todos os processos cheguem, nenhuma preempção é feita e o
algoritmo funcionará como SJF.

2021
9

2. Conclusão
Um algoritmo de agendamento Shortest remanescente Time Next também é
conhecido como algoritmo de agendamento SJF preemptivo. Quando um novo
processo chega à fila de espera enquanto um processo ainda está em execução, o
algoritmo SRTN é executado para decidir qual processo será executado em seguida.
Este algoritmo compara o tempo de burst da CPU do processo recém-chegado com
tempo de burst de CPU restante (à esquerda) do processo em execução no
momento.
A partir da revisão bibliográfica, considera-se objectivo do trabalho alcançado e
desta forma, pode-se concluir que, se o tempo de pico da CPU do novo processo for
menor que o tempo restante do processo actual, o algoritmo SRTN interrompe a
execução do processo actual e começa a executar o novo processo.
Depois que todos os processos estiverem disponíveis na fila de espera, então,
nenhuma preempção será feita e o algoritmo funcionará da mesma forma que o
escalonamento SJF.

2021
10

Referências Bibliográficas
[1] ANDRÉ FURTADO. Metodologia PRO.NET. linhadecódigo, 2020. Disponivel em:
http://www.linhadecodigo.com.br/artigo/1323/metodologia-pronet.aspx. Acesso em:
28 de Maio de 2021.
[2] DZONE,2021 Disponível em: https://dzone.com/articles/top-10 -in-2017. Acesso
em: 28 de Maio de 2021
[3] GUEDES, G. T. UML 2 :Shortest Remaining Time Next. Novatec Editora Ltda,
2011.
[4] MINETTO, E. Algoritmo de escalonamento. São Paulo: Novatec Editora, 1 ed(17–
19), 2007.
[5] OLIVEIRA, F. G. DE, & SEABRA, J. M. P. Redes de computadores.Web, 2015.
[6] PRESSMAN, R. S. Engenharia de Software. São Paulo: Mc. Graw Hill, 5 ed,
2002.
[7] PRESSMAN, Roger S. Engenharia de Software. São Paulo: McGraw-Ill, 6 ed,
720, 2006.
.org/wiki/Ruby_on_Rails. Site consultado em: 29 de Maio de 2021

2021

Você também pode gostar