Názor k článku Porovnání systémů Linux a FreeBSD od freza - Jen detail, > Nicméně implementace těchto funkcí je velmi...

  • Článek je starý, nové názory již nelze přidávat.
  • 13. 11. 2003 21:04

    freza (neregistrovaný)

    Jen detail,

    > Nicméně implementace těchto funkcí je velmi mizerná —
    > nevytváří se žádná fronta procesů jako na Linuxu a funkce
    > wakeup prochází všechny procesy v systému, aby zjistila,
    > který na danou událost čeká.

    Presneji (alespon na NetBSD) je to tak, ze system udrzuje
    128 front, pri tsleep se cekajici proces zaradi do jedne z
    nich podle identifikatoru. Takze se neprochazi vsechny
    procesy v systemu, ale jen ty ktere spadly do stejne waitq
    tridy. Da se to brat jako hasovaci tabulka podle identu.

    > Procházení všech procesů je celkem náročná operace a v
    > tomto případě je to zcela zbytečné

    Zalezi na tom jak dobra je distribuce toho rozskakovaciho
    makra. Nejaky seznam se bude prochazet tak jako tak, jen
    tam obcas bude neco navic. Linuxova implementace (jedna
    fronta na kazdy wait channel) je asi v zasade lepsi, s ltsleep/wakeup se zas dobre pracuje (staci znat identifikator) a vsechno je na jednom miste...