1 Disciplina: Sistemas Operacionais (COS 773) Data: 16/11/ 2005 Professor: Vitor Costa Trabalho de Lúcia C. L. Ferreira Timers e Gerenciamento de tempo.

Slides:



Advertisements
Apresentações semelhantes
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2004s2 Desempenho.
Advertisements

Capitulo 6: Entrada e Saída
Introdução Datagrama IP.
Linguagem II – Visual Basic
Ch Morgan Kaufmann Publishers Paulo C. Centoducatte Desempenho.
Introdução à Programação usando Processing Programação Gráfica 2D Animações Exercício Animações 14/10/09 Bruno C. de Paula 2º Semestre 2009 > PUCPR >
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Interação entre objetos
Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Introdução à Informática
MC542 Organização de Computadores Teoria e Prática
Chapter 4: Threads.
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
ODBC.
SSC SISTEMAS OPERACIONAIS I Aula 12 – Gerenciamento de Memória 3
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
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.
Maria Aparecida Castro Livi
CAPÍTULO Descrição 2. Princípio de funcionamento 3. Arquitetura
Sistemas Operacionais
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
1 COS 773- SISTEMAS OPERACIONAIS Prof: Vitor BLOCK I/O Cristiane Magalhães.
Prof.Sofia Mara de Souza AULA 4
Prof. Alexander Roberto Valdameri
Componentes do Computador e noções de Arquitetura de Computadores
Arquitetura de Computadores
PROJETO INTEGRADO Paulo Roberto Bernardo
Sincronização e Comunicação entre Processos
09/03/10 20:13 Claudio de Oliveira – 1/21.
Tratamento de Ficheiros
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
Classes e objetos P. O. O. Prof. Grace.
O Portal do Estudante de Computação
Profª Amita Muralikrishna
Sistemas Operacionais I
Sistemas Operacionais
JAVA: Conceitos Iniciais
Arquitetura de Sistemas Operacionais
Sejam bem vindos! Arquitetura de Sistemas Operacionais.
Sejam bem vindos! Arquitetura de Sistemas Operacionais.
Threads: Introdução e Implementação
Pesquisa em memória primária: hashing
Arquitetura de Sistemas Operacionais – Machado/Maia 12/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 12 Gerência.
Arquitetura de Sistemas Operacionais – Machado/Maia 11/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 11 Sistema.
Introdução a GPGPU CUDA: arquitetura de computação paralela para GPGPU.
Lista Encadeada Circular Lista Duplamente Encadeada
Arquitetura de computadores
Sistemas Operacionais
Qual o melhor sabor para o RT-Linux (Real Time Linux)? Ricardo Matias Nº27471 e Vitor Hugo Nº21906 Sistemas de Tempo Real 2006 DETI-UA.
PROGRAMAÇÃO ESTRUTURADA (MODULARIZAÇÃO/SUBPROGRAMAÇÃO)
Sistemas Operacionais
Grupo de Engenharia da Computação Departamento de Informática - UFPE
Experimentos Práticos Arquitetura de Software para Celulares
Escalonamento de Tempo Real
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
1.
SISTEMAS OPERACIONAIS I
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
Organização e Arquitetura de Computadores
2.5 Processos no Minix 1. gerenciamento de processos:
Subsistema de Entrada e Saída do Kernel
Sistemas Operacionais Aula 2 Danielle Costa
Componentes básicos de um computador
Arquitetura de computadores
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

1 Disciplina: Sistemas Operacionais (COS 773) Data: 16/11/ 2005 Professor: Vitor Costa Trabalho de Lúcia C. L. Ferreira Timers e Gerenciamento de tempo pelo Kernel

2 Roteiro Introdução Conceitos Gerenciando o tempo Tratando interrupções de tempo Utilizando Timers

3 Introdução O controle de tempo pelo Kernel é muito importante, pois várias de suas funções são dirigidas pelo evento passagem do tempo. Exemplo: –Refresh de tela –Desligar o motor do floppy drive após um período de inatividade

4 Conceitos Timer ou temporizador: hw utilizado pelo Kernel para controlar a passagem do tempo; Tick rate: freqüência de operação do timer (HZ); Ex: i386 HZ=1000 hertz Tick: tempo discorrido entre duas interrupções de tempo sucessivas (período de 1/HZ segundos);

5 Conceitos Jiffies: variável global que armazena o número de ticks que ocorreram desde o boot do sistema; 1seg = HZ jiffies Timer interrupt handler: trata as interrupções relacionadas à passagem de tempo;

6 Como o Kernel gerencia o tempo Para gerenciar o tempo o Kernel utiliza dois componentes de hw: Real-Time Clock (RTC): Utilizado para atualizar o tempo real (wall time / time of day); xtime: variável que recebe o valor do RTC no momento do boot ;

7 Como o Kernel gerencia o tempo System Timer: relógio eletrônico que oscila a uma determinada freqüência (tick-rate: HZ); Controla as interrupções de tempo

8 Como o Kernel trata as interrupções de tempo Timer Interrupt Handler Rotina dependente da arquitetura : responsável por tratar as interrupções geradas pelo System Timer;

9 Como o Kernel trata as interrupções de tempo Timer Interrupt Handler Funções comumente executadas: – Obter o xtime-lock (jiffies, xtime) – Atualiza a RTC (RTC xtime); – Chama a rotina que independe da arquitetura

10 Como o Kernel trata as interrupções de tempo Timer Interrupt Handler Rotina independente da arquitetura : do-timer() – Incrementa o valor da variável jiffies; – Atualiza o tempo recursos/processos em execução; – Atualiza o wall-time (time of day); – Executa o scheduler_tick();

11 Freqüência do Timer Interrupt ArquiteturaFrequência (Hertz) Alpha1024 i Mips100 Mips64100 ou 1000 Sparc100 Sparc x

12 Time of Day Wall-time Definida na estrutura Struct timespec { time_t tv_sec; /* segundos */ long tv_nsec; /* nanosegundos */ };

13 Utilizando Timers Dynamic Timers ou Kernel Timers Mecanismo para atrasar a execução de determinadas tarefas por um tempo específico;

14 Utilizando Timers Passos: Setup inicial; Definir tempo de expiração; Definir função a ser executada; Ativar o timer;

15 Utilizando Timers Estrutura: struct timer_list { struct list_head entry; /* entrada lista encadeada de timers */ unsigned long expires; /* valor expiração, jiffies */ spinlock_t lock; /* lock */ void (*function)(unsigned long); /* função a ser executada*/ unsigned long data; /* argumento para o handler */ struct tvec_t_base_s *base; /* campo interno – Não Mexer * };

16 Utilizando Timers Exemplo struct timer_list my_timer; init_timer(&my_timer); my_timer.expires = jiffies + delay; my_timer.data = 0; my_timer.function = my_function; add_timer(&my_timer);