[linux] sleep a alarm

0

Witam
w linuxie gdy wywołamu funkcje sleep to z tego co sie dowiedziałem pomimo ze program nic nie robi to procesor jest obciązony w pewnym stopniu odliczaniem czasu.Czy w przypadku wywoływania funkcji alarm jest podobnie?

0

Nie moge ci powiedziec bo jestem na windzie ale sprawdź. Wywołaj polecenie alarm, potem polecenie top i sprawdź jakie obciążenia na CPU na proces alarm

0

Nie moge ci powiedziec bo jestem na windzie ale sprawdź. Wywołaj polecenie alarm, potem polecenie top i sprawdź jakie obciążenia na CPU na proces alarm

To jest linuks. System wielozadaniowy. To co ci pokaże zużycie procesora to nie tylko twojego programu.
Nie wiem jak jest w linuksie, ale bardzo możliwym jest, że sleep na prawdę usypia program, a nie oddaje kontrolę systemowi. Jeżeli nie chcesz tego mieć takiego efektu, to możesz ręcznie oddać kontrolę systemowi (wykorzystując wątki na poziomie jądra etc).
Co do alarm, to z tego co z mana zrozumiałem, to jedynie ustawia żądanie otrzymania SIGALARM. Wątpię by to jakoś dodatkowo obciążało system. Nie wiem jak to jest w linuksie zorganizowane, ale ja bym po prostu wrzucił to na kolejkę i sprawdzał ją przy każdym wywołaniu :) Żadnego dodatkowego zliczania. I tak zegar generuje przerwanie z pewną częstotliwością.

1 użytkowników online, w tym zalogowanych: 0, gości: 1