SJF

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Este artigo não cita fontes fiáveis e independentes. (desde Dezembro de 2008). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)

O SJF (Shortest Job First ou Processo mais curto primeiro) é um algoritmo de escalonamento que executa, dentre processos igualmente importantes, o mais curto primeiro.

O escalonador SJF funciona a partir de um conceito bem simples: os processos menores terão prioridade, ou seja, serão executados primeiro. Isso tem como resultado um tempo médio mínimo de espera para cada conjunto de processos a serem executados.

O cálculo de cada tempo médio é feito a partir da próxima alocação de CPU, ou seja, o processo que utilizar a CPU por menos tempo será executado primeiro. Existem dois esquemas já conhecidos desse tipo de escalonamento:

Não-Preemptivo
Uma vez a CPU atribuída a um processo, este não pode ser interrompido até completar a execução do processo.
Preemptivo
Se um novo processo chega ao estado "pronto" com um tempo de alocação menor que o tempo restante do processo em execução, então há preempção (interrupção). Este esquema é conhecido por Shortest-Remaining-Time-First (SRTF).
Vantagens
O emprego deste algoritmo é vantajoso devido à sua simplicidade e também porque maximiza o rendimento do processo (em termos de número de processos de execução para conclusão em um determinado período de tempo). Ele também minimiza a quantidade média de tempo que cada processo tem que esperar até que a sua execução esteja completa. No entanto, ele tem o potencial de starvation para processos que requerem um longo período de tempo, se os processos curtos são continuamente adicionados.

Desvantagem:Podemos dizer que é uma desvantagem, pelo fato do SJF preemptivo (podemos associar o termo preemptivo como prioridade, que na verdade não deixa de ser), é o bloqueio por tempo indefinido ou starvation(podemos associar o termo starvation como stagnação, que na verdade não deixa de ser). Um algoritmo de escalonamento por prioridade (preemptivo)pode deixar que alguns processos de baixa prioridade fiquem esperando indefinidamente pela CPU. Dizem, que quando o IBM 7094 do MIT foi desligado em 1973, encontraram um processo de baixa prioridade que tinha sido submetido (DISPATCHER) em 1967 e que ainda não tinha sido executado.

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.

[1]

Referências

  1. SILBERSCHATZ, PETER, GREG G. Sistemas Operacionais Conceitos e Aplicações