SEM 544 Desenvolvimento de Produtos Mecatrônicos

Documentos relacionados
Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

SOP - TADS Escalonamento de Processos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Infra-Estrutura de Software. Escalonamento

Escalonamento de Processos

Sistemas Operacionais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais. Escalonamento de processos

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Processos. Escalonamento de Processos

GERENCIAMENTO DE MEMÓRIA

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Sistemas Operacionais

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Sistemas Operacionais. Prof. André Y. Kusumoto

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

GERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais

Notas da Aula 11 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca

Davidson Rodrigo Boccardo

SSC0640 Sistemas Operacionais I

Escalonamento de processos

Escalonamento de Processos Uniprocessador

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Processos. Escalonamento de Processos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos

Gerência de Memória Memória Virtual e Paginação

Sistemas Operacionais Gerenciamento de Processos

SSC0640 Sistemas Operacionais I

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais. Escalonamento de Processos

SSC0640 Sistemas Operacionais I

Sistemas Operacionais

Administração de Memória

Sistemas de Informação. Sistemas Operacionais

ENADE 2011 SISTEMAS OPERACIONAIS

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Sistemas Operacionais

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Infra-Estrutura de Software IF677

Algoritmos de escalonamento

Sistemas Operacionais. - Gerência de Memória -

Sistemas de Computação. Processos e escalonamento

Organização de um Sistema Operativo

Escalonamento de Tarefas

Modelação de algoritmos de substituição de páginas Anomalia Belady

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Prof. Kleber R. Rovai

Sistemas Operacionais Aula 7

Gerenciamento de Memória

Davidson Rodrigo Boccardo

Processos. Estruturas de Controle

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Gerenciamento de Memória

Gerenciamento de Memória

Questões de Provas de Períodos Anteriores

Bacharelado em Ciência da Computação Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

Gerência de Recursos. Gerência do Processador

Gerência do Processador. Adão de Melo Neto

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Matriz Discursiva do MÓDULO C FASE II 23/11 até 18/12

Escalonamento de Processos

Questões de Múltipla escolha

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Introdução ao Multimídia

Sistemas Operacionais

Sistemas de Computação. Gerenciamento de memória

Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Sistemas Opera r cionais Gerência de Memória

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Sistemas Operacionais I Memória Virtual

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Escalonamento da CPU

Escalonamento da CPU

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006

Sistemas Operacionais

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Fundamentos de Sistemas Operacionais

Escalonamento de Processos Estratégias de Escalonamento de Processos

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Transcrição:

SEM 544 Desenvolvimento de Produtos Mecatrônicos >>>> Sistemas de Tempo Real <<<<< Rafael Aroca, Glauco Caurin Aula 4

Aula de Hoje -Revisão Aula 3 Dúvidas? -Escalonamento -Gerenciamento de Memória -Prática com RTLinux Interrupções inb()

Aula anterior I/O Mapeado em memória

I/O Programada Aula Anterior

Pentium

Escalonamento

Estados de Processos 1. Processo aguardando I/O 2. Escalonador escolhe outro processo 3. Escalonador escolhe este processo 4. I/O se torna disponível Estados possíveis Rodando Bloqueado Pronto Setas mostram possibilidade de transição

Task Control Block Campos de uma TCB (TCB, PT, PCB)

Threads The Thread Model (1) (a) Três processos, cada um como uma thread (b) Um processo com três threads

Escalonamento Uso de CPU alterna com espera por I/O Processo CPU Bound Processo I/O Bound

Escalonamento Utilização de CPU como função do número de tarefas

Escalonamento Sistemas de Lote (a) Execução na ordem de chegada (b) Escalonador SJF Shortest Job First

Escalonamento: Sistemas Interativos Escalonamento Round Robin (a) Lista de processos prontos para executar (b) Lista de processos prontos para executar depois de B Não existe distinção de importância Impacto no tamanho do quantum Recomendado 20-50ms

