Sei sulla pagina 1di 35

Sistemas Operacionais

Prof.: Heyde Francielle hheyde@gmail.com

Transparncias tambm adaptadas pelo professor: Gustavo Wagner


Pearson Education Sistemas Operacionais Modernos 2 Edio 1

Captulo 2 Processos e Threads


2.1 Processos 2.2 Threads 2.3 Comunicao interprocesso 2.4 Problemas clssicos de IPC 2.5 Escalonamento
Sistemas Operacionais Modernos 2 Edio 2

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

Escalonamento

Surtos de uso da CPU alternam-se com perodos de espera por E/S


a) um processo orientado CPU b) um processo orientado E/S
Pearson Education Sistemas Operacionais Modernos 2 Edio 10

Comportamento do processo
Quanto mais rpidas as CPUs, mais os processos sero orientados E/S;

Pearson Education

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Introduo ao Escalonamento (2)

Objetivos do algoritmo de escalonamento


Pearson Education Sistemas Operacionais Modernos 2 Edio 19

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

Escalonamento em lote Primeiro a chegar, primeiro a ser servido FILA

Job mais curto primeiro

Um exemplo de escalonamento job mais curto primeiro (4a + 3b + 2c + d)/4

Pearson Education

Sistemas Operacionais Modernos 2 Edio

21

Job mais curto primeiro


Todos os jobs j devem estar prontos; Contra exemplo (quando nem todos os jobs esto disponveis):
5 processos: A(2), B(4), C(1), D(1), E(1) Tempos de chegada: 0, 0, 3, 3, 3 Usando Job mais curto primeiro, teramos: A, B, C, D, E = 4,6 Se executarmos na ordem B, C, D, E, A = 4,4
22

Pearson Education

Sistemas Operacionais Modernos 2 Edio

Prximo de menor tempo restante


Verso preemptiva do Job mais curto primeiro; Se um processo chegar, e seu tempo de execuo for menor do que o tempo restante do processo atual, ele ser escolhido;

Pearson Education

Sistemas Operacionais Modernos 2 Edio

23

Escalonamento em 3 nveis

Escalonamento em trs nveis


Pearson Education Sistemas Operacionais Modernos 2 Edio 24

Escalonamento em Sistemas Interativos Round Robin

Escalonamento por alternncia circular (roundrobin)


a) lista de processos executveis b) lista de processos executveis depois que B usou todo o seu quantum
Pearson Education Sistemas Operacionais Modernos 2 Edio 25

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

Escalonamento por prioridade

Um algoritmo de escalonamento com quatro classes de prioridade


Pearson Education Sistemas Operacionais Modernos 2 Edio 27

Escalonamento por prioridades


O escalonador pode levar em considerao quanto do quantum o processo utilizou; Por exemplo, se o quando for de 50ms, e o processo s usou 1ms, o escalonador deve aumentar a prioridade deste em relao a outro processo que usou todo o quantum; Frmula: 1/f, onde f a frao do quantum que o processo usou; Como evitar que um processo de alta prioridade rode indefinidamente?
28

Pearson Education

Sistemas Operacionais Modernos 2 Edio

Prximo processo mais curto


Em sistemas em lote, funciona bem; Mas como fazer isso em sistemas interativos? Ou seja, como saber quem o job mais curto nesse momento? Calcular com base em execues passadas, e fazer o clculo do tempo estimado; aT0 + (1-a)T1;
Pearson Education Sistemas Operacionais Modernos 2 Edio 29

Escalonamento por loteria


Cada processo munido de um bilhete; George Orwell: Todos os processos so iguais, mas alguns so mais iguais que os outros; Processos mais importantes podem receber mais bilhetes; Um novo processo que recebe bilhete tem a mesma chance que um antigo; Esse algoritmo altamente responsivo; Os processos cooperativos podem trocar bilhetes: ex.: Cliente-Servidor
Pearson Education Sistemas Operacionais Modernos 2 Edio 30

Escalonamento por frao justa


Se um usurio tiver 4 processos a executar, e outro tiver 1 nico processo para executar? Provavelmente o primeiro usurio usar 80% da CPU e o outro apenas 20%; Escalonamento por frao justa divide igualitariamente a CPU entre os usurios;
Pearson Education Sistemas Operacionais Modernos 2 Edio 31

Escalonamento em Sistemas de Tempo Real


Algoritmos de escalonamento de tempo real podem ser estticos ou dinmicos; Esttico: escalona-se antes do sistema ser executado; tem-se informao precisa antes da execuo; Dinmico: escalona-se durante a execuo do sistema;
Pearson Education Sistemas Operacionais Modernos 2 Edio 32

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

Sistemas Operacionais Modernos 2 Edio

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

Sistemas Operacionais Modernos 2 Edio

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

Potrebbero piacerti anche