Guia de Escalonamento de Processos em Sistemas Operacionais
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).
| Processo | Tempo de Chegada | Consumo da CPU |
|---|---|---|
| Processo A | 7 | 5 CPU |
| Processo B | 3 | 10 CPU |
| Processo C | 1 | 7 CPU |
OBS: Considere os delays dos tempos de chegada de cada processo.
Resposta:
FCFS
| PC = 7 | PB = 10 | PA = 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 = 7 | PB = 10 | PA = 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 = 7 | PA = 5 | PB = 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)
| PC | PC | PB | PC | PB | PC | PB | PA | PC | PB | PA | PC | PB | PA | PC | PB | PA | PB | PA | PB | PB | PB |
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.