Escalonamento: Sistemas Interativos Escalonamento por Prioridades - Cada processo entra em uma lista de prioridade - Round Robin entre processos de uma mesma prioridade - Comando nice

Outros Escalonadores Loteria Fair-Share Garantido Queues 3 Níveis First Come, First Served Shortest Job First Shortest Process Next

Escalonamento de Tempo Real Antes de escalonar, verificar se uma tarefa é Escalonavel Dado m eventos periódicos evento i ocorre no perído P i e precisa de C i segundos da CPU O processamento só pode ser feito se: m C i 1 i= 1 P i

Escalonamento de Tempo Real Exemplo Tarefas A = 10/30 (Ci = 10, Pi=30) B = 15/40 (Ci=15, Pi=40) C = 5/50 (Ci=5, Pi=50) S = 10/30 + 15/40 + 5/50 = 0,8 => 80% de CPU E se dobrarmos a velocidade do processador? Ci/Pi => Fração da CPU usada pelo processo i

Escalonamento de Tempo Real Round-Robin funciona bem Mas não se preocupa com tempos Pode ser: Estático Dinâmico Toma decisão antes de iniciar Decisões em tempo de execução

Processos periódicos: 3 filmes simultâneos NTSC: 30 vezes/segundo, PAL: 25 vezes/segundo Diferença no Frame-Rate de acordo com padrão

Escalonamento Rate Monotonic Liu, 1973 Método Clássico para sistemas de Tempo Real Estático Preemptivo Teorema: Dado um conjunto de tarefas periódicas e escalonamento preemptivo com prioridades, determine as prioridades de forma que as tarefas com menor períodos tenham maior prioridade, levando a um algoritmo de escalonamento ótimo.

RMA - Rate Monotonic Scheduling Condições: 1. Cada tarefa periódica deve terminar dentro de seu período 2. Um processso não pode depender de outro 3. Cada processo precisa do mesmo tempo de CPU a cada uso 4. Tarefas não periódicas não têm deadline 5. Preempção dos processos é instantânea, sem overhead

Rate Monotonic Scheduling Exemplo: Tarefas de exibição de vídeo: A: Cada 30ms -> 33 vezes/segundo B: Cada 40ms -> 25 vezes/segundo Prioridade C: Cada 50ms -> 20 vezes/segundo

Rate Monotonic Scheduling

Escalonamento Earliest Deadline First Processos não precisam ser periódicos (RMA precisa) Dinâmico Lista ordenado por deadline Escalonador escolhe processo com deadline mais próximo Sempre que um processo fica Pronto, escalonador verifica deadlines

EDF: Earliest Deadline First Scheduling

RMA X EDF Exemplo com outro processador A=30, B=40, C=50

Definição 12 Aula 1 1.1.4 Utilizaçao de CPU Fator de Carga Temporal U é a medida da porcentagem de tempo de processamento não ocioso Utilizaçao 0 25 26-50 51 68 Zoneamento (Classificaçao) Poder de processamento excessivo - CPU deve ser mais poderosa que o necessario Muito Seguro Seguro Aplicaçao Típica Varias Varias Varias 69 70 82 83 99 100+ Limite Teorico Questionavel Perigoso Sobrecarregado Sistemas Embarcados Sistemas Embarcados Sistemas Embarcados Sistemas Embarcados

Porquê 69%? m i= 1 C i i P 1 Prova feita por Liu, 73 Falha do exemplo anterior. Uso = 97,2%

Gerenciamento de Memória

Gerenciamento de Memória Básico Monoprogramação sem swap nem paginação Três formas simples de organizar a memória - Sistema operacional com um processo de usuário (DOS)

Multiprogramação com partições fixas Usado em mainframes Cada novo processo é alocado numa partição de menor tamanho possível Ou através de uma fila única Simples de implementar

CPU X Memória 10 processos rodando 16MB -> Sistema operacional 4MB -> Cada tarefa 32MB RAM 4 tarefas na memória de cada vez CPU=60%, Espera de I/O=80% 48MB RAM 8 tarefas na memória de cada vez CPU=83%, Espera de diminui 38% 64MB RAM 12 tarefas na memória de cada vez CPU=93%, Espera de diminui só 12%

