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 SSC541 - 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 Porque avaliar desempenho de sistemas operacionais 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 2 Conteúdo

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

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

5 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 Duas caracter í sticas conflitantes 5 Porque Avaliar SO?

6 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. 6 Porque Avaliar SO?

7 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.? 7 Porque Avaliar SO?

8 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. 8 Porque Avaliar SO?

9 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 9 Porque Avaliar SO?

10 Conteúdo Porque avaliar desempenho de sistemas operacionais Como Agilizar? 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 10

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

12 1. 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 12 Como Agilizar?

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

14 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 14 Como Agilizar?

15 1. 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 15 Como Agilizar?

16 1. 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 16 Como Agilizar?

17 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 17 Como Agilizar?

18 1. 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 18 Como Agilizar?

19 1. 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. 19 Como Agilizar?

20 1. 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 20 Como Agilizar

21 1. 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 21 Como Agilizar?

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

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

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

25 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 Aplica ç ões em Sistemas Operacionais 25 Conteúdo

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

27 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 27 Aplicações em SO

28 Técnicas de AferiçãoMonitores 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 28 Aplicações em SO

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

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

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

32 Técnicas de AferiçãoBenchmarks 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 32 Aplicações em SO

33 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 33 Aplicações em SO

34 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 34 Aplicações em SO

35 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 35 Aplicaçõea em SO

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

37 Exemplos de Benchmarks para SOs para SOs 37 Fonte: Windows-7-final-x-Vista-x-XP_a35989_z0.aspx Aplicações em SO

38 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 38 Aplicações em SO

39 Técnicas de ModelagemSimulaçã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 39 Aplicações em SO

40 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 40 Aplicações em SO

41 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 41 Aplicações em SO

42 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 42 Aplicações em SO

43 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 43 Aplicações em SO

44 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 44 Aplicações em SO

45 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) 45 Aplicações em SO

46 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 46 Aplicações em SO

47 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 47 Aplicações em SO

48 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 48 Aplicações em SO

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

50 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 50 Aplicações em SO

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

52 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 52 Aplicações em SO


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