Você está na página 1de 29

Aluna: Elizabeth Cristina Alves Leite

RA: 1460282213008
Disciplina Sistemas Operacionais Centralizados e Distribuídos
:
Professor: Gildarcio Gonçalves

LABORATÓRIO 02 – SOSIM
(1) Escalonamento Circular

a) Práticas de simulação

b) Análise Prática
Criar dois processos com a mesma prioridade
Observou-se que após os 2 minutos, o tempo de UC do processo I/O-bound
ficou mais lento do que o do que o CPU-bound.
Finalização dos dois processos
Aumentando a fatia de tempo:
Após 2 minutos:

Pode-se observar que o processo CPU -bound, ficou cerca de 7 segundos em


execução e apenas 1 segundo pronto. Enquanto o I/O bound ficou a maior
parte do tempo como pronto. Pode-se entender então que processos com
maior demanda de CPU receberão mais tempo de processador em
comparação com processos que requerem menos recursos.

c) Foi possível observar que se a fatia de tempo for curta, os processos de


alta prioridade, podem ser favorecidos, enquanto se for longa, os
processos de baixa prioridade podem receber mais tempo de CPU. No
primeiro caso, pode-se observar que com a fatia de tempo curta, os
processos foram comutados com frequência, o que pode causar
sobrecarga de contexto (overhead de troca de contexto) e afetar o
desempenho geral.
(2) Escalonamento Circular com Prioridades Estáticas I

a) Práticas de simulação
b) Análise prática
Criação de um processo CPU-bound com prioridade 3 e um outro I/O-bound
com prioridade 4: janela Gerência de Processos / Criar – janela Criação de
Processos / Criar:
Na janela Gerência de Processos, observe o tempo de processador de cada
processo durante dois minutos e as mudanças de estado. Após esse período
anote o tempo de processador de cada processo:
Observou-se que nessa configuração o processo CPU-bound ocorreu mais
“vagarosamente” até chegar nos 2 minutos. E o tempo que ele ficou em
execução e pronto foi mais balanceado. A diferença entre os dois (CPU-bound
e IO-bound) ainda ocorre, mas é menor do que se comparada a análise
anterior (1).

Verifique a preempção por prioridade que ocorre toda vez que o processo I/O-
bound de maior prioridade passa para o estado de Pronto:

O processo I/O-bound com alta prioridade está bloqueado aguardando uma


operação de E/S ser concluída. Portanto, ele não está usando a CPU.
Enquanto isso, um processo de menor prioridade está em execução e usando
a CPU.
Quando a operação de E/S do processo I/O-bound de alta prioridade é
concluída, ele passa do estado de "Bloqueado" para o estado de "Pronto".
Nesse momento, o escalonador do sistema verifica que um processo de alta
prioridade está pronto para ser executado e, de acordo com a política de
escalonamento por prioridade, ele preempção o processo de menor prioridade
que está em execução e coloca o processo I/O-bound de alta prioridade em
execução.

Analise o balanceamento no uso do processador pelos dois processos


comparativamente a Atividade 1:
Quando um processo I/O-bound com prioridade mais alta passa para o estado
de "Pronto", ele terá prioridade para usar a CPU, mesmo que outro processo
de menor prioridade esteja em execução. Isso significa que o processo de alta
prioridade terá uma chance maior de usar a CPU quando estiver disponível. O
processo CPU-bound, por sua vez, com menor prioridade, pode sofrer
preempção pelo processo I/O-bound de maior prioridade quando ele passa
para o estado de "Pronto". Isso pode resultar em uma interrupção em sua
execução e na possível interrupção de suas tarefas em andamento.
O balanceamento no uso do processador nesse cenário é direcionado pela
política de escalonamento por prioridade. O processo I/O-bound com alta
prioridade terá uma vantagem em relação ao processo CPU-bound com menor
prioridade quando estiverem em competição pela CPU.

c) Quais devem ser os critérios para determinar as prioridades dos


processos?

Os critérios para determinar as prioridades dos processos são a importância da


tarefa, tempo de execução (por exemplo, processos que já gastaram muito
tempo de CPU podem ter sua prioridade reduzida para dar a outros processos
a oportunidade de serem executados), necessidades dos recursos, políticas de
escalonamento e prioridades dinâmicas.

Caso, nesse escalonamento, todos os processos sejam criados com a


mesma prioridade, qual o benefício dessa política sobre o Escalonamento
Circular?

A principal vantagem da política de escalonamento circular com prioridades


iguais é a justiça na distribuição do tempo de CPU, o que é especialmente útil
em ambientes onde todos os processos são igualmente importantes. No
entanto, essa abordagem pode não ser a mais eficiente em termos de
otimização de recursos e pode não atender bem a sistemas onde há processos
críticos que precisam ser executados rapidamente.
(3) Escalonamento Circular com Prioridades Estática II

a) Práticas de simulação
b) Análise prática
A prioridade é definida como 4 no CPU-bound, o coloca em uma prioridade
mais alta em relação ao processo I/O-bound.
O problema do “starvation”, portanto, ocorre quando um processo com menor
prioridade fica bloqueado ou não consegue acesso adequado à CPU devido a
processos com prioridade mais alta receberem preferência constante no
escalonamento. Isso pode levar a situações em que processos com prioridades
mais baixas ficam esperando por um longo período sem conseguir acesso à
CPU, mesmo que haja capacidade disponível.

c) Questões teóricas para responder com a ajuda do simulador

Por que o problema do starvation pode ocorrer?

Conforme citado acima ele ocorre quando um processo com menor


prioridade fica bloqueado ou não consegue acesso adequado à CPU
devido a processos com prioridade mais alta receberem preferência
constante no escalonamento.

Cite duas ações que o administrador do sistema pode realizar quando é


identificada a situação de starvation em um processo?

O administrador do sistema operacional pode implementar políticas que


permitam uma redistribuição justa dos recursos de CPU. Isso pode ser
feito através da promoção temporária da prioridade do processo I/O-
bound ou do uso de políticas de escalonamento que considerem não
apenas a prioridade estática, mas também o comportamento recente do
processo.

(4) Escalonamento Circular com Prioridades Dinâmica

a) Práticas de simulação
b) Análise prática
Identifique os motivos das prioridades dinâmicas dso processos variarem ao
longo do tempo.
Em geral, processos que realizam mais E/S podem ganhar prioridade para
obter mais tempo de CPU; assim como processos que esperam muito tempo
para evitar que fiquem excluídos da CPU; processos que usam menos a CPU
podem ficar com menor prioridade para equilibrar o uso da CPU.
As diferenças nos valores de incremento na janela de log, ocorrem justamente
por conta do falado anteriormente (comportamento de entrada e saída, tempo
de espera, utilização da CPU).

Observe na janela de estatísticas o percentual de utilização da UCP.


A utilização da UCP caiu de 50% para 10% em alguns minutos, porque o
processo CPU-bound é aquele que consome intensivamente a CPU. Quando
você suspende esse processo, ele deixa de competir ativamente pela CPU,
liberando-a para outros processos
c) Questão teórica para responder com a ajuda do simulador

Qual o critério utilizado pelo sistema operacional para determinar


diferentes valores de incremento à prioridade base de um processo
quando há uma mudança do estado de espera para pronto?

Pode variar de acordo com a política de escalonamento específica


implementada pelo sistema operacional. No entanto, em geral, a maioria
das políticas de escalonamento utiliza o conceito de envelhecimento ou
prioridade dinâmica para fazer esse ajuste. Muitas políticas de
escalonamento incorporam o conceito de envelhecimento, que envolve
aumentar a prioridade de um processo que tem esperado na fila por um
longo tempo sem receber tempo de CPU. O objetivo é evitar que os
processos fiquem bloqueados indefinidamente e permitir que processos que
esperaram muito tempo tenham a oportunidade de serem escalonados.
Cada política de escalonamento pode ter regras específicas para calcular
os valores de incremento à prioridade. Por exemplo, no escalonamento por
feedback (feedback scheduling), o incremento à prioridade pode ser
baseado no tempo de espera e no histórico de execução do processo. Em
sistemas Unix-like, como o Linux, o Completely Fair Scheduler (CFS) usa a
quantidade de tempo de espera como um fator para calcular a prioridade
dinâmica.
Portanto, o sistema operacional considera o tempo de espera como um dos
principais fatores para determinar os diferentes valores de incremento à
prioridade ao mudar o estado de espera para o estado de pronto. Isso ajuda
a promover a justiça no escalonamento e a evitar que os processos fiquem
bloqueados indefinidamente.

Você também pode gostar