Guia de Escalonamento de Processos em Sistemas Operacionais

Computação8,92 KB

Como pode ser composta a execução dos processos? Explique.

R: A execução de um processo é composta por:

  • Picos de CPU (CPU bursts): períodos de execução intensiva de instruções.
  • Picos de E/S (I/O bursts): períodos de aguardo por operações de entrada e saída.

Explique a diferença entre Escalonadores de:

Curto Prazo:

É o mais importante. Determina qual processo apto deverá utilizar o processador. É executado sempre que ocorrem eventos importantes, tais como:

  • Interrupção de relógio;
  • Interrupção de I/O;
  • Chamadas de sistemas (System Calls);
  • Sinais (interrupção de software).

Médio Prazo:

Está associado à gerência de memória e participa do mecanismo de swapping. Oferece suporte adicional à multiprogramação, controlando o grau de multiprogramação efetiva (diferença entre processos aptos e aptos-suspensos).

Longo Prazo:

Executado quando um novo processo é criado. Determina quando um processo novo passa a ser considerado no sistema através do controle de admissão. Controla o grau de multiprogramação: quanto maior for o número de processos ativos, menor será a porcentagem de uso do processador por processo.

O que são escalonadores preemptivos e não-preemptivos? Dê exemplos de cada caso.

Não-Preemptivos: O processo, depois de escolhido pelo escalonador, tem permissão para executar até ser bloqueado (E/S) ou até voluntariamente liberar a UCP (exit).

Preemptivo: O tempo de execução do processo é limitado. As limitações podem ser de acordo com a sua prioridade, quantum de tempo ou picos de CPU. Ao ocorrer a condição estabelecida pelo escalonador, ocorre a troca de contexto; caso o processo não tenha terminado, ele será pausado e sairá da fila de execução.

Qual a função do despachante (Dispatcher)?

É o módulo que passa o controle da CPU ao processo escolhido pelo escalonador. Ele realiza:

  • Troca de contexto;
  • Transição para o modo usuário;
  • Desvio da execução para o local apropriado do processo escolhido para iniciá-lo ou reiniciá-lo.

Quais são os principais critérios de escalonamento?

  • Utilização de CPU: pode variar de 0 a 100%, indicando se a CPU está ociosa ou carregada.
  • Throughput: número de processos que são executados em uma unidade de tempo (segundo, hora, etc.).
  • Tempo de turnaround: tempo total que um processo leva desde sua submissão até a conclusão (inclui E/S, esperas, etc.).
  • Tempo de espera: tempo total que um processo gasta esperando na fila com o estado pronto.
  • Tempo de resposta: intervalo entre uma solicitação ao processo e a sua primeira resposta.

Quais os objetivos de um escalonador?

  • Maximizar: Utilização da CPU e Throughput.
  • Minimizar: Tempo de turnaround, tempo de espera e tempo de resposta.

Deseja-se maximizar ou minimizar não somente um valor específico, mas, em geral, a média dos valores dos processos.

Explique os escalonadores a seguir. Cite também suas vantagens e desvantagens:

As respostas estão nos slides da aula, começando pelo slide 14.

  • FCFS: First-Come, First-Served.
  • SJF: Shortest Job First.
  • SJF com preempção: Shortest Remaining Time First.
  • Prioridades: Escalonamento baseado em níveis de importância.
  • RR: Round Robin (Alternância Circular).
  • Filas Multiníveis e prioridades fixas: Divisão de processos em diferentes filas.
  • Filas Multiníveis com Retroalimentação: Processos podem mover-se entre as filas.

Utilize os Algoritmos de Escalonamento:

  • FCFS
  • SJF (não preemptivo)
  • Prioridades (A=1, B=2, C=3)
  • RR (quantum = 1)

Calcular os tempos de espera e retorno (Turnaround).

ProcessoTempo de ChegadaConsumo da CPU
Processo A75 CPU
Processo B310 CPU
Processo C17 CPU

OBS: Considere os delays dos tempos de chegada de cada processo.

Resposta:

FCFS

PC = 7PB = 10PA = 5

Tempo de espera médio: (Pc 0 + Pb 4 + Pa 10) / 3 = 14/3 = 4,6 ms

Turnaround médio: (Pc 7 + Pb 14 + Pa 15) / 3 = 12 ms

SJF (não-preemptivo)

PC = 7PB = 10PA = 5

Tempo de espera médio: (Pc 0 + Pb 4 + Pa 10) / 3 = 14/3 = 4,6 ms

Turnaround médio: (Pc 7 + Pb 14 + Pa 15) / 3 = 12 ms

Prioridade

PC = 7PA = 5PB = 10

Tempo de espera médio: (Pc 0 + Pb 9 + Pa 0) / 3 = 9/3 = 3 ms

Turnaround médio: (Pc 7 + Pb 19 + Pa 5) / 3 = 10,3 ms

RR (Round Robin)

PCPCPBPCPBPCPBPAPCPBPAPCPBPAPCPBPAPBPAPBPBPB

Tempo de espera médio: (Pc 8 + Pb 12 + Pa 14) / 3 = 32/3 = 10,6 ms

Turnaround médio: (Pc 15 + Pb 20 + Pa 13) / 3 = 12,6 ms


Como pode ser composta a execução dos processos? Explique.

R: Execução de processo é composta de:

  • Picos de CPU (CPU bursts): execução intensiva de instruções.
    • Picos de E/S (I/O bursts): aguardo por E/S.

Explique a diferença entre Escalonadores de:

Curto Prazo:

Mais importante. Determina qual processo apto deverá utilizar o processador. Executado sempre que ocorre eventos importantes: interrupção de relógio, interrupção de I/O, chamadas de sistemas (System Calls) e sinais (interrupção de software).

Médio Prazo:

Associado à gerência de memória. Participa do mecanismo de swapping. Suporte adicional à multiprogramação e controle do grau de multiprogramação efetiva (diferença entre aptos e aptos-suspensos).

Longo Prazo:

Executado quando um novo processo é criado. Determina quando um processo novo passa a ser considerado no sistema através do controle de admissão. Controla o grau de multiprogramação: quanto maior o número de processos ativos, menor a porcentagem de uso do processador por processo.

O que são escalonadores preemptivos e não-preemptivos? Dê exemplos de cada caso.

Não-Preemptivos: O processo, depois de escolhido pelo escalonador, tem permissão para executar até ser bloqueado (E/S) ou voluntariamente liberar a UCP (exit).

Preemptivo: O tempo de execução do processo é limitado por prioridade, quantum de tempo ou picos de CPU. Ao ocorrer a condição estabelecida pelo escalonador, ocorre a troca de contexto; se o processo não terminou, será pausado e sairá da fila de execução.

Qual a função do despachante?

Módulo que passa o controle da CPU ao processo escolhido pelo escalonador. Realiza a troca de contexto, coloca a execução em modo usuário e desvia a execução para o local apropriado do processo escolhido.

Quais são os principais critérios de escalonamento?

  • Utilização de CPU: de 0 a 100%, indicando ociosidade ou carga.
  • Throughput: processos executados por unidade de tempo.
  • Tempo de turnaround: tempo da submissão até a conclusão.
  • Tempo de espera: tempo total na fila de prontos.
  • Tempo de resposta: intervalo entre solicitação e primeira resposta.

Quais os objetivos de um escalonador?

  • Maximizar: Utilização da CPU e Throughput.
  • Minimizar: Tempo de turnaround, tempo de espera e tempo de resposta.

Deseja-se otimizar, em geral, a média dos valores dos processos.

Baixar

PDF Word HTML