26
Prof. Marcelo Z. do Nascimento [email protected] BC1518-Sistemas Operacionais Escalonamento Escalonamento de CPU de CPU 2° Quadrimestre uadrimestre de 2010 de 2010 (aula aula 05) 05) Roteiro Conceito Despachante Critérios de escalonamento Algoritmos de escalonamento Escalonamento em múltiplos processadores; Exemplos em Sistemas Operacionais; Leituras sugeridas; Exercícios.

Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

  • Upload
    voquynh

  • View
    241

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

Prof. Marcelo Z. do Nascimento

[email protected]

BC1518-Sistemas Operacionais

EscalonamentoEscalonamento de CPUde CPU22°°°°°°°° QQuadrimestreuadrimestre de 2010de 2010

((aulaaula 05)05)

Roteiro�Conceito

�Despachante

�Critérios de escalonamento

�Algoritmos de escalonamento

�Escalonamento em múltiplos processadores;

�Exemplos em Sistemas Operacionais;

�Leituras sugeridas;

�Exercícios.

Page 2: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

3

Conceito

Quando a CPU precisa decidir se executa um

processo que atualiza a tela depois que um usuário

fecha uma janela, ou executa um processo que envia

mensagem eletrônica em um sistema multiprogramação.

A escolha faz uma enorme diferença para a percepção do usuário

4

Conceito

• Os processos alternam entre 2

estados: CPU e E/S;

• Começa com um burst (surto) de

CPU e burst de E/S;• Programa I/O-bound => muitos

burst de CPU curtos;

• Programa CPU-bound-> alguns burst

de CPU longos.

• Importante na seleção de um

algoritmo de escalonamento.

Ciclo de burts

Page 3: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

5

Conceito

Bloqueado

Pronto Em execução

tempo

seleçãoEspera por I/O ouevento

Conclusão de I/O ouevento

6

Conceito

Situações nas quais escalonamento é necessário:

�� Um novo Um novo processoprocesso éé criadocriado e e passapassa parapara estadoestado de pronto;de pronto;

�� Um Um processoprocesso terminouterminou suasua execuexecuççãoão e um e um processoprocesso pronto pronto devedeve ser ser executadoexecutado;;

�� ProcessoProcesso éé bloqueadobloqueado ((dependênciadependência de E/S)=> de E/S)=> outrooutro devedeve ser ser executadoexecutado;;

�� InterrupInterrupççãoão de E/S, o de E/S, o escalonadorescalonador devedeve decidirdecidir porpor: :

••ExecutarExecutar o o processoprocesso queque estavaestava esperandoesperando esseesse eventoevento; ;

••ContinuarContinuar executandoexecutando o o processoprocesso queque jjáá estavaestava sendosendoexecutadoexecutado..

Page 4: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

7

Escalonamento

� S.O. escolhe qual processo deve ser executado na CPU

=> Escalonador de CPU;

� Escalonador deve se preocupar com a eficiência da

CPU, pois o chaveamento de processos é complexo e

custoso:

� Afeta desempenho do sistema e satisfação do usuário.

� Algoritmos que realizam o chaveamento de processos

prontos para executar de acordo com regras bem

estabelecidas.

8

O esquema de escalonamento:

� Não preemptivo (cooperativo): Não permite

interrupções externa à tarefa até que seja liberado pelo

seu término ou pela troca para o estado esperando.� Exemplo: Windows 3.x.

� Preemptivo: Interrompe a execução de uma tarefa e

transfere a CPU para outro; � Necessário mecanismo para coordenar acesso aos dados;

� Afeta o projeto de Kernel do SO => mudanças de filas E/S;

� Chamada de sistema deve ser concluída antes da troca;

� Exemplo: Windows XP, Mac OS X.

Escalonamento

Page 5: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

9

� Componente envolvido na função do escalonador de

CPU;

� Módulo que dá o controle da CPU ao processo;

� Função:� Trocar o contexto;

� Trocar para o modo usuário;

� Desviar para local apropriado no programa de usuário.

� Chamado durante a troca de processo;

� Tempo gasto para interromper um processo e iniciar a

execução de outro definido por latência de despacho.

