A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.

Apresentações semelhantes


Apresentação em tema: "Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula."— Transcrição da apresentação:

1 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 Aula 23 – Avaliação de Desempenho de Sistemas Operacionais Profa. Sarita Mazzini Bruschi Regina Helena Carlucci Santana Marcos José Santana Slides adaptados de Luciana A. F. Martimiano baseados nos livros Sistemas Operacionais Modernos de A. Tanenbaun

2 Conteúdo Porque avaliar desempenho de sistemas operacionais
Como Agilizar? Identificar pontos de atraso Propor solução Avaliar solução Técnicas para Avaliação de Desempenho de Sistemas Operacionais Aplicações em Sistemas Operacionais

3 Motivação Porque o Sistema Operacional influencia no desempenho?
Porque avaliar Sistemas Operacionais? Em diversas ocasiões o Sistema Operacional apresenta grande influência no desempenho de um sistema Porque o Sistema Operacional influencia no desempenho?

4 Diversos Motivos, relacionados a:
Porque Avaliar SO? Diversos Motivos, relacionados a: Requisitos básicos de SOs Requisitos de Mercado Gerenciamento

5 Requisitos básicos de SOs:
Porque Avaliar SO? Requisitos básicos de SOs: 1. Necessidade de Confiabilidade Desempenho X Confiabilidade Duas características conflitantes 2. Necessidade de Segurança Desempenho X Segurança

6 Requisitos básicos de SOs:
Porque Avaliar SO? Requisitos básicos de SOs: 3. Facilidade de Utilização SOs são de utilização ampla Diferentes tipos de usuários Usuários menos experientes requerem facilidade de aprendizagem/utilização. Ex: plug and play.

7 Requisitos de Mercado:
Porque Avaliar SO? Requisitos de Mercado: 4. Oferecimento de Novas Versões Visando evitar a estagnação do produto Visando a perda de clientes 5. Oferecimento de Novas Funcionalidades Funcionalidades que atraem alguns tipos de usuários. Ex: formas diferentes de gerenciar janelas Qual o custo a ser pago em termos de tamanho do código, velocidade, complexidade, etc.?

8 Porque Avaliar SO? Gerenciamento: 6. Adequabilidade à Aplicação
Necessidade de características específicas Exemplos: formas de escalonamento, threads usuário ou kernel, aplicações I/O ou CPU bound 7. Execução em segundo plano Por exemplo, deamons no Unix Processos carregados sem o conhecimento explicito do usuário.

9 Porque Avaliar SO? Gerenciamento: 8. Anti vírus em tempo real
Verifica arquivo no momento de abrir 9. Remoção de driver/HW Hardware que não estão mais sendo utilizados têm seus drives mantidos 10. Desinstalação de Programas Desinstalar sem SW adequado 11. Discos Fragmentados

10 Conteúdo Porque avaliar desempenho de sistemas operacionais
Como Agilizar? Identificar pontos de atraso Propor solução Avaliar solução Técnicas para Avaliação de Desempenho de Sistemas Operacionais Aplicações em Sistemas Operacionais

11 Como Agilizar? 1. Identificar os pontos de atraso e verificar o impacto desse atraso 2. Propor soluções 3. Avaliar soluções

12 Como Agilizar? Identificar os pontos de atraso e verificar o impacto desse atraso: Verificar a freqüência com que o procedimento ocorre Eventos raros e lentos: Pouco impacto Muita otimização para ser perceptível Exemplo: procedimento ao ligar o computador, falha ao entrar em uma região crítica Eventos freqüentes: Muito impacto Pequena otimização pode ser perceptível Exemplo: processo escalonador 2. Propor soluções 3. Avaliar soluções

13 Conteúdo Porque avaliar desempenho de sistemas operacionais
Como Agilizar? Identificar pontos de atraso Propor solução Avaliar solução Técnicas para Avaliação de Desempenho de Sistemas Operacionais Aplicações em Sistemas Operacionais

14 Como Agilizar? 1. Identificar os pontos de atraso Memória Virtual
Permite a execução de aplicações maiores ou de diversas aplicações ao mesmo tempo Problema de desempenho: Acesso ao disco para recuperar página Sobrecarrega acesso a disco 2. Propor soluções

15 Como Agilizar? Identificar os pontos de atraso Memória Virtual
2. Propor soluções Localização da área/arquivo de swap no disco Usar segundo HD para área de swap – evita movimentação da cabeça do disco Colocar área de swap no centro do disco Dedicar uma partição para área de swap Escolha adequada do tamanho da área/arquivo de swap no disco Área de Swap suficiente X Utilização da área de disco Necessidade de aumentar a área de swap -> perda de desempenho

16 Como Agilizar? Identificar os pontos de atraso Acesso a informação
O tempo de acesso a informação ainda é um potencial gargalo no processamento, apesar do grande avanço observado. Problemas de desempenho: Acesso ao disco Acesso a DRAM 2. Propor soluções

17 Como Agilizar? 1. Identificar os pontos de atraso Acesso a informação
2. Propor soluções Cache – usado em diferentes níveis: Processador: L1, L2, L3.... Cache com blocos de disco Cache para localização de i-nodes Principio da Localidade - Busca da informação não é aleatória Processos freqüentemente executam instruções seqüencialmente Após selecionar um diretório, um arquivo dele normalmente é selecionado Escalonamento de threads em multiprocessadores – escalonar sempre no mesmo processador para aproveitar blocos na cache

18 Gerenciamento de Arquivo em Disco
Como Agilizar? Identificar os pontos de atraso Gerenciamento de Arquivo em Disco Como alocar arquivos na memória de forma a obter uma boa relação entre desempenho e utilização da memória Como recuperar arquivo mais rapidamente? 2. Propor soluções

19 Gerenciamento de Arquivo em Disco
Como Agilizar? Identificar os pontos de atraso Gerenciamento de Arquivo em Disco 2. Propor soluções Alocação Continua X alocação indexada Uma combinação entre elas? Cache de trilha Unix: I-nodes espalhados no disco. Alocação dos arquivos próximos de seus i-nodes.

20 Como Agilizar Identificar os pontos de atraso Execução do caso comum
Nos casos que se pode identificar duas possibilidades, identificar a mais comum e minimizar sua execução 2. Propor soluções

21 Como Agilizar? Identificar os pontos de atraso Execução do caso comum
2. Propor soluções Entrar em uma Região Critica: Caso comum – conseguir – ex. usar TSL - rápido Caso raro - bloquear – executar down – lento Busca por Página (Memória virtual) Caso comum – presente na memória – localização/acesso rápido. Manutenção de estatística rápida Caso raro – falta de página – algoritmo para busca mais lento

22 Conteúdo Porque avaliar desempenho de sistemas operacionais
Como Agilizar? Identificar pontos de atraso Propor solução Avaliar solução Técnicas para Avaliação de Desempenho de Sistemas Operacionais Aplicações em Sistemas Operacionais

23 Técnicas de Avaliação de Desempenho
Aferição Aferição Modelagem Rede de Filas Protótipos Simulação Benchmarcks Redes de Petri Analítica Monitores Statecharts Sistema Medições Dados

24 Técnicas de Avaliação de Desempenho
Modelagem Aferição Modelagem Rede de Filas Protótipos Simulação Benchmarcks Redes de Petri Analítica Monitores Statecharts Modelo Solução Métodos Analíticos Simulação Sistema

25 Conteúdo Porque avaliar desempenho de sistemas operacionais
Como Agilizar? Identificar pontos de atraso Propor solução Avaliar solução Técnicas para Avaliação de Desempenho de Sistemas Operacionais Aplicações em Sistemas Operacionais

26 Aplicações em SO Técnicas de Aferição Técnicas de Modelagem Monitores
Instrumentação de software ou hardware Benchmarks Técnicas de Modelagem Simulação

27 Aplicações em SO Técnicas de Aferição Medidas no próprio sistema
Sistema deve existir e estar disponível Experimentação restrita Muito cuidado com aquisição dos dados

28 Aplicações em SO Técnicas de Aferição Monitores
Ferramenta para observar as atividades de um sistema coletando as características relevantes em utilização normal Determinar partes mais utilizadas Determinar gargalos Ajustar Parâmetros Caracterizar Carga de Trabalho

29 Aplicações em SO Exemplos de Monitores para SOs Linux (Ubuntu)

30 Aplicações em SO Exemplos de Monitores para SOs Linux
Coleta de Informações no diretório /proc Vários sub-diretórios Fonte: Mestrado de William Voorsluys – ICMC- USP, 2006

31 Aplicações em SO Exemplos de Monitores para SOs Linux
Coleta de Informações no diretório /proc Vários sub-diretórios Fonte: Mestrado de William Voorsluys – ICMC- USP, 2006

32 Aplicações em SO Técnicas de Aferição Benchmarks
Programa escrito em linguagem de alto nível, representativo de uma classe de aplicações, utilizado para medir o desempenho de um dado sistema ou para comparar diferentes sistemas Comparar desempenho de máquinas diferentes Reprojetar hardware e software Decidir sobre aquisição de sistemas Ajudar na otimização de programas Previsão de desempenho de aplicações em computadores específicos

33 Exemplos de Benchmarks para SOs
Aplicações em SO Exemplos de Benchmarks para SOs Benchmarks específicos para SOs Avalia o funcionamento de partes do SO Por exemplo: memória, cache, disco Benchmarks de carater geral Avalia processadores e computadores em geral Quando executado em dois SOs na mesma máquina, avalia o SO

