Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Pearson Education
Escalonamento
Em computadores multiprogramados h vrios processos concorrendo pela CPU ao mesmo tempo; Se houver apenas uma CPU, dever ser escolhido um processo para executar primeiro; No SO, a parte que faz isso o escalonador; O algoritmo usado o algoritmo de escalonamento;
3
Pearson Education
Introduo
No incio, com sistemas em lote, sendo a entrada cartes gravados em fita magntica, o algoritmo era: execute o prximo job na fita; Um algoritmo de escalonamento inteligente e eficiente o que se busca;
Pearson Education
Introduo
Com o advento de computadores pessoais, a estria mudou em dois aspectos; Primeiro: normalmente em PCs existe apenas um processo ativo: editor de texto; Segundo: as cpus ficaram to rpidas que atualmente a lentido vem por parte do usurio;
Pearson Education Sistemas Operacionais Modernos 2 Edio 5
Introduo
Como conseqncia, em PCs simples, o escalonamento no to importante; J em servidores e estaes de trabalho de alto desempenho em rede, a situao muda; Por exemplo, qual deve executar primeiro:
Processo que atualiza a tela depois do usurio fechar uma janela; Processo que envia mensagens eletrnicas;
Pearson Education Sistemas Operacionais Modernos 2 Edio 6
Introduo
Alm de escolher qual processo executar, o escalonador tem que fazer bom uso da CPU; Alternar processos muito caro!
Passa-se do modo usurio para modo ncleo; Salva-se o estado atual do processo: contexto; Em alguns sistemas, mapa de memria deve ser salvo; Um novo processo precisa ser escolhido;
7
Pearson Education
Introduo
A MMU precisa carregar o mapa de bits do novo processo; O novo processo precisa ser iniciado; Alm disso, a memria cache precisa ser invalidada;
Pearson Education
Comportamento do processo
Processos tm surtos de computao e requisies de E/S; Interrupo de tempo
Evita que o processo rede por um tempo muito grande O escalonador posto para rodar e decide qual processo executar
Pearson Education
Escalonamento
Comportamento do processo
Quanto mais rpidas as CPUs, mais os processos sero orientados E/S;
Pearson Education
11
Quando escalonar
Primeiro, quando se cria um novo processo, necessrio tomar a deciso de execuo do pai ou filho; Segundo, no trmino de um processo necessrio escolher outro processo; Terceiro, quando um processo bloqueia para E/S, necessrio escolher outro processo para executar;
Pearson Education Sistemas Operacionais Modernos 2 Edio 12
Quando escalonar
Quarto, quando ocorre uma interrupo de E/S; O processo que estava esperando a E/S vai para pronto e pode ser escalonado; Decises do escalonador pode ocorrer a cada interrupo do relgio;
Pearson Education
13
Quando escalonar
Preemptivo: tempo fixado de execuo; No-preemptivo: o processo s para de executar se houver E/S ou finalizou; Se no houver relgio disponvel, o escalonamento no-preemptivo ser a nica opo;
Pearson Education
14
Categorias de algoritmos
Diferentes reas de aplicaes tm objetivos diferentes; Por isso tempos diferentes categorias de algoritmos;
Lote: no h usurio impaciente esperando resultado; Os algoritmos so no-preemptivos ou preemptivos com tempo longo;
Pearson Education
15
Categorias de algoritmos
Interativo: algoritmos preemptivos; Se um programa falhar, s escolher outro; Tempo real: estranhamente, preempo desnecessria; cada processo faz seu trabalho e abandona a CPU;
Pearson Education
16
Requisitos
Justia
Garantir que todos os processos tero chances iguais de uso do processador
Eficincia
Manter o processador ocupado 100% do tempo
Pearson Education
17
Requisitos
Tempo de resposta
Minimizar o tempo de resposta para os usurios interativos
Turnaround
Minimizar o tempo que os usurios batch devem esperar pela sada
Throughput
Maximizar o nmero de jobs processados na unidade de tempo
Pearson Education Sistemas Operacionais Modernos 2 Edio 18
Um job executa at concluir sua computao ou que seja bloqueado; Jobs que cheguem para executar esperaro numa fila; Caso de desvantagem:
um processo orientado cpu precisa executar por 1s, a cada vez; Outros processos orientados E/S precisam realizar 1000 leituras de disco;
Pearson Education Sistemas Operacionais Modernos 2 Edio 20
Pearson Education
21
Pearson Education
Pearson Education
23
Escalonamento em 3 nveis
Round robin
Mudana de contexto caro; Se mudar de contexto durasse 1ms, e quantum fosse 4ms, 20% do tempo de CPU seria mudando contexto! Se o quantum for muito grande, ex.: 100ms, e tiver 10 usurios teclando <enter>, o ltimo talvez tenha que esperar 1s! Um quantum razovel est entre 20 a 50ms;
Pearson Education Sistemas Operacionais Modernos 2 Edio 26
Pearson Education
Poltica X Mecanismo
Fizemos suposies at agora que os processos pertencem a usurios diferentes; Mas existem vrios processos que so do mesmo usurio, como pai e filhos; Algoritmos so parametrizveis, mas os parmetros podem ser passados pelos processos dos usurios; Mecanismo: algoritmo de escalonamento; est normalmente no ncleo; Poltica: pode ser implementada por algum processo de usurio;
Pearson Education
33
Escalonamento de Threads
Em nvel do usurio, quem escalona o sistema supervisor; Ele quem entende qual o melhor momento e qual thread deve escalonar; O escalonador do SO s escalona o processo das threads, no as prprias threads; O algoritmo usado pelo sistema supervisor pode ser qualquer um dos vistos anteriormente;
34
Pearson Education
Escalonamento de Threads
J em modo ncleo, o escalonador escalona cada thread especificamente; Escalonar uma thread de ncleo bem mais lento que escalonar uma thread de usurio: precisa invalidar memria, cache, etc; Mudar de uma thread A.1 para A.2 mais rpido que mudar de A.1 para B.1; Isso pode ser levado em considerao na hora de escalonar;
Pearson Education Sistemas Operacionais Modernos 2 Edio 35