Relocação e Proteção Nunca se sabe onde um programa vai ser carregado na memória PC com endereços relativos Programa não pode invadir partição de outros programas Programas.COM e.exe Registradores base e limit base = 100K, limit = 101K CALL 100 é mapeado para CALL 100K+100 CALL para endereços > 101K geram uma interrupção de erro. Evita programas maliciosos

Swapping - Memória insuficiente para todos programas que estão rodando - Solução 1: Swap - Carregar o programa todo que está rodando em memória - Quando não estiver rodando, colocar o seu conteúdo de memória em disco - Solução 2: Memória Virtual - Endereçamento de memória Virtual - Mais detalhes logo mais

Swapping - Partições dinâmicas, Partes da vão e voltam do disco. Exemplo: c para d, e f para g - Compactação de memória - Com 256MB de RAM leva 2.7 segundos! - Ruim para Tempo Real

Swapping Crescimento dinâmico: Malloc() Prever espaço para crescimento Se acabar, processo precisar ser movido. Tempo Real: tempo para mover Bitmap da memória

Memória Virtual Programas maiores que a RAM Dividir a memória do programa em várias partes (overlays) Swap dinâmico dos overlays conforme necessário (SO) Parte do trabalho era feito pelo programador Exemplo: Programa de 16MB rodando em máquina de 4MB

Memória Virtual Paginação MMU faz mapeamento automático MOV REG,1000 Sem Memória Virtual MOV REG,1000 -> Barramento Com Memória Virtual MOV REG,23459 -> Barramento Espaço de endereçamento Virtual

Memória Virtual MMU faz o mapeamento usando uma tabela

Paginação Relação entre TRAP/INT Page Fault SO busca página endereço virtual e fisico esta na tabela de páginas

Tabela de Páginas Algumas arquiteturas tem vários níveis de páginas Operação interna de uma MMU com 16 páginas de 4KB

Algoritmos de troca de páginas Page fault necessita uma escolha Que página remover Liberar espaço para página necessária Páginas modificada precisa ser salva Página não modificada sobrescrita Evitar escolher uma página muito usada Ela vai ter que voltar para a memória logo

Algoritmos de Troca de Páginas

Politica de Limpeza Processo de background, cleaning daemon Inspeciona periodicamente o estado da memória Quando a MMU tem poucos frames livres Seleciona páginas para evitar usar um algoritmo de troca no futuro Uma lista circular pode ser usada

Travando Páginas na Memória Interação de Memória Virtual e I/O DMA Processo solicita a transferência de dados Enquanto espera I/O, outro processo inicia Causa um page fault SO substitui página que está recebendo dados do DMA Necessidade de travar estas páginas

Segmentação Segmenta um mesmo programa em diferentes espaços de endereçamento

Comparação de Paginação e Segmentação

Segmentação: Implementação Páginas tem tamanho fixo, e segmentos não. Fragmentação externa -> Compactação

Pentium: Segmentação + Paginação Descritor de segmento

Pentium: Segmentação + Paginação Conversão de um endereço no Pentium

Pentium: Segmentação + Paginação Mapeamento de um endereço linear para fisico

Pentium: Segmentação + Paginação Proteção no Pentium: 4 níveis Nível de proteção LKM está no nível 0

Dicas norma MISRA-2004C Regra 14.4 Não usar goto Regra 14.5 Não usar continue Regra 14.6 Usar no máximo um break por loop

Dicas norma MISRA-2004C Regra 20.10 Não é permitido usar as funções atof, atoi, atol Comportamento indeterminado com strings que não podem ser convertidas

Laplante Leitura Recomenada Capítulo 3: Real Time Operating Systems Modern Operating Systems, Tanenbaum Capítulo 2: Processos e Threads Capítulo 4: Gerenciamento de Memória Capítulo 6: Multimidia -> Escalonamento RT