Kernel běží typicky v režimu supervisor
Uživatelský proces běží typicky v režimu user
Mějme program v režimu supervisor, pak jsou všechny vypsané x86 instrukce dostupné.
Mějme program v režimu user, pak můžeme používat instrukce MOV (přečte obsah paměti do registru, tady dávat pozor na to, ať tam není "nastaví obsah řídícího registru", to už je privilegované!) a SHL (bitový posuv vlevo).
Program je navržen jako vícevláknový, má hlavní vláknno a vytvoří 9 vláken. Všechna vlákna jsou téměř po celou dobu běhu procesu ve stavu blocked. Program spustíme na PC, který má 3 jádra, proces skončí za 17280ms (real time). Velikost časového kvanta je 10ms. Dobu potřebnou pro přepínání kontextu zanedbáme. Jaká bude doba běhu (v ms), pokud by PC měl 1 jádro navíc a každé jádro by bylo 2x výkonnejší?
Ideální by bylo mít 9 jader, ale my nejdřív používali jenom 3.
Pokud bychom měli jednojádrový procesor, proces by trval 3x déle - 51 840ms. Vydělíme to 4 - 12 960. Plus vydělíme 2x protože máme výkonnější jádra: 6480.
(U těchto typů úloh pozor na to, jestli je program jednovláknový, lehce se na to nachytává)