Despachante

10

Critérios para escalonamento

� Utilização de CPU:

� manter a CPU tão ocupada quanto possível Maximizar;

� Vazão (throughput):

� número de processos que completam sua execução por

unidade de tempo. Maximizar;

� Tempo de Proporcionalidade:

� quantidade tempo para executar um processo particular.

Minimizar;

Page 6: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

11

� Tempo de Espera:

� quantidade de tempo que um processo espera na fila dos prontos. Minimizar;

� Tempo de Resposta:

� quantidade de tempo que leva de quanto um pedido foi feitoaté que a primeira resposta seja produzida, não a saída (paraambientes de tempo - compartilhado) Minimizar;

Critérios para escalonamento

12

� Algoritmo de escalonamento FIFO (first in, first out));

� Processo que solicita a CPU primeiro, a recebe primeiro.

� Quando processo entra na fila de pronto, seu PCB é

ligado ao final da fila.

� Quando CPU é liberada, ela é alocada ao processo no

início da fila.

� Tempo de espera normalmente longo;

� Efeito comboio: todos os outros processo aguardam

quando há um grande processo em execução na CPU.

Escalonamento de CPU

Page 7: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

13

Interrupção qualquer(E/S)

CPU

0Fila de entrada

23 1

Primeiro a chegar, primeiro a ser atendido (PCPA)

14

CPU não controla o tempo dos processos!(não-preemptivo)

CPU

1Fila de entrada

30 2

Primeiro a chegar, primeiro a ser atendido (PCPA)

Page 8: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

15

Exemplo: prog A (15 milissegundos),

B (2 milissegundos)

C (1 milisegundo).

A linha de tempo (diagrama de Gantt) é

0 15 18

A CB

17

0 1 18

AC B

3

Tempo médio = 16,67

Tempo médio = 7,3

Tempo de retorno

Tempo pode variarsubstancialmente se os tempos de retorno da CPU variarem

muito

Tempo de chegada

0

Primeiro a chegar, primeiro a ser atendido (PCPA)

16

Vantagem:

� fácil de implementar.

Desvantagem:

� tempo de retorno imprevisíveis.

� problemático em sistemas de tempo compartilhado.

Primeiro a chegar, primeiro a ser atendido (PCPA)

Page 9: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

17

Programa menor primeiro (MP)

� Algoritmo Shortest job first (SJF);

� Associa a cada processo o tamanho do próximo burst de

CPU do processo;

� A CPU atribui o processo que tem o próximo retorno de

CPU menor (burst);

� Em caso de empate (tempo de retorno) dos processo, o

algoritmo FIFO é utilizado;

� Não preemptivo e trabalha de acordo com a extensão

de seus ciclos de CPU.

18

Exemplo: Programas A B C D

ciclo de CPU 5 2 6 4

0 2 17

B D

11

Tempo médio = 9,0A C

6

Se fosse utilizado o FIFO, o tempo médio seria de 10,5

A linha de tempo (diagrama de Gantt) é

Tempo de chegada

0

Programa menor primeiro (MP)

Page 10: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

19

A B C D

8 44 4

Em ordem:retorno A = 8retorno B = 12retorno C = 16retorno D = 20Média K 56/4 = 14

B C D A

4 44 8

Menor job primeiro:retorno B = 4retorno C = 8retorno D = 12retorno A = 20Média K 44/4 = 11

Programa menor primeiro (MP)

20

Vantagem:

� minimiza tempo médio de espera;

Desvantagem:

� adiantamento indefinido de alguns programas, ou

seja, não há como saber a extensão do próximo burst

de CPU.

Programa menor primeiro (MP)

Page 11: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

21

Menor tempo restante (MTR)

� Preemptivo do MP;

� Processos com menor tempo de execução sãoexecutados primeiro;

� Se um processo novo chega e seu tempo de execução émenor do que do processo corrente na CPU, a CPU suspende o processo corrente e executa o processoque acabou de chegar;

� Requer conhecimento prévio do tempo de CPU (sistema em lote).

22

Exemplo: Tempo de chegada 0 1 2 3 (distante em 1 ciclo de CPU)

