2009-08-12 14 views
23

Ho sentito pronunciare il termine "Tickless OS".cos'è un OS senza tick?

  • Che cosa significa?
  • Quali sistemi operativi sono senza tick?
  • In che cosa differisce da un sistema operativo non privo di tick (tickful?)?
+0

tickless -> windows 8 e linux dal 2006. aiuta il risparmio della batteria da parte di tuttowow la CPU per raggiungere lo stato di sonno profondo C7 per lunghi periodi. –

+1

Una risposta sorprendente può essere trovata anche qui su Quora http://www.quora.com/Operating-Systems/What-is-a-kkless-kernel – zavg

+1

È un sistema operativo immune al solletico. – nick

risposta

22

Un "segno di spunta" in termini di sistema operativo è un intervallo dopo il quale il sistema operativo si sveglierà per elaborare eventuali eventi in sospeso.

Quindi, se si dispone di un segno di spunta da 100 Hz, quindi 100 volte al secondo, il sistema operativo si riattiverà, verificare se sono scaduti i timer, eseguire le azioni se presenti, quindi tornare a dormire. Su un sistema tick-less, piuttosto che svegliarsi 100 volte al secondo per vedere se qualcosa è pronto per l'elaborazione, il sistema operativo esaminerà quando il prossimo timer scadrà e poi dormirà fino a quel momento.

Si noti che quando la CPU è attiva, ovviamente non entrerà in alcun tipo di modalità di sospensione e il kernel imposterà un interrupt per scopi di pianificazione. È senza tick (come fa notare il commento) quando non c'è niente in esecuzione sulla CPU o (nei kernel Linux molto moderni) quando è in esecuzione un solo processo.

Linux può funzionare con o senza tick, con un commutatore in fase di compilazione. Non conosco altri sistemi.

+1

Questo è in realtà falso. All'inizio pensavo che anche senza tick lo volesse. Tuttavia i kernel senza tick non esistono oggi. Sono "tick dinamici completi", il che significa solo che il loro timer periodico si disattiva quando c'è un'attività 0 o 1 in esecuzione, ma esiste ancora molto per il resto del tempo. (tra il kernel 2.16.18 e 3.0.x, l'opzione NO_HZ ha disattivato il segno di spunta solo quando sono in esecuzione 0 attività, 3.1 è piena din.) –

+0

@ v.oddou, ho aggiunto del testo di chiarimento. Stavo cercando di parlare del caso in cui non c'erano processi in esecuzione ma non era molto chiaro. –

+0

ok buon chiarimento. Informazioni su altri sistemi: ho sentito che Windows 8 era "tickless", non ho letto il libro sugli interni, quindi non sono sicuro che l'implementazione MS di "tickless" significhi lo stesso di Linux. –

9

Questo link fornisce alcune indicazioni: Avoiding Processor Wake-Ups Saves Power

Un frammento dal link qui sopra,

Per sfruttare al meglio le bassi stati di alimentazione attualmente offre la processori, il sistema operativo ha per consentire al processore di rimanere negli stati il più possibile. Una caratteristica lunga data del Linux * sistema operativo è stato un timer che supporta servizi come aiutare il sistema operativo tenere tempo interno e monitorare l'utilizzo della CPU da varie applicazioni e processi.

Mentre quella tick timer è utile, ha anche l'effetto collaterale di svegliare il processore quando è in uno stato di basso fino a 1.000 volte al secondo. In effetti, in alcune circostanze , il segno di spunta può impedire a il processore di entrare negli stati di risparmio energetico profondi . Chiaramente, questo effetto può avere un drammatico impatto negativo sull'utilizzo di energia dal sistema .

+0

Il link è scaduto – Alchemist

Problemi correlati