Logo Blogo

Completely Fair Scheduler, come funziona?

Pubblicato: 20 dic 2009 da Lpt on fire!


In un articolo su deverloperWorks viene affrontato il tema del funzionamento dello scheduler CFS, Completely Fair Scheduler, di Linux e dell’evoluzione rispetto ai precedenti algoritmi.

Il concetto alla base del CFS è il mantenimento di un’equa distribuzione del tempo a tutti i processi. Quando uno o più processi non ricevono la loro giusta parte di tempo macchina allora l’algoritmo ribilancia la situazione dandogli la possibilità di essere eseguiti.

Per determinare il bilanciamento vengono mantenute in un RB-albero le informazioni sul tempo processore utilizzato e sul tempo in attesa di input/output.

Questa struttura dati consente di effettuare operazioni in tempo O(log n) e di bilanciarsi da sola. Lo scheduler prende il processo più a sinistra dell’albero e dopo averlo fatto girare, se è ancora runnable, lo reinserisce dopo avergli aggiungo il tempo processore utilizzato tornando a competere con gli altri per il processore.

Via | Ibm

1 stelle2 stelle3 stelle4 stelle5 stelle (5 Voti | Media: 4.2 su 5)
condividi condividi
4 commenti

Commenti dei lettori

(Inserisci un commento - Nascondi commenti anonimi)
  • Profilo di thelostone

    thelostone

    20 dic 2009 - 17:52 - #1
    0 punti
    Up Down

    Lpt sei andato proprio nel dettaglio tecnico con questo post!! Chiunque non abbia studiato per esami di Algoritmi, Sistemi Operativi e Programmazione non avrà idea di quello di cui si parla! Comunque molto interessante, approfondirò.

  • Profilo di Khamel

    Khamel

    20 dic 2009 - 21:09 - #2
    0 punti
    Up Down

    D’accordissimo con thelostone.Complimenti per gli articoli Lpt On Fire!,sono tutti molto interessanti :)

  • dgrossato.101

    21 dic 2009 - 10:50 - #3
    0 punti
    Up Down

    Ne avevo già parlato anch’io nel 2007 in termini un po’ più semplici e in italiano nell’articolo http://blog.dgrossato.com/2007/10/cfs-per-tutti-cfs-for-dummies.html . Se a qualcuno interessa .. ;-)

  • Profilo di lascoltodelvenerdi

    lascoltodelvenerdi

    21 dic 2009 - 16:36 - #4
    0 punti
    Up Down

    Mi pare di ricordare vagamente, che uno dei “punti deboli” degli alberi-RB era che, in alcuni casi particolari, il bilanciamento diventava molto costo (cioè molti nodi da eliminare e/o sortare).

    Come hanno risolto sto problema? oppure è una cosa puramente teorica che in pratica si può ignorare?

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento