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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 2 Roteiro Introdução Conceitos Gerenciando o tempo Tratando interrupções de tempo Utilizando Timers

3 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 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 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 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 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 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 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 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 11 Freqüência do Timer Interrupt ArquiteturaFrequência (Hertz) Alpha1024 i3861000 Mips100 Mips64100 ou 1000 Sparc100 Sparc641000 x86-641000

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

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

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

15 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 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);


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google