Programa A B C D

Ciclo de CPU 6 3 1 4

0 1

DA B C B A

2 3 5 9 14

Programa A B C D

Tempo retorno 14 4 1 6Tempo médio = 6,25

A linha de tempo (diagrama de Gantt) é

MP teria um tempo médio de 7,75

Menor tempo restante (MTR)

Page 12: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

23

Vantagem:

� garante execução rápida de programas importantes.

Desvantagem:

� sobrecarga com mudanças de contexto;

Menor tempo restante (MTR)

24

Escalonamento de CPU

� Algoritmos para Sistemas Interativos:

� Alternância circular (Round-Robin);

� Prioridades;

� Filas múltiplas;

� Próximo processo mais curto (Shortest Process Next);

� Garantido;

� Loteria;

� Fração justa (Fair-Share).

Page 13: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

25

� Algoritmo alternância circular (AC)

� Escalonanento Round-Robin;

� Tempo compartilhado;

� Preemptivo;

� Cada processo recebe um tempo de execução chamado quantum; ao final desse tempo, o processo é bloqueado e outro processo é colocado em execução;

� Escalonador mantém uma lista de processos prontos.

Escalonamento de CPU

26

� Trabalha primeiro a chegar, primeiro a ser atendido.

Ex.: Tempo de chegada 0 1 2 3

Programa A B C D

Ciclo de CPU 8 4 9 5

A B C

8 25

Programa A B C D

Tempo retorno 20 7 24 22Tempo médio = 18,25

12

16

D A C

20

24

D C

26

0 4

quantum

Algoritmo alternância circular (AC)

Page 14: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

27

Vantagem:

� proporciona tempos de resposta razoáveis para usuários interativo.

Desvantagem:

� requer seleção de quantum de tempo ideal;

� se for muito pequeno, ocorrem muitas trocas diminuindo, assim, a eficiência da CPU; se for muito longo o tempo de resposta é comprometido.

Algoritmo alternância circular (AC)

28

� Associa-se a cada processo um nível de prioridade, de acordo com os interesses do sistema.

Exemplo: Gerenciador da CPU determina a prioridade para programas que:

�Necessidade de memória;

�Tempo total de CPU;

�Número e tipo de dispositivos periféricos.

Algoritmo com Prioridade

Escalonamento de CPU

Page 15: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

29

� Cada processo possui uma prioridade => os processos

prontos com maior prioridade são executados

primeiro;

� Prioridades podem ser dinâmica ou estática;

� Estática -> um processo é criado com uma

determinada prioridade e esta prioridade é mantida

durante todo o tempo de vida;

�Dinâmica -> prioridade do processo é ajustada de

acordo com o estado de execução do processo e/ou

sistema.

Algoritmo com Prioridade

30

� Escalonamento de alta e baixa prioridade:� Indicadas por algum intervalo de número;

� Não existe um acordo geral sobre se 0 é de maior ou menor prioridade;

� Exemplo: � ajustar a prioridade em função da fração quantum que foi

realmente utilizado pelo processo;

� Classes de processos com mesma prioridade;

� Agendados para executar em ordem FIFO;

� Preemptivo ou não preemptivo;

Algoritmo com Prioridade

Page 16: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

31

1

2

3

4mais alta

mais baixa

prioridade

FILAS

processos prontos(Round-Robin)

• Agrupar processos em classes de prioridades

• Dentro de cada classe usar o escalonamento circular

Algoritmo com Prioridade

32

Vantagem:

� garante execução rápida de programas importantes.

Desvantagem:

� Adiantamento indefinido de alguns programas;

� Um processo de baixa prioridade não pode executar.

� Solução: técnica do envelhecimento

� busca aumentar gradualmente a prioridade do processo

que estão no sistema por um longo tempo.

Algoritmo com Prioridade

Page 17: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

33

� Filas múltiplas (multinível):

� Divide a fila de prontos em várias filas separadas;

� CTSS (Compatible Time Sharing System);

� Cada processo é atribuído a uma fila:

� Exemplo: prioridades, tipo de processo;

� Cada fila de prioridade possui quantum diferente;

