0% acharam este documento útil (0 voto)
46 visualizações23 páginas

Escalonamento de Processos em Sistemas Operacionais

O escalonamento de processos é essencial em sistemas operacionais, determinando a ordem de execução para garantir eficiência e justiça no uso dos recursos. Existem diferentes algoritmos de escalonamento, como preemptivos e não-preemptivos, que influenciam o desempenho do sistema. O objetivo do escalonamento varia conforme o tipo de sistema, visando melhorar a vazão, tempo de resposta e cumprimento de prazos.

Enviado por

Thiago Ribeiro
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
46 visualizações23 páginas

Escalonamento de Processos em Sistemas Operacionais

O escalonamento de processos é essencial em sistemas operacionais, determinando a ordem de execução para garantir eficiência e justiça no uso dos recursos. Existem diferentes algoritmos de escalonamento, como preemptivos e não-preemptivos, que influenciam o desempenho do sistema. O objetivo do escalonamento varia conforme o tipo de sistema, visando melhorar a vazão, tempo de resposta e cumprimento de prazos.

Enviado por

Thiago Ribeiro
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Escalonamento de

Processos em
Sistemas
Operacionais
O escalonamento de processos é um componente crucial dos
sistemas operacionais. Ele determina a ordem de execução dos
processos, garantindo eficiência e justiça no uso dos recursos
do sistema.

Jeferson Silva
Por que é Necessário
Escalonar?

1 Execução de Processos
Os processos precisam ser executados de forma
organizada e eficiente.

2 Função do Escalonador
O escalonador é um componente do sistema operacional
que determina a ordem de execução.

3 Algoritmo de Escalonamento
Baseia-se em um algoritmo para ordenar os processos na
fila de "pronto".
O que Provoca o Escalonamento?

Novo

Pronto Executando

Bloqueado
Terminado
O que Provoca o
Escalonamento?
Novo Processo
A criação de um novo processo pode iniciar o escalonamento.

Término de Processo
O fim de um processo libera recursos e pode acionar o
escalonador.

Bloqueio de Processo
Um processo bloqueado por falta de recursos pode provocar
escalonamento.
Tipos de Algoritmos de Escalonamento
Preemptivo Não-preemptivo

A execução de um processo dura um tempo pré- O processo fica em execução até terminar, liberar a
determinado. Quando o tempo acaba, o processo é CPU voluntariamente ou ser bloqueado por falta de
interrompido. recurso.
Fatores que Afetam o
Desempenho do
Escalonamento
1 Contexto do Processo
Cada processo possui informações que definem seu estado
precisamente.

2 Troca de Contexto
Mecanismo que permite interromper e retomar tarefas sem
corromper seu estado.

3 Separação do Escalonamento
O escalonamento é composto por política e mecanismo.
Ilustração da Troca de Contexto

1 Preempção
O processo em execução é interrompido.

2 Salvar Contexto
O estado atual do processo é salvo.

3 Verificar Próximo Processo


O escalonador determina qual processo será executado em
seguida.

4 Restaurar Contexto
O contexto do novo processo é carregado.
Ilustração da Troca de Contexto

preempção Restaura o
contexto de P3

Dispatcher Dispatcher
Processo 1 Escalonador Processo 3
(P1) (P3)
tempo

Salvar o contexto Verificar qual o próximo


de P1 processo a ser executado
Objetivo do Escalonamento
em Sistemas em Lote

Throughput
Melhorar a vazão de processos no sistema.

Turnaround
Reduzir o tempo entre submissão e finalização dos processos.

Ocupação da CPU
Manter a CPU ocupada para maximizar a eficiência.
Objetivo do Escalonamento
em Sistemas de Propósito
Geral
1 Tempo de Resposta
Melhorar o tempo médio de resposta para os usuários.

2 Expectativas dos Usuários


Atender às expectativas de desempenho dos usuários interativos.

3 Preempção
Utilizar algoritmos preemptivos para garantir responsividade.
Objetivo do Escalonamento
em Sistemas de Tempo Real
Requisitos Lógicos
Cumprir os requisitos lógicos dos processos em tempo real.

Requisitos Temporais
Atender aos prazos e restrições temporais dos processos.

Preempção
Utilizar algoritmos preemptivos para garantir o cumprimento dos
prazos.
Critérios Universais para Algoritmos de
Escalonamento

Justiça Equilíbrio Eficiência


Aplicação equitativa da política de Balanceamento entre as diferentes Maximização do uso dos recursos
escalonamento. partes do sistema. do sistema.
Escalonamento FCFS (FIFO) para Sistemas em
Lote
1 Primeiro a Chegar, Primeiro 2 Não-preemptivo 3 Simplicidade
a Ser Atendido
O processo executa até o fim Fácil de entender e programar,
O primeiro processo da fila de sem interrupções. mas pode ter problemas de
pronto é escolhido para eficiência.
executar.
Escalonamento FCFS (FIFO) para Sistemas em Lote

5 Processo Custo de Instante de


execução chegada
15
A 12 t=0
8 B 8 t=3
C 15 t=5
12 D 5 t = 10
Exemplo de FCFS
Processo Custo de Instante de
execução chegada

A 12 t=0

B 8 t=3

C 15 t=5

D 5 t = 10
Escalonamento SJF
(Shortest Job First) para
Sistemas em Lote
1 Menor Job Primeiro
O job de menor custo de execução é executado primeiro.

2 Não-preemptivo
O processo executa até o fim sem interrupções.

3 Eficiência
Pode melhorar o tempo médio de resposta, mas requer
conhecimento prévio dos tempos de execução.
Exemplo de SJF
Processo Custo de execução

A 12

B 8

C 15

D 5
Escalonamento Round-Robin para Sistemas
de Propósito Geral
1 Alternância Circular 2 Preemptivo 3 Justiça
Processos executam dentro O processo é interrompido Garante que todos os
de uma fatia de tempo ao final do quantum se não processos tenham chance
predefinida (quantum). terminar. de executar.
Desafios do Round-Robin
Tamanho do Quantum
Definir o tamanho ideal do quantum pode ser um desafio.

Overhead
Trocas frequentes de contexto podem gerar overhead
significativo.

Balanceamento
Equilibrar a responsividade com a eficiência geral do sistema.
Escalonamento por
Prioridade
1 Níveis de Prioridade
Processos têm diferentes prioridades de execução.

2 Preemptivo
Baseado nos ciclos da CPU ou quantum.

3 Atribuição de Prioridade
Pode ser estática ou dinâmica.
Implementação do Escalonamento
por Prioridade
Definição de Prioridades
Atribuir prioridades aos processos.

Criação de Filas
Implementar filas para cada nível de prioridade.

Seleção de Processos
Escolher processos da fila de maior prioridade primeiro.

Ajuste Dinâmico
Atualizar prioridades conforme necessário.
Escalonamento com Filas
Múltiplas
1 Múltiplas Filas
Processos são distribuídos em diferentes filas.

2 Quantum Variável
Cada fila pode ter um quantum diferente.

3 Promoção de Processos
Processos podem ser promovidos entre filas ao longo do
tempo.
Vantagens do Escalonamento
com Filas Múltiplas

Flexibilidade
Adaptável para diferentes tamanhos e tipos de processos.

Eficiência
Pode melhorar o desempenho geral do sistema.

Priorização
Permite priorizar certos tipos de processos conforme necessário.

Você também pode gostar