Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Distribuídos
Sistemas Operacionais Gerência de Processador
Sistemas Operacionais
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Escalonamento de Processos
Escalonamento Linux.
Capítulo 5: Escalonamento de CPU
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
SSC SISTEMAS OPERACIONAIS I
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
Escalonamento Aula 7.
Arquitetura de Sistemas Operacionais
Curso Técnico em Manutenção e Suporte em Informática
Threads.
Sistemas Operacionais Adriana Vettorazzo
Conceitos de sistema operacional com Java – 7 a edição, 15/11/2006 Silberschatz, Galvin e Gagne ©2007 Capítulo 5: Escalonamento de CPU.
Sistemas Operacionais
Sistemas Operacionais Aula 4
Unidade 1-1 Processos e Threads
SISTEMAS OPERACIONAIS
Gerência de Recursos Processador
Linguagem de Programação IV
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin
GESTÃO DE SISTEMAS OPERACIONAIS II
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Escalonamento com prioridades
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Sistemas Operacionais
Escalonamento de Processos e Threads
Sistemas Operacionais
Sistemas Operacionais
Escalonamento de Processos
Infra-Estrutura de Software
Gerenciamento de Memória
SISTEMAS OPERACIONAIS
Exclusão Mútua com Espera Ociosa (1)
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Bruno Affonso Diego Chiquito Ruan Berté.   O código de Escalonamento no Windows é implementado no Kernel.  A rotina que desempenha as tarefas do Escalonador.
Aula – Sistemas Operacionais
Gerenciamento de Memória Sistemas Recentes
Sistemas Operacionais
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Administração de Sistemas Operacionais 1 -Windows
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Sistemas Operacionais
Sistemas Operacionais
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Faculdade Pernambucana - FAPE Sistemas Operacionais Prof. Flávio Gonçalves da Rocha.
Comunicação Interprocesso Condições de Disputa (corrida)
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner FATEC-PB.
Transcrição da apresentação:

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Processos e Threads Capítulo Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Escalonamento Em computadores multiprogramados há vários 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;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Introdução No início, com sistemas em lote, sendo a entrada cartões gravados em fita magnética, o algoritmo era: execute o próximo job na fita; Um algoritmo de escalonamento inteligente e eficiente é o que se busca;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Introdução Com o advento de computadores pessoais, a estória mudou em dois aspectos; Primeiro: –normalmente em PCs existe apenas um processo ativo: editor de texto, por exemplo; Segundo: –as cpus ficaram tão rápidas que atualmente a lentidão vem por parte do usuário;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Introdução Como conseqüência, em PCs simples, o escalonamento não é tão “importante”; Já em servidores e estações de trabalho de alto desempenho em rede, a situação muda; Por exemplo, qual deve executar primeiro: –Processo que atualiza a tela depois do usuário fechar uma janela; –Processo que envia mensagens eletrônicas;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Introdução Além de escolher qual processo executar, o escalonador tem que fazer bom uso da CPU; Alternar processos é muito caro! –Passa-se do modo usuário para modo núcleo; –Salva-se o estado atual do processo: contexto; –Em alguns sistemas, mapa de memória deve ser salvo; –Um novo processo precisa ser escolhido;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 Introdução –A MMU precisa carregar o mapa de bits do novo processo; –O novo processo precisa ser iniciado; –Além disso, a memória cache precisa ser invalidada;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 Comportamento do processo O sucesso de escalonamento depende da seguinte propriedade observada nos processos: –Processos têm surtos de computação(Uso de CPU) e/ou requisições de E/S;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Escalonamento Surtos de uso da CPU alternam-se com períodos de espera por E/S a)um processo orientado à CPU b)um processo orientado à E/S

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 Comportamento do processo Quanto mais rápidas as CPUs, mais os processos serão orientados à E/S;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Quando escalonar? Primeiro, quando se cria um novo processo, é necessário tomar a decisão de execução do pai ou filho; Segundo, no término de um processo é necessário escolher outro processo; Terceiro, quando um processo bloqueia para E/S, é necessário escolher outro processo para executar;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Quando escalonar Quarto, quando ocorre uma interrupção de E/S; O processo que estava esperando a E/S vai para pronto e pode ser escalonado; Decisões do escalonador pode ocorrer a cada interrupção do relógio;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Quando escalonar? Preemptivo: –tempo fixado de execução; Não-preemptivo: –o processo só para de executar se houver E/S ou finalizou; Se não houver relógio disponível, o escalonamento não-preemptivo será a única opção;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Categorias de algoritmos Diferentes áreas de aplicações têm objetivos diferentes; Por isso temos diferentes categorias de algoritmos; –Lote: não há usuário impaciente esperando resultado; Os algoritmos são não-preemptivos ou preemptivos com tempo longo;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 Categorias de algoritmos –Interativo: algoritmos preemptivos; Se um programa falhar, é só escolher outro; –Tempo real: curiosamente, preempção é desnecessária; cada processo faz seu trabalho e abandona a CPU;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Categorias de algoritmos Exemplos: –Preemptivos: linux, windows xp; –Não-preemptivos: DOS, Windows 3.1;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18 Objetivos dos algoritmos de escalonamento

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Escalonamento em lote – Primeiro a chegar, primeiro a ser servido – Fila Um job executa até concluir sua computação ou que seja bloqueado; Jobs que chegam para executar esperarão 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ª Edição 20 Job mais curto primeiro Um exemplo de escalonamento job mais curto primeiro (4a + 3b + 2c + d)/4

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21 Job mais curto primeiro Todos os jobs já devem estar prontos; Contra exemplo (quando nem todos os jobs estão disponíveis): –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, teríamos: A, B, C, D, E = 4,6 –Se executarmos na ordem B, C, D, E, A = 4,4

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22 Próximo de menor tempo restante Versão preemptiva do “Job mais curto primeiro”; Se um processo chegar, e seu tempo de execução for menor do que o tempo restante do processo atual, ele será escolhido;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23 Escalonamento em 3 níveis Escalonamento em três níveis

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24 Escalonamento em Sistemas Interativos - Round Robin Escalonamento por alternância circular (round- robin) a)lista de processos executáveis b)lista de processos executáveis depois que B usou todo o seu quantum

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25 Round robin Mudança de contexto é caro; Se mudar de contexto dura 1ms, e quantum for 4ms, 20% do tempo de CPU é mudando contexto!  Se o quantum for muito grande, ex.: 100ms, e tiver 10 usuários teclando, o último talvez tenha que esperar 1s! Um quantum razoável está entre 20 a 50ms;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 26 Um algoritmo de escalonamento com quatro classes de prioridade Escalonamento por prioridade

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 27 Escalonamento por prioridades O escalonador pode levar em consideração 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 relação a outro processo que usou todo o quantum; Fórmula: 1/f, onde f é a fração do quantum que o processo usou;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 28 Próximo 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 execuções passadas, e fazer o cálculo do tempo estimado; –aT0 + (1-a)T1;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 29 Escalonamento por loteria Cada processo é munido de um bilhete; George Orwell: –“Todos os processos são iguais, mas alguns são mais iguais que os outros”; –Versão Stanley Kubrick: “Todos os humanos à partir de agora são, verdes, não existe mais branco e preto. Mas há verdes claros e verdes escuros!”  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ª Edição 30 Escalonamento por fração justa Se um usuário tiver 4 processos a executar, e outro tiver 1 único processo para executar? Provavelmente o primeiro usuário usará 80% da CPU e o outro apenas 20%; Escalonamento por fração justa divide igualitariamente a CPU entre os usuários;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 31 Escalonamento em Sistemas de Tempo Real Algoritmos de escalonamento de tempo real podem ser estáticos ou dinâmicos; Estático: –escalona-se antes do sistema ser executado; tem-se informação precisa antes da execução; Dinâmico: –escalona-se durante a execução do sistema;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 32 Política X Mecanismo Fizemos suposições até agora que os processos pertencem a usuários diferentes; Mas existem vários processos que são do mesmo usuário, como pai e filhos; Algoritmos são parametrizáveis, mas os parâmetros podem ser passados pelos processos dos usuários; Mecanismo: –algoritmo de escalonamento; está normalmente no núcleo; Política: –pode ser implementada por algum processo de usuário;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 33 Escalonamento de Threads Em nível do usuário, 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, não as próprias threads; O algoritmo usado pelo sistema supervisor pode ser qualquer um dos vistos anteriormente;

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 34 Escalonamento de Threads Já em modo núcleo, o escalonador escalona cada thread especificamente; Escalonar uma thread de núcleo é bem mais lento que escalonar uma thread de usuário: precisa invalidar memória, cache, etc; Mudar de uma thread A.1 para A.2 é mais rápido que mudar de A.1 para B.1; Isso pode ser levado em consideração na hora de escalonar;