Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Takto to funguje:
* Timeking: Časovač softvéru sleduje čas, zvyčajne pravidelnou kontrolou systémových hodín (počítadlo s vysokým rozlíšením udržiavaným operačným systémom). To by mohlo zahŕňať jednoduché odčítanie (porovnanie aktuálneho času s cieľovým časom) alebo sofistikovanejšie metódy.
* Plánovanie udalostí: Časovač softvéru je nastavený tak, aby spustil udalosť alebo vykonal funkciu po stanovenom časovom intervale alebo v konkrétnom čase.
* implementácia: Implementácia sa líši v závislosti od programovacieho jazyka a operačného systému. Bežné techniky zahŕňajú:
* Anketa: Program nepretržite kontroluje aktuálny čas oproti cieľovému času. Je to jednoduché, ale spotrebuje zdroje CPU, pretože program musí aktívne monitorovať čas.
* prerušenie riadené (zriedkavé v čistom časovači softvéru): Aj keď sú menej bežné pre čisto časovače softvéru, niektoré môžu používať prerušenia systému v pravidelných intervaloch. Psovník prerušenia by skontroloval, či vypršali časovače softvéru. Je to efektívnejšie ako hlasovanie, ale vyžaduje interakciu na úrovni OS.
* Funkcie spánku/čakania: Program môže používať funkcie ako `Sleep ()` (v jazykoch ako C/C ++) alebo podobné konštrukty na pozastavenie vykonávania pre stanovené trvanie pred obnovením a kontrolou vypršania časovača. Toto je kompromis medzi prístupmi týkajúcimi sa hlasovania a prerušenia, ktoré používajú menšie CPU ako volebné miestnosti, ale potenciálne menej presné.
Výhody:
* Flexibilita: Časovače softvéru môžu byť ľahko naprogramované a prispôsobené tak, aby zodpovedali zložitým potrebám načasovania.
* prenosnosť (potenciálne): Dobre navrhnuté časovače softvéru sa dajú ľahšie prenosovať v rôznych operačných systémoch ako riešenia založené na hardvéri založených na časovači.
Nevýhody:
* CPU Riadenie: Časovače softvéru založené na prieskumoch môžu konzumovať významné zdroje CPU, najmä ak veľa časovačov beží súčasne.
* Presnosť: Presnosť časovača softvéru závisí od frekvencie, pri ktorej sa systémové hodiny aktualizujú, a od presnosti mechanizmu časového času systému. Všeobecne je to menej presné ako hardvérové časovače.
* Blokovanie (potenciálne): Jednoduché implementácie môžu blokovať ďalšie časti programu, kým čakajú na vypršanie časovača.
Prípady použitia:
Časovače softvéru sa bežne používajú v:
* Vývoj hry: Pre úlohy, ako je animácia, ovládanie nepriateľa AI a spúšťacie udalosti.
* vložené systémy: Kde hardvérové časovače môžu byť obmedzené alebo nedostupné.
* Operačné systémy: Pre plánovanie úloh a riadiace procesy.
* sieťové aplikácie: Pre časové limity a opakované opakovania.
Na rozdiel od hardvérových časovačov, ktoré sú vyhradené čipy na základnej doske, sú časovače softvéru čisto softvérovým konštruktom. Často sú dobrou voľbou pre jednoduchšie aplikácie alebo situácie, keď sú hardvérové časovače nedostupné alebo nepraktické na použitie, ale nenahrádzajú vysoko presné aplikácie v reálnom čase, ktoré si vyžadujú veľmi presné načasovanie.