34 Exemplos de Benchmarks para SOs
Aplicações em SO Exemplos de Benchmarks para SOs Benchmarks específicos para SOs Bandwidth: mede velocidades de leitura/escrita do cache L2, da memória RAM, da memória de vídeo e a velocidade de execução de funções de memória CacheBench: avalia o desempenho dos caches, medindo largura de banda. LMbench: mede a transferência de dados entre CPU, cache, memória, rede e disco, em sistemas UNIX nBench: avalia o desempenho de CPU e largura de banda de memória, simulando operações usadas por aplicações populares STREAM: avalia o tempo necessário para copiar regiões de memória e medir sua largura de banda Standard Performance Evaluation Corporation (SPEC) mantém um conjunto de benchmarks para computadores

35 Aplicaçõea em SO Exemplos de Benchmarks para SOs
Benchmarks de caráter geral Exemplo: Benchmark comparando Windows 7, Vista e XP Benchmarks utilizados: Inicialização da máquina Inicialização da máquina + página Bing Desligar sistema

36 Aplicações em SO Exemplos de Benchmarks para SOs
Fonte:

37 Aplicações em SO Exemplos de Benchmarks para SOs
Fonte:

38 Aplicações em SO Técnicas de Modelagem Desenvolvimento de um modelo
Não é necessário ter o sistema disponível Grande flexibilidade Resultados estocásticos Necessita validar modelo e solução

39 Aplicações em SO Técnicas de Modelagem Simulação
Modelos de simulação são programas de computador nos quais a operação de um sistema e sua carga são descritas utilizando-se algoritmos apropriados. Linguagens de programação de uso geral Linguagens de simulação Extensões funcionais Pacotes de uso específico Ambientes para Simulação Automáticos

40 Exemplos de Simuladores para SOs
Aplicações em SO Exemplos de Simuladores para SOs Moss - Modern Operating Systems Simulators Baseado nos conceitos apresentados no livro Modern Operating Systems de Andrew Tanenbaum (Tanenbaum, 2009) classes Java que representam os principais conceitos dos sistemas operacionais: escalonamento deadlock gerenciamento de memória sistema de arquivos. Escrito por Ray Ontko e Alexander Reeder / Tanembaum Software Livre

41 Exemplos de Simuladores para SOs
Aplicações em SO Exemplos de Simuladores para SOs SOS - Simple Operating System Baseado no livro Operating Systems: A Design-Oriented - Charles Crowley Simula: processo em execução memória interrupção relógio disco rígido

42 Exemplos de Simuladores para SOs
Aplicações em SO Exemplos de Simuladores para SOs SOSIM - Sistema operacional Simulado Interface gráfica Principais características: gerenciador de processos gerenciador de memória Não simula entrada e saída Sistema de Arquivos Luiz Maia e Ageu Pacheco – NCE/UFRJ

43 Vários Outros Exemplos
Aplicações em SO Vários Outros Exemplos MOSS (Mini Operating-System Simulator) permite a programação do SO no ambiente Java The OS applet classes Java representam partes do sistema: Processo, entrada/saída, o processador, dispositivos Simuladores para ensino de Computer Science Disponibiliza um conjunto de simulações

44 Aplicações em SO Técnicas de Aferição Processos Tempo de chaveamento
Escalonamento Criação de arquivos Tempo de execução Influência do quantum Sobrecarga das interrupções

45 Aplicações em SO Técnicas de Aferição Gerenciamento de Memória
Memória Real (Hardware) Memória Virtual (hierarquia de memória) Caches (hierarquia de memória)

46 Aplicações em SO Técnicas de Aferição Gerenciamento de Memória
Memória Real (Hardware) Tempos de acesso E/L Utilização da memória Memória Virtual (hierarquia de memória) Sobrecarga dos mecanismos Sobrecarga dos acessos a paginas em disco Eficiência dos mecanismos de troca de página

47 Aplicações em SO Técnicas de Aferição Gerenciamento de Memória
Memória Cache Taxa de acerto (hit rate) Políticas de substituição Tamanho dos caches Caches internos/externos ao processador

48 Aplicações em SO Técnicas de Aferição Gerenciamento de Arquivos
Tempos de acesso E/L Utilização da mídia Uso de Caches Sobrecarga de hierarquias Perfil de usuários Carga de trabalho

49 Aplicações em SO Técnicas de Aferição Gerenciamento de E/S
Desempenho de dispositivos Desempenho de interfaces Uso de DMAs Acesso compartilhado

50 Aplicações em SO Técnicas de Modelagem
Aplicadas a todos os casos já considerados Definição do Modelo (técnica escolhida) Escolha da Solução do Modelo Experimentação com o Modelo Execução de programas de simulação – utilização de simuladores de Sistemas Operacionais

51 Aplicações em SO Técnicas de Modelagem ............
Modelos de elementos do sistema: Processador Sistema de arquivos Rede de interconexão Memória

52 Aplicações em SO Validação de Resultados
Aferição: aplicar técnicas de planejamento de experimentos e usar estudos estatísticos para obter dados válidos Modelagem: validar o modelo (não é trivial) Verificar se o programa de simulação está correto Aplicar técnicas estatísticas para obter dados válidos


Carregar ppt "Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula."

Apresentações semelhantes


Anúncios Google