Jump to content
zzee

Timers e Interrupções

Recommended Posts

zzee

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 ...

Share this post


Link to post
Share on other sites
Triton

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


<3 life

Share this post


Link to post
Share on other sites
zzee

Hmm, pa Linux,

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

Share this post


Link to post
Share on other sites
zzee

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 ... 

Share this post


Link to post
Share on other sites
Hipnoted

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.


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites
zzee

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 ...

Share this post


Link to post
Share on other sites
shumy

Semaforos também deve servir para o que queres.


Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática!

Share this post


Link to post
Share on other sites
Hipnoted

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

Numa breve pesquisa pela internet encontrei o seguinte link que explica mais ou menos:

http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_21.html

Basicamente são funções que permitem o envio de sinais entre processos.


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites
TheDark

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!


Desaparecido.

Share this post


Link to post
Share on other sites
TheDark

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


Desaparecido.

Share this post


Link to post
Share on other sites
zzee

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 ...

Share this post


Link to post
Share on other sites
zzee

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.

Share this post


Link to post
Share on other sites
TheDark

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).


Desaparecido.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.