Alessandro Nakamuta Bruno Guazzelli Batista

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Stefan Neusatz Guilhen Prof. Dr. Francisco Carlos da Rocha Reverbel
Escalonamento de Processos Uniprocessador
Infra-estrutura de Software - Aula de Revisão -
Sistemas Operacionais Gerência de Processador
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
BIBLIOGRAFIA PREPAROS DENTÁRIOS FUNCIONAIS Tetsuo Saito
Escalonamento de Processos
Arquitetura de Sistemas Operacionais
Processos e Threads Processos.
Processos.
Gerência do Processador
Gerência do Processador
Sistemas Operacionais
Escalonamento Linux.
Arquitetura de Sistemas Operacionais
Capítulo 5: Escalonamento de CPU
Aluno: Paulo Sérgio Franco Eustáquio
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
SSC SISTEMAS OPERACIONAIS I Aulas 5 – 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
Avaliação de Desempenho de Sistemas Operacionais
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Avaliação de Desempenho
Avaliação de Desempenho
Alessandro Nakamuta Bruno Guazzelli Batista
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
Avaliação de Desempenho dos Escalonadores de Processos Disponibilizados no Linux Alessandro Nakamuta Bruno Guazzelli Batista Paulo Sérgio Franco Eustáquio.
Sistemas Operacionais
Escalonamento de Processos
Escalonamento Aula 7.
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Arquitetura de Sistemas Operacionais
Curso Técnico em Manutenção e Suporte em Informática
Claudio de Oliveira – Gerência do Processador 09/03/10 20:13 Claudio de Oliveira –
Threads.
Escalonamento de Processos no Linux
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
Gerência de Recursos Processador
Gerência do processador
ÍNDICES DE CARGA E DE DESEMPENHO SSC-642 SISTEMAS COMPUTACIONAIS DISTRIBUÍDOS.
Sistemas Operacionais Profª Adriana Vettorazzo
Escalonamento de Processos
Tornar mais eficiente o aproveitamento dos recursos do computador
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Escalonamento com prioridades
Prof. Alexandre Monteiro Recife
Sistemas Operacionais
Escalonamento de Processos e Threads
GERÊNCIA DE PROCESSOS Disciplina: Sistemas Operacionais II.
Sistemas Operacionais
Sistemas Operacionais
Escalonamento de Processos
SISTEMAS OPERACIONAIS
Bruno Affonso Diego Chiquito Ruan Berté.   O código de Escalonamento no Windows é implementado no Kernel.  A rotina que desempenha as tarefas do Escalonador.
Gerenciamento de Memória Sistemas Recentes
FACULDADE CAMBURY Sistemas Operacionais Profª Adriana Vettorazzo.
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Faculdade Pernambucana - FAPE Sistemas Operacionais Prof. Flávio Gonçalves da Rocha.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Avaliação de Desempenho dos Escalonadores de Processos Disponibilizados no Linux Alessandro Nakamuta Bruno Guazzelli Batista Paulo Sérgio Franco Eustáquio

Roteiro Introdução Revisão Bibliográfica Objetivos Sistemas Operacionais ICMC USP

Introdução Computadores modernos podem fazer diversas coisas ao mesmo tempo Apesar do processador executar uma tarefa por vez, esta atividade ocorre tão rápida que dá a ilusão de estar executando várias tarefas ao mesmo tempo Esta troca de tarefas no processador é chamada de escalonamento de processos Sistemas Operacionais ICMC USP

Escalonamento de Processos As regras que o SO considera para que os processos sejam executados constituem a política de escalonamento Através dela que a execução dos processos é conduzida Sistemas Operacionais ICMC USP

Escalonamento de Processos Características que um escalonador de processos deve apresentar: Justiça; Eficiência; Minimizar o Tempo de Resposta; Maximizar Throughput. Sistemas Operacionais ICMC USP

Políticas de Escalonamento FIFO Round-Robin Sistemas Operacionais ICMC USP

Políticas de Escalonamento SJF (Shortest Job First) Menor processo é executado primeiro Aumento de throughput Injusto, pois grandes processos devem aguardar para serem executados Escalonamento com prioridades Considera fatores externos Escalonador pode alterar prioridade dos processos Sistemas Operacionais ICMC USP

Avaliação de Desempenho Toda atividade envolvida no processo computacional pode e deve ser medida e avaliada, a fim de que se possa certificar se ela é adequada à aplicação para a qual foi projetada Tarefa não-trivial Critérios de avaliação são fundamentais para uma boa análise Sistemas Operacionais ICMC USP

Técnicas de Avaliação de Desempenho Técnicas de Modelagem Desenvolvimento de um modelo que represente o sistema real Modelar sistema real completo é complexo, o ideal é modela-lo pensando apenas no que é relevante Simulação: através de programa computacional Analítico: utilização de equações matemáticas Sistemas Operacionais ICMC USP

Técnicas de Avaliação de Desempenho Técnicas de Aferição Coleta de dados de um sistema computacional pronto Desvantagem: Disputa recursos com o sistema que está sendo avaliado 3 técnicas de aferição: Protótipos; Benchmarks; Monitoração. Sistemas Operacionais ICMC USP

Parte 2 Sistemas Operacionais ICMC USP

