Sistemas operacionais escalonamento de processos

24
SISTEMAS OPERACIONAIS ESCALONAMENTO DE PROCESSOS Jardel Ribeiro Raymundo Saraiva Talles Nascimento

Transcript of Sistemas operacionais escalonamento de processos

Page 1: Sistemas operacionais  escalonamento de processos

SISTEMAS OPERACIONAIS ESCALONAMENTO DE PROCESSOS

Jardel Ribeiro

Raymundo Saraiva

Talles Nascimento

Page 2: Sistemas operacionais  escalonamento de processos

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

Page 3: Sistemas operacionais  escalonamento de processos

ESCALONADORES 

Qualquer sistema operacional que implemente multiprogramação deve dividir o tempo do processador entre os processos do sistema.

Page 4: Sistemas operacionais  escalonamento de processos

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.

Page 5: Sistemas operacionais  escalonamento de processos

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.

Page 6: Sistemas operacionais  escalonamento de processos

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.

Page 7: Sistemas operacionais  escalonamento de processos

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

Page 8: Sistemas operacionais  escalonamento de processos

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.

Page 9: Sistemas operacionais  escalonamento de processos

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.

Page 10: Sistemas operacionais  escalonamento de processos

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.

Page 11: Sistemas operacionais  escalonamento de processos

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;

Page 12: Sistemas operacionais  escalonamento de processos

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.

Page 13: Sistemas operacionais  escalonamento de processos

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.

Page 14: Sistemas operacionais  escalonamento de processos

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.

Page 15: Sistemas operacionais  escalonamento de processos

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í.

Page 16: Sistemas operacionais  escalonamento de processos

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

Page 17: Sistemas operacionais  escalonamento de processos

Utilização Produtividade Tempo Médio de Espera

Tempo Retorno Médio

0

20

40

60

80

100

120

Cenário 1

FCFSSJFPrioridadesRR

Page 18: Sistemas operacionais  escalonamento de processos

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

Page 19: Sistemas operacionais  escalonamento de processos

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

Page 20: Sistemas operacionais  escalonamento de processos

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

Page 21: Sistemas operacionais  escalonamento de processos

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)

Page 22: Sistemas operacionais  escalonamento de processos

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

Page 23: Sistemas operacionais  escalonamento de processos

Utilização Produtividade Tempo Médio de Espera

Tempo Retorno Médio

0

20

40

60

80

100

120

Cenário 4

FCFSSJFPrioridadesRR

Page 24: Sistemas operacionais  escalonamento de processos

“Tenkiú”!