� Cada fila tem seu próprio algoritmo de escalonamento (ex.: FIFO, MP);

� Escalonamento entre as filas:

� Exemplo: Primeiro plano e segundo plano.

� Preemptivo.

Escalonamento de CPU

34

Filas multinível

Page 18: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

35

Fila multinível com feedback

• Filas múltiplas com realimentação• Permite que um processo se mova entre as filas;• Separar de acordo com burst de CPU;

• Se utilizar muito tempo da CPU é movido para uma fila de

menor prioridade;

• Processos de menor prioridade são executados por um quantum processos

• Se necessário dois quantum na próxima classe e quatro quantum e assim por diante.

Este algoritmo diminui o número de comutações da CPU entre os processos ativos

36

Fila multinível com feedback

• Um processo entra na fila

F0 a qual emprega o FIFO. • Quando entra em execução

recebe 8 milisegundos.

• Se não finalizar em 8

milisegundos e movido para

a fila F1. • Em F1 é recebe 16

milisegundos para FIFO;

• Se ainda não concluir e

movida para próxima fila.

Page 19: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

37

� Algoritmo próximo processo mais curto� Mesma idéia do Shortest Job First dos sistemas em lote;

� Problema: Processos Interativos não se conhece o tempo necessário para execução;

� Como empregar esse algoritmo: ESTIMATIVA de TEMPO.

Escalonamento de CPU

38

� Algoritmo garantido:� Garantias são dadas aos processos dos usuários:

� n usuários -> 1/n do tempo de CPU para cada usuários;

� Algoritmo por loteria:� Cada processo recebe tickets que lhe dão direito de execução;

� Algoritmo por fração justa:� O dono do processo é levado em conta;� Se um usuário A possui mais processos que um usuário B, o usuário A terá prioridade no uso da CPU;

Escalonamento de CPU

Page 20: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

39

� Sistema homogêneo – termos de funcionamento;

� Técnicas de multiprocessamento:

� Assimétrica: Escalonamento, processamento de E/S

tratadas pelo servidor mestre. Os demais equipamentos

executam somente código do usuário;

� Simétrico (SMP):cada processador é auto-escalonado. Os

processos podem estar numa fila de pronto ou cada CPU tem

sua fila de prontos.

� Exemplo: Windows XP, Linux, Mac OS X.

Escalonamento em múltiplos processadores

40

Afinidade:

� Auto custo de invalidação e preenchimento dos caches

pela troca de processos em uma CPU;

� Maioria dos sistemas SMP tenta evitar a migração de

processo de uma CPU para outra –> afinidade de

processador

� Podemos ter:

� Afinidade flexível: tenta manter o processo em execução no

mesmo processador, mas não há garantia.

� Afinidade rígido: especifica o processador e não deve migrar

para outras CPUs.

Escalonamento em múltiplos processadores

Page 21: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

41

Balanceamento de Carga:

� O Balanceamento busca manter a carga de trabalho distribuída

uniformente entre todas as CPUs num sistema SMP

� Necessário em sistemas em que cada CPU tem sua própria fila

privada de processos elegíveis para execução;

� Duas técnicas são aplicadas:

� Migração Push: uma tarefa específica verifica periodicamente a carga

de cada CPU e eventualmente distribui ela movendo (pushing) a tarefa;

� Migração Pull: CPU ociosa puxa uma tarefa esperando de um

processador ocupado

� Alguns sistemas implementam ambas - exemplo: Linux.

� O balanceamento se opõe aos benefícios da afinidade do processador

Escalonamento em múltiplos processadores

42

Escalonamento de CPU

� Tempo é um fator crítico;

� Produzir saídas corretas em determinado momento

� Exemplos de sistemas críticos:

� Aviões;

� Hospitais;

� Usinas Nucleares;

� Bancos;

� Multimídia;

� Importante: obter respostas em atraso e tão ruim quanto não obter respostas;

Page 22: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

43

Sistemas em Tempo Real

� Tipos de STR:

� Hard Real Time: atrasos não são tolerados;� Aviões, usinas nucleares, hospitais;� Ex. responder as altas temperaturas no núcleo de uma usina nuclear;