Escalonamento no Linux Processos são divididos em 3 grandes classes: Interativos (iniciados através de uma sessão no terminal); Batch (não são conectados a uma sessão de terminal e são agrupados em uma fila para serem executados sequencialmente); Tempo Real (processos críticos, iniciados durante iniciação do sistema). Sistemas Operacionais ICMC USP

Escalonamento no Linux Divide o tempo de CPU em fatias Processos executam de acordo com a sua fatia de tempo Linux escolhe qual processo deve rodar de acordo com a prioridade do processo Dois tipos de prioridade: Estática: esquema utilizado em processos de Tempo Real. Valor definido pelo usuário e não pode ser alterado pelo escalonador. Valor varia de 1 a 99 Dinâmica: o escalonador monitora o processo e ajusta a sua prioridade para equalizar a utilização da CPU. Escalonador pode alterar prioridade de um processo. Privilegia processos I/O Bound. Processos convencionais tem sempre prioridade inferior aos processos com prioridade estática Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux Linux provê 5 políticas diferentes para selecionar um processo: SCHED_FIFO; SCHED_RR; SCHED_OTHER; SCHED_BATCH; SCHED_IDLE. Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux SCHED_FIFO: apenas para processos de Tempo Real. Processo libera CPU em 3 situações: Quando termina ou bloqueia; Quando chega outro processo RT com > prioridade Libera processador espontaneamente para um processo de prioridade igual. Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux SCHED_RR: ao ser criado o processo é inserido no final da fila correspondente a sua prioridade. Também para processos RT. Libera CPU nas seguintes situações: Quantum esgota; Processo de prioridade superior se torna apto; Libera processador espontaneamente para um processo de prioridade igual. Termina ou bloqueia. Sistemas Operacionais ICMC USP

SCHED_FIFO X SCHED_RR Ambos possuem prioridade estática de 1(baixa) a 99(alta); Processos de Tempo Real; Cada política possui sua fila de processos; Escalonamento entre as filas de processos é feito de acordo com a prioridade de um processo. Posso alterar a política de escalonamento de um processo. Sendo assim, um processo que está numa fila que utiliza a política RR pode mudar para uma fila que utiliza a política FIFO. Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux SCHED_OTHER É a política de escalonamento padrão do Linux. Possui prioridade estática 0, portanto sempre tem menos prioridade do que as políticas de tempo real. A prioridade entre eles é calculada através de prioridades dinâmicas. Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux Essas prioridades são calculadas pelo escalonador através do valor do nice e do tempo de processamento. O valor de nice vai de -20 (maior prioridade) a 19 (menor prioridade) Quanto mais tempo de processamento, menor a prioridade. Com isso o kernel do Linux dá mais preferência a processos I/O-Bound. Sistema multifilas, onde temos uma fila para cada prioridade Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux Libera CPU nas situações: Quantum esgota; Processo de prioridade superior se torna apto; Libera processador espontaneamente para um processo de prioridade igual. Termina ou bloqueia; Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux SCHED_BATCH Tudo que se falou do SCHED_OTHER se aplica ao SCHED_BATCH. As diferenças fundamentais: Quantum maior Tempo de processamento perde menos prioridade Ideal para sistemas não interativos Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux SCHED_IDLE É indicado para processos com pouca prioridade Só vai rodar em ciclos de CPU ociosas Não sobe a prioridade no caso de ficar bastante tempo na fila Os processos podem sofrer starvation Sistemas Operacionais ICMC USP

Políticas de Escalonamento do Linux Sistemas Operacionais ICMC USP

Escalonamento no Linux O escalonador do Linux pode ser ativado de 2 formas: Direta: chamada explícita à rotina que implementa o escalonador. Ou seja, uma chamada de sistema para a solicitação de E/S ou sincronização; Lazy: ocorre em 3 situações: Rotina de tratamento de interrupção de tempo aciona o escalonador quando se esgota o quantum; Quando processo de maior prioridade é desbloqueado; O processo em execução libera expontaneamente a CPU, através de uma chamada de sistema do tipo yeld. Sistemas Operacionais ICMC USP

Esquema Geral para a Solução do Projeto Sistemas Operacionais ICMC USP

Objetivo Estudar o funcionamento do escalonador de processos do Linux; Avaliar o desempenho do sistema de acordo com as diferentes políticas de escalonamento. Sistemas Operacionais ICMC USP

Ambiente Sistema Operacional Linux Ubuntu Server Kernel 2.6.28 Script → interpretador de comandos bash para inicializar todos os processos. Benchmark, onde serão atribuídas diferentes cargas proporcionando diferentes resultados para comparação. Sistemas Operacionais ICMC USP

Avaliação O projeto utilizará os seguintes fatores: Políticas SCHED_FIFO e SCHED_RR; Tipos de processos: I/O Bound e CPU Bound; Prioridades dos processos; Cargas de Trabalho: 100% CPU Bound; 100% I/O Bound; 50% CPU Bound e 50% I/O Bound; 70% CPU Bound e 30% I/O Bound; 30% CPU Bound e 70% I/O Bound; Sistemas Operacionais ICMC USP

O que medir? Depende da aplicação e do tipo do sistema Turnaround Tempo de processamento + Tempo de espera Satisfação do usuário Throughput Relação entre utilização e tempo de resposta. Produtividade do sistema X Satisfação do usuário. Sistemas Operacionais ICMC USP

Dúvidas – Sugestões? Obrigado! Sistemas Operacionais ICMC USP