Procesy ve Windows

 
 
Co mi to tu vlastně běží? – Procesy a jejich "běh" ve Windows – Patrik Malina (MCT, MCSE, Gopas)
* Včera z večera 🙂 jsem byl na konferenci. Moc vydařená, téměř 4 hodinová přednáška p. Maliny o
procesech ve Windows. Díky organizátorům WUGu bylo vše výborně připravené v prostorách OKsystem s.r.o. http://www.oksystem.cz/ 
Organizátorům a p. Malinovi patří poděkování nás všech. Díky.
 
– Jen okrajově se pokusím přenést, co mě nejvíce zaujalo.
 
* Postoupení uživatelovo "kliknutí" v programu přes procesy na vlákno a k procesoru, kde je finálně
zpracováno je otázkou priorit.
  Přístup vláken na procesor zajišťuje tzv. Scheduler. Řadí si je podle priority (kasty). Priorita
vlánka se dědí z procesu. Vyšší priorita má automaticky přednost. Co bude a nebude mít přednost je
možno řídít tím, co za "aplikaci" bude v tzv. user mode x kernel mode. Aby nedošlo k úplnému
vyčlenění, "user mode priorit" zajišťuje tzv. Context switch přepínání vláken a priorizaci časů
přístupu na procesor SW přerušení INT 2Eh, HW přerušení IRQ a Scheduleru.
  Tím je zajištěno komplexní fungování – dynamické měnění priorit (boost) a zamezení pův.
sl."starving".
 

* Architektura windows je taková, že se nedá předpovědět, jak dlouho poběží vlákno a kolik si vezme
paměti. Aplikace pracující na systému více vláken současně, vysílá vlákna na procesor(y). Ve
windows tedy není zřejmé a vyžadované vyčlenit přístup preferované aplikace na konkrétní procesor,
paradoxně tak může dojít ke zpomalení a přetěžování a je tím narušen tzv. multitasking,
multiprocessing.
  Změnu priorit, když už je také vhodné měnit reverzním postupem, tz. chci-li něčemu navýšit prioritu, je
lepší snížit prioritu nepreferovaného. Zvýšením priority může opět dojít k rozhození scheduleru,
popř. zamezení vrácení priority na pův. hodnotu.
 

* Celé chování systému je tedy ovlivněno již zmíněným kastováním, což mi nutí myšlenku, že je to
trochu odrazem americké mentality. Rozhodně to ale má logiku!
 
* Scheduler nelze upravovat.
 
* Závěrem několik tipů. Zkuste si sami projít, jak to celé funguje.