� Soft Real Time: atrasos são tolerados;� Bancos; Multimídia;� Ex. coletar dados de controle de tráfego aéreo a cada segundo;

44

Sistemas em Tempo Real

� Tipos de STR:

� Eventos causam a execução de processos:� Síncronos: ocorrem em intervalos regulares de tempo;

� Assíncronos: ocorrem em intervalores irregulares de tempo;

� Algoritmos podem ser:

� estáticos (tomada da decisão antes de iniciar) ou

� dinâmicos (não apresentam essas restrições).

Page 23: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

� Escalonador preemptivo baseado em prioridade;� A thread de prioridade mais alta sempre será executada

primeira

� Prioridade pode mudar – decrementa após o tempo quantum de execução;

� Há 32 níveis de prioridade, sendo separada em filas

� Classe de Real-time (fixo): níveis 16 a 31

� Outras classes (variável): níveis 1 a 15.

Windows XP - Escalonador

� Baseado em prioridade com dois intervalos:

� Tempo Real: 0 a 99

� Nice: 100 a 140 (de -20 a 19)

� Tarefa de mais alta prioridade tem maior quantum de CPU diferente do Win XP e Solaris

Linux - Escalonador

Page 24: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

� Execução: ciclo de bursts de CPU e E/S

� Escalonador seleciona um processo na fila de

pronto;

� Despachante executa a comutação

� Algoritmos de escalonamento

� FIFO, MP, MTR, AC, Prioridade, Fila multiníveis

� Escalonamento em multiprocessador

� Afinidade versus balanciamento

Aula 05 - Sumário

Leituras Sugeridas

� Silberschatz, A., Galvin, P. B. Gagne, G. Sistemas Operacionais com Java. 7º , edição. Editora, Campus, 2008 .

� Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg. Fundamentos de sistemas operacionais. 6 ed. Rio de Janeiro: LTC, 2009.

Page 25: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

Acesse o link abaixo:

http://hostel.ufabc.edu.br/~marcelo.nascimento/

Obrigado!!!

Nota de Aula

50

Exercícios1 - Considere que cinco processos sejam criados no instante de tempo 0 (P1 , P2, P3 , P4 e P5) e possuam as características descritas natabela a seguir:

Desenhe um diagrama ilustrando o escalonamento dos processos e seus respectivos tempos de retorno, segundo as políticasespecificadas a seguir. O tempo de troca de contexto deve ser desconsiderado.

a) FIFO b) MPc) MTR

Page 26: Escalonamento de CPU - hostel.ufabc.edu.brhostel.ufabc.edu.br/~marcelo.nascimento/BC1518/aulas/bc1518_ufabc... · Escalonamento de CPU 2 ... Escalonador mantém uma lista de processos

51

Exercícios2- Considere o seguinte conjunto de processos, com o ciclo de CPU expresso em milessegundos:Processo Ciclo PrioridadeP1 10 3P2 1 1P3 2 3P4 1 4P5 5 2

Os processos são considerados como tendo chegado na ordem P1, P2 , P3, P4, P5, todos no instante 0.

a- Desenhe quatro diagramas de Gantt que ilustrem a execução desses processos usando o escalonamento PCPA, MP, por prioridade não preemptiva (um número de prioridade mais baixo) e AC (alternância circular - quantum = 1).b - Qual é o tempo de retorno de cada processo para cada um dos algoritmos de escalonamento do item 1.c - Qual dos escalonamento do item 1 resulta no tempo de retorno médio mínimo (em relação a todos os processos).d- Defina a diferença entre escalonamento preemptivo e não-preemptivo?

52

� 3 - Considere um sistema operacional com escalonamento por prioridades onde a avaliação do escalonamento é realizada em um intervalo mínimo de 5ms. Neste sistema, os processos A e B competem por uma única CPU. A tabela a seguir fornece os estados dos processos A e B ao longo do tempo, medido em intervalos de 5ms (E=execução, P=pronto e W=espera). O processo A tem menor prioridade que o processo B.

a) Em que tempos A sofre preempção?b) Em que tempos B sofre preempção?

Exercícios