Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução.........................................................................................................................................................1
Objetivo Geral...................................................................................................................................................2
Objetivos Específicos........................................................................................................................................2
1. Conceitos Básicos.....................................................................................................................................3
1.1 Sistemas Operacionais.................................................................................................................................3
1.2 Escalonamento da CPU...............................................................................................................................3
2. Escalonamento de Processos.........................................................................................................................3
3. Tipos de Escalonamento................................................................................................................................4
3.1 Escalonamento de Curto Prazo....................................................................................................................4
3.2 Escalonamento de Médio Prazo..................................................................................................................4
3.3 Escalonamento de Longo Prazo..................................................................................................................5
4. Algoritmos de Escalonamento.......................................................................................................................5
4.1 Algoritmo "FIFO (First-Come, First-Served)"............................................................................................5
4.1.1.Funcionamento do Algoritmo "FIFO"......................................................................................................6
4.1.2. Vantagens do Algoritmo "FIFO".............................................................................................................6
4.1.3. Desvantagens do Algoritmo "FIFO":......................................................................................................7
4.1.4 Exemplo de Implementação.....................................................................................................................7
4.2 Algoritmo de Escalonamento por Prioridade...............................................................................................7
4.2.1 Funcionamento do Algoritmo de Escalonamento por Prioridade.............................................................7
4.2.2. Vantagens do Algoritmo de Escalonamento por Prioridade....................................................................8
4.2.3 Desvantagens do Algoritmo de Escalonamento por Prioridade................................................................9
4.2.4 Exemplo de Implementação.....................................................................................................................9
4.3 Algoritmo JFS (Shortest Job First)..............................................................................................................9
4.3.1 Funcionamento do Algoritmo JFS..........................................................................................................10
4.3.2 Vantagens do Algoritmo JFS..................................................................................................................11
4.3.3 Desvantagens do Algoritmo JFS............................................................................................................11
4.3.4 Exemplo de Implementação...................................................................................................................11
4.4.1 Algoritmo de Escalonamento Round Robin (RR)..................................................................................12
4.4.2 Funcionamento do Algoritmo Round Robin...........................................................................................12
4.4.3 Vantagens do Algoritmo Round Robin..................................................................................................13
4.4.4. Desvantagens do Algoritmo Round Robin............................................................................................13
4.4.5. Exemplo de Implementação..................................................................................................................13
5. Conclusao....................................................................................................................................................14
6. Referencias Bibliograficas..........................................................................................................................15
Introdução
Em um mundo cada vez mais dependente de computadores e sistemas de processamento de
informações, os sistemas operacionais desempenham um papel fundamental na gestão dos
recursos computacionais. Um dos aspectos mais cruciais de qualquer sistema operacional é o
escalonamento de processos. O escalonamento é a tarefa de determinar a ordem na qual os
processos são executados na Unidade Central de Processamento (CPU), garantindo a
eficiência e a justiça na alocação dos recursos.
1
Objetivo Geral
Investigar e analisar os algoritmos de escalonamento de processos em sistemas
operacionais.
Objetivos Específicos
Descrever os princípios fundamentais do escalonamento de processos, incluindo sua
importância na otimização do uso da CPU e dos recursos do sistema.
Explorar os três principais tipos de escalonamento: de longo prazo, de curto prazo e
de médio prazo, destacando suas funções e impacto.
Analisar em detalhes o algoritmo de escalonamento Round Robin, incluindo sua
estrutura, funcionamento e a influência do tamanho do quantum no desempenho.
Examinar o algoritmo de escalonamento JFS (Shortest Job First) e como ele minimiza
o tempo médio de espera dos processos, além de suas limitações.
Comparar os algoritmos de escalonamento FIFO (First-Come, First-Served) e
Prioridade, destacando suas características, vantagens e desvantagens.
2
1. Conceitos Básicos
Antes de explorarmos os algoritmos de escalonamento de processos em sistemas
operacionais, é essencial estabelecer uma base sólida com os conceitos fundamentais
relacionados ao funcionamento dos sistemas operacionais e ao escalonamento de processos.
Esses conceitos são cruciais para uma compreensão abrangente dos tópicos subsequentes.
2. Escalonamento de Processos
O escalonamento de processos é uma função crítica dos sistemas operacionais que gerência a
alocação da Unidade Central de Processamento (CPU) a processos em execução. Esse
processo envolve a seleção do próximo processo a ser executado, garantindo a otimização da
utilização da CPU, a justiça no acesso aos recursos e a minimização do tempo de espera dos
processos na fila de prontos.
3
3. Tipos de Escalonamento
Existem três tipos principais de escalonamento em um sistema operacional:
Função: Este tipo de escalonamento visa otimizar o uso da memória principal, movendo
processos para a memória secundária quando não estão em execução e trazendo-os de volta
para a memória principal quando precisam ser executados.
4
3.3 Escalonamento de Longo Prazo
Definição: O escalonamento de longo prazo, também conhecido como escalonamento de
admissão, envolve a decisão de quais processos da fila de trabalhos ou fila de admissão serão
carregados na memória principal para execução.
4. Algoritmos de Escalonamento
Há vários algoritmos de escalonamento em sistemas operacionais, cada um com suas
estratégias e critérios. Alguns dos principais algoritmos de escalonamento incluem:
5
4.1.1.Funcionamento do Algoritmo "FIFO"
O funcionamento do algoritmo "FIFO" é direto e segue uma abordagem estritamente baseada
na ordem de chegada dos processos
Inserção na Fila de Prontos: quando um processo é criado e está pronto para execução, ele é
inserido na fila de prontos. Neste ponto, o processo é colocado no final da fila,
independentemente de qualquer critério, como prioridade, tempo de execução estimado ou
características específicas.
Seleção do Processo: O escalonador de processos escolhe o processo que está na frente da fila
de prontos para ser executado na CPU. Isso significa que o primeiro processo a chegar à fila
será o primeiro a ser escolhido para execução.
6
4.1.3. Desvantagens do Algoritmo "FIFO":
Tempos de Espera Prolongados: Uma das principais desvantagens do algoritmo "FIFO" é que
ele pode resultar em tempos de espera prolongados, especialmente para processos de alta
prioridade. Isso ocorre porque os processos que chegam primeiro têm que aguardar até que
todos os processos à sua frente na fila sejam executados.
Atribuição de Prioridade: cada processo recebe uma prioridade que pode ser definida com
base em vários critérios, como importância, tempo de execução, ou outro fator relevante.
Geralmente, a prioridade mais alta é associada a processos mais críticos ou urgentes.
7
Seleção do Processo: O escalonador de curto prazo (escalador da CPU) escolhe o processo
de maior prioridade na fila de prontos para execução. Isso significa que o processo mais
importante é atendido primeiro.
8
Eficiência em Tarefas de Alta Prioridade: em cenários em que a maioria dos processos é de
baixa prioridade e tarefas críticas surgem esporadicamente, esse algoritmo garante que as
tarefas críticas sejam tratadas prontamente.
9
4.3.1 Funcionamento do Algoritmo JFS
O funcionamento do algoritmo JFS é relativamente simples, mas eficaz:
Inserção na Fila de Prontos: Quando um processo é criado ou fica pronto para execução, ele é
inserido na fila de prontos. Os processos na fila de prontos são classificados de acordo com
seu tempo de execução restante, com os processos mais curtos na parte frontal da fila.
10
4.3.2 Vantagens do Algoritmo JFS
Minimização do Tempo de Espera: O algoritmo JFS é altamente eficiente em termos de
minimização do tempo de espera médio dos processos. Ele dá prioridade aos processos mais
curtos, o que permite que processos rápidos sejam atendidos rapidamente.
Uso Eficiente da CPU: Como processos curtos são executados primeiro, o algoritmo JFS
otimiza a utilização da CPU, permitindo que mais processos sejam atendidos em um
determinado período de tempo.
Injustiça Potencial: Processos de longa duração podem sofrer inanição, já que processos mais
curtos têm prioridade. Isso pode ser uma desvantagem em cenários em que todos os
processos precisam ser tratados de maneira justa.
11
4.4.1 Algoritmo de Escalonamento Round Robin (RR)
O algoritmo de escalonamento Round Robin (RR) é um dos algoritmos mais amplamente
utilizados para escalonar processos em sistemas operacionais. É especialmente adequado para
sistemas de tempo compartilhado, nos quais vários processos competem pela CPU de forma
justa e eficiente. O RR é um algoritmo preemptivo, o que significa que um processo pode ser
interrompido e colocado de volta na fila de prontos antes de sua conclusão, com base em um
pequeno intervalo de tempo chamado de "quantum."
Inserção na Fila de Prontos: Quando um processo é criado ou fica pronto para execução, ele é
inserido na fila de prontos. A ordem dos processos na fila de prontos não depende de
prioridade, mas sim da ordem de chegada.
Execução do Processo: O processo selecionado é executado na CPU até que ele termine sua
execução ou até que o quantum seja esgotado. Se o processo terminar antes do quantum ser
totalmente usado, ele é removido da fila de prontos.
Retorno à Fila de Prontos: Se o processo não terminar dentro do quantum, ele é colocado de
volta na fila de prontos. O próximo processo na fila é então selecionado para execução.
Ciclo de Execução: O ciclo de seleção, execução e retorno à fila de prontos continua até que
todos os processos sejam concluídos.
12
Figura5: Funcionamento do Algoritmo Round Robin
Responsividade: Os processos são atendidos de forma responsiva, pois cada processo recebe
uma fatia de tempo na CPU antes de ser colocado de volta na fila.
O algoritmo JFS (Shortest Job First) prioriza processos de menor duração, minimizando o
tempo de espera médio. No entanto, requer previsão precisa do tempo de execução.
O algoritmo de escalonamento por prioridade permite que processos sejam atendidos com
base em níveis de importância. Isso é fundamental para tarefas críticas, mas requer
gerenciamento cuidadoso de prioridades.
14
6. Referencias Bibliograficas
Johnson, R. A. (2019). Uma análise dos algoritmos de escalonamento de processos.
Revista de Sistemas Operacionais, 23(2), 45-60.
Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating System Concepts (10th
ed.). Wiley.
Smith, J. D. (2010). Introdução aos Sistemas Operacionais. Editora ABC.
Tanenbaum, A. S., & Woodhull, A. S. (2015). Sistemas Operacionais Modernos (4a ed.).
Pearson.
15