Oddělení procesů stojí celkem dost prostředků. Takový context switch není zdaleka zdarma, a kernel mode transition je ještě dražší.
Neni to naopak?
Ano, preemptivní (za běhu kódu můžeme utrhnout execution a provést context switch) a reentrantní (kód lze provádět na více místech najednou) kernel. Mluvím o přepnutí kontextu ve chvíli, kdy se thread (proces) nachází v režimu jádra. Samozřejmě pokud kernel není preemptivní, zvyšuje se lacency. Pokud není reentrantní, je to problém při SMP (scalability velmi trpí). Samozřejmě preemptivní a reentrantní kernel nesmí držet statická data, a kde je to nutné (jako že takových míst je dost), musí se použít nějaký mutex. Když se tak postupuje od návrhu, je to celkem v pohodě. Pokud se preempce kernelu implementuje dodatečně, zavání to hromadou bugů a mizerným výkonem
Reentrantni je jadro uz pekne dlouho - kvuli multiprocessingu. Pridat tam pak preempci uz neni zas takovy problem. Mas nejake podklady ohledne tvrzeni, ze Linux ma mizerny vykon a hromadu bugu v kombinaci s CONFIG_PREEMPT (napr. relativne k Win), nebo jen mlzis?