Názor k článku
SCO: „Linux je kopie UNIXu“ od Lael Ophir - Ten počet syscalls je ve skutečnosti četnost syscalls....

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 5. 2008 14:43

    Lael Ophir (neregistrovaný)
    Ten počet syscalls je ve skutečnosti četnost syscalls. Kernel mode transition je drahá věc, to oba víme. Pokud máte GDI v user mode, tak ho zavoláte jedním voláním (NakresliKřivku), a na druhé straně vypadne dlouhá řada syscallů. Když máte GDI v kernel mode (NT 4.0), tak provedete jedno volání typu NakresliKřivku, to vyústí v jeden syscall, a zbytek volání probíhá v kernel mode. V praxi je to trochu složitější, protože NT 3.51 i NT 4.0 používaly řadu optimalizací, ale rychlost vyšla silně ve prospěch GDI v kernel mode. Více zde:
    http://www.microsoft.com/technet/archive/ntwrkstn/reskit/archi.mspx?mfr=true

    Nevím, jak byl implementován Citrix, ale implementace RDP mi přijde celkem dobrá. Prostě máte vyjma grafické karty, tiskáren a plotterů další grafické zařízení, kterým je driver Remote Desktop Protocolu. Pěkné je třeba to, že při otevírání RDP session vám klient řekne, jaké má capabilities (barevné obdélníky, cache bitmap, rendrování fontů; neoficiální klient pro DOS umí jen rastrovat bitmapy), a GDI potom high level volání překládá do primitiv, která klient umí (podobně jako u grafických karet, tiskáren apod). Rozšíření Windows NT o session management bylo sice trochu drsnější, ale jednou to přijít muselo. Naopak vlastní RDP protokol je zvolený celkem šťastně. Netrpí na round-trip hell jako X11, umožňuje kompresi, odpojení a opětovné připojení k session, šifrování, a protože podporuje kanály, bylo lehké přidat podporu vzdáleného clipboardu (objektového, nikoliv textového - zkuste si), vzdálený zvuk, smart cards na přihlašování apod. Navíc je protokol rozšiřitelný na aplikační úrovni, což potěší vývojáře (i když - kdo tohle kdy použil).

    Windows byly od začátku modifikovaným mikrokernelem. Na rozdíl od čistého mikrokernelového designu běžely servery vždy v kernel mode (NT executive). GDI jen drží tenhle trend. A důvod je pořád stejný: drahý kernel mode transition.