View
21.168
Download
3
Category
Preview:
Citation preview
SISTEMAS OPERACIONAIS ESCALONAMENTO DE PROCESSOS
Jardel Ribeiro
Raymundo Saraiva
Talles Nascimento
PROCESSOS
Um processo pode ser definido como "um programa em execução". O conceito de processo é bastante abstrato, mas é essencial no estudo de sistemas operacionais
ESCALONADORES
Qualquer sistema operacional que implemente multiprogramação deve dividir o tempo do processador entre os processos do sistema.
ESCALONAMENTO FIRST-IN-FIRST-OUT (FIFO)
O processo que chegar primeiro, é o primeiro a ser selecionado para a execução.
Necessário apenas uma fila de processos prontos, esperando pelo uso do processador.
O processo utiliza a CPU sem ser interrompido.
Problemas: Impossibilidade de prever quando um processo
entrará em execução. Possibilidade de processos CPU-bound de menor
importância prejudicarem processos de I/O-bound mais prioritários.
ESCALONAMENTO SHORTEST-JOB-FIRST (SJF)
Associa cada processo (JOB) ao seu tempo de execução.
Quando o processador está livre, o processamento que ocupar menos tempo da CPU para terminar seu processamento é selecionado.
Favorece os programas menores. Reduz o tempo médio de espera em relação
ao FIFO. Problemas:
Determinar, exatamente, quanto tempo de CPU o processo vai utilizar para terminar seu processamento.
ESCALONAMENTO PREEMPTIVO O Sistema pode interromper um processo em
execução para que outro processo utilize o processador.
Permite que o sistema dê atenção imediata a processos mais prioritários, como no caso de sistemas em tempo real.
Proporciona melhores tempos de resposta em sistemas de tempo compartilhado
Compartilhamento do processador de uma maneira mais uniforme entre os processos.
A troca de um processo pelo outro na CPU (mudança de contexto), causado pela preempção, gera um overhead no sistema.
Critérios de preempção devem ser definidos para o overhead não se tornar crítico.
ESCALONAMENTO CIRCULAR (ROUND ROBIN) OU PREEMPÇÃO POR TEMPO
Implementado por um algoritmo semelhante ao FIFO, porém, quando um processo passa para o estado de execução, existe um tempo-limite (quantum ou time-slice) para sua utilização de forma contínua. Se o processo não terminou a execução, volta ao estado de pronto.
Em geral, o valor do quantum de tempo está entre 100 e 300 ms.
Nenhum processo poderá monopolizar a CPU. Algoritmo bastante adequado para sistemas
multiusuários de tempo compartilhado. No caso, o processo CPU-bound tem mais chances
de ser executado do que o processo IO-bound
ESCALONAMENTO POR PRIORIDADES OU PREEMPÇÃO POR PRIORIDADE
Processos possuem diferentes prioridades de execução.
Processos de maior prioridade são escalonados preferencialmente.
Algoritmo Implementado mediante um clock, que interrompe o processador em determinados intervalos de tempo, reavaliando prioridades e, possivelmente, escalonando outro processo.
Todos os sistemas de tempo compartilhado implementam algum tipo de prioridade, sendo esta uma característica do contexto de software.
ESCALONAMENTO POR PRIORIDADES OU PREEMPÇÃO POR PRIORIDADE
Prioridade estática: Não é modificada durante a existência do processo. De simples de implementação. Pode ocasionar tempos de resposta elevados.
Prioridade dinâmica: Pode ser modificada durante a execução do processo. O processo recebe um acréscimo à sua prioridade ao sair
do estado de espera. Processos I/O-Bound terão mais chances de serem
escalonados, compensando o tempo que passam no estado de espera.
Os processos CPU-Bound podem ser executados enquanto os processos I/O -Bound esperam por algum evento.
O tempo de resposta compensa o maior overhead e complexidade algorítmica.
DESCRIÇÃO DOS SIMULADORES
SOsim um simulador com recursos visuais que tem
como principal objetivo emular os principais subsistemas de um sistema operacional multiprogramável, como gerência de processos, escalonamento e memória virtual por paginação.
DESCRIÇÃO DOS SIMULADORES
SOsimAs principais funcionalidades e características do simulador são: Implementar o conceito de processo
Criar processos CPU-bound e IO-bound; Visualizar o Process Control Block (PCB) dos
processos; Suspender/resumir e eliminar processos; Visualizar as mudanças de estado dos processos;
Permitir visualizar estruturas internas do sistema Process Control Block (PCB); Process Page Table; Page Table Entry;
DESCRIÇÃO DOS SIMULADORES
SOsimBugs do SOsim: Quando é aumentado o ciclo de clock a
visualização das transições dos processos não correspondem com o esperado.
É necessário reiniciar o simulador sempre que for fazer uma simulação diferente, pois a visualização gráfica continua sendo a da simulação anterior.
DESCRIÇÃO DOS SIMULADORES
SimulaRSO Aplicação web utilizado como ferramenta de
apoio para a disciplina de sistemas operacionais. O foco principal é simular graficamente e de forma intuitiva como funcionam os principais algoritmos de escalonadores de processos: (FCFS, SJF, SRT, Round Robin) que são utilizados no gerenciamento de processos concorrentes presentes.
DESCRIÇÃO DOS SIMULADORES SimulaRSO As principais funcionalidades e características do simulador são:
Simular os principais algoritmos de escalonamento de processos com até 20 processos.
Simular os principais algoritmos de escalonamento de disco com até 30 requisições de (I/O) em disco.
Simular os principais algoritmos de substituição de página de memória virtual com até 30 palavras de bytes na escrita.
Realizar simulação comparativa para analisar o comportamento de dois algoritmos distintos.
Exibição comportamental dos algoritmos através de gráficos intuitivos. Projeto internacionalizado com suporte aos idiomas inglês e português.
Desvantagens:
Constatamos que o simulador coloca todos os tempos de chegada iguais a zero, mesmo que sejam introduzidos outros valores, o que acarreta em uma discrepância nos cálculos dos tempos de espera.
No algoritmo SJF o simulador não analisa os processos corretamente quando estes tem tempo de ordem de chegada diferente.
COMPARAÇÃO ENTRE OS ALGORITMOS
Utilização Produtividade Tempo Médio de Espera Tempo Retorno Médio
100
0.12
14.67
23
100
0.12
14
22.33
Comparação entre os algoritmosFIFO SJF
Referente à questão 6. Não sei se é pra deixar. Diga aí.
CENÁRIO 1Processo Instante de Chegada Tempo de Execução Prioridade
P1 0 3 1
P2 0 5 1
P3 0 6 1
P4 0 2 1
Algoritmos FCFS SJF Prioridades RR
Utilização da CPU(%) 100 100 100 100
Produtividade da CPU(%) 25 25 25 25
Tempo Médio de Espera 6,25 4,25 6,25 7,75
Tempo Médio de Retorno 10,25 8,25 10,25 11,75
Utilização Produtividade Tempo Médio de Espera
Tempo Retorno Médio
0
20
40
60
80
100
120
Cenário 1
FCFSSJFPrioridadesRR
CENÁRIO 2Processo Instante de Chegada Tempo de Execução Prioridade
P1 5 6 2
P2 3 3 2
P3 1 2 2
P4 2 1 2
P5 7 10 2
P6 8 12 2
Algoritmos FCFS SJF Prioridades RR
Utilização da CPU(%) 97,14 97,14 97,14 97,14
Produtividade da CPU(%) 17,14 17,14 17,14 17,14
Tempo Médio de Espera 4,17 4,17 7,17 12
Tempo Médio de Retorno 9,83 9,83 17,67 12,83
Produtividade Utilização Tempo Médio de Espera
Tempo Retorno Médio
0
20
40
60
80
100
120
Cenário 2
FIFO
SJF
RR
Prioridade
CENÁRIO 3Processo Instante de Chegada Tempo de Execução Prioridade
P10 3 3
P20 5 2
P30 6 1
P40 2 4
Algoritmos FCFS SJF Prioridades RR RR( Q 3)
Utilização da CPU(%)
100 100 100 100 100
Produtividade da CPU(%)
25 25 25 25 25
Tempo Médio de Espera
6,25 4,25 7,75 7,75 6,75
Tempo Médio de Retorno
10,25 8,25 11,75 11,75 10,75
Utilização Produtividade Tempo Médio de Espera
Tempo Retorno Médio
0
20
40
60
80
100
120
Cenário 3
FCFSSJFPrioridadesRRRR (Quantum 3)
CENÁRIO 4Processo Instante de Chegada Tempo de Execução Prioridade
P1
0 3 3P2
2 5 2P3
3 6 1P4
1 2 4
Algoritmos FCFS SJF Prioridades RR
Utilização da CPU(%) 100 100 100 100
Produtividade da CPU(%) 25 25 25 25
Tempo Médio de Espera 3 3 7,5 4,5
Tempo Médio de Retorno 7 7 11,5 8,5
Utilização Produtividade Tempo Médio de Espera
Tempo Retorno Médio
0
20
40
60
80
100
120
Cenário 4
FCFSSJFPrioridadesRR
“Tenkiú”!
Recommended