• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

zzee

Timers e Interrupções

15 mensagens neste tópico

Boas,

eu queria utilizar alguns timers ou interrupções num dado código para efectuar operações rotineiras ou esporádicas, para n utilizar ciclos infinitos á espera de determinada condição se verifique porque deste modo iria tar a gastar recursos de forma desnecessária.

O problema é que eu nunca usei os timers e interrupts do meu proprio pc, apenas em sistemas separados e caso fizesse asneira não havia problema, por isso gostava de saber quais são as interrups e timers disponíveis em software para aplicações não criticas do processador?

Thanks ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

eu queria utilizar alguns timers ou interrupções num dado código para efectuar operações rotineiras ou esporádicas, para n utilizar ciclos infinitos á espera de determinada condição se verifique porque deste modo iria tar a gastar recursos de forma desnecessária.

O problema é que eu nunca usei os timers e interrupts do meu proprio pc, apenas em sistemas separados e caso fizesse asneira não havia problema, por isso gostava de saber quais são as interrups e timers disponíveis em software para aplicações não criticas do processador?

Thanks ...

Em Windows ou Linux? :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm, pa Linux,

mas tanbém dava jeito pelo menos links com informação para windows ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm,

vou ter que usar isso então,

mas o que eu estava à procura era tipo Rotinas de Serviço Interrupção, Vectores de Interrupção etc ...

Como se usam em hardware pensei que haveria muitas opções do género com implementação a nível de software!

Thanks ... 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para além dos que te indicaram também podes usar sinais...

EDIT: Já que falaram no alarm, não é mais do que o envio de um sinal para o mesmo processo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para além dos que te indicaram também podes usar sinais...

Não percebi a que te estavas a referir, que sinais são esses ??

ciclos infinitos + sleeps pelo meio ja resolve muita coisa cm disse o Rui Carlos... so insisti mesmo pela possibilidade de evolução e por curiosidade de saber se  tal é possível  ...

Thanks ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas o que eu estava à procura era tipo Rotinas de Serviço Interrupção, Vectores de Interrupção etc ...

As interrupções de Hardware são controladas pelo sistema operativo, por isso não dá para as utilizar da mesma forma que em microcontroladores e afins em que escreves directamente para controlar o hardware.

Para utilização avançada, semáforos e eventos são mesmo os caminhos a seguir!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não ficas à espera que outro processo ou tarefa te diga para continuares a executar, do que é que vais ficar à espera?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem era mesmo por opção,

não ter o processador sempre a executar tarefas que não valem a pena.

Numa situação prática, por exemplo, tens um qualquer periférico ou sistema ligado ao teu pc por ex por rs232,

neste caso irias ter um processo que testasse o status do teu porto.

Agora imagina que o status do teu porto, se alterasse varias vezes por segundo ou então ficava horas sem se alterar.

Uma solução do tipo polling, iria tar a consumir recursos desnecessariamente ...

Era esta a principal razão ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Grrr,

Numa situação prática, por exemplo, tens um qualquer periférico ou sistema ligado ao teu pc por ex por rs232,

neste caso irias ter um processo que testasse o status do teu porto.

bem o exemplo que dei não foi o melhor, para rs232 ha as linhas de interrupção disponíveis que se podem ver em /proc/interrupts.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, eu compreendo o que é que se quer evitar, é a razão principal da existência destes mecanismos.

Mas para esse caso a solução é mesmo utilizar a função sleep (ou Sleep no Windows).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora