Én egy kitüntetett irányból közelítettem meg a kérdést, nevezetesen mire készült dedikált hardveres támogatás: az időosztás (vagy sima időzítő megszakítás) megvolt a kezdeti rendszerekben is, erre jött az felhasználói programok által módosítható környezet (regiszterek, FPU) hardveres mentése/visszatöltése, majd ezek elszeparálása (pl. lapozás); jelenleg gyakorlatilag a teljes CPU-környezet (beállított lapozási módok, felprogramozott vezérlőregiszterek, ...) váltása történik hardveresen, és terjed az IOMMU-féle szeparálás (a lapozás "megfelelője" a hardverekre).
Ez egyféle megközelítés, nyilván nem teljeskörű; viszont a többi, amit említesz, desktop és applikáció, többé-kevésbé (alap)szoftveres kérdés.
Lehetséges az egészet tisztán szoftveresen is megközelíteni, úgy abszolút elmosódnak a határok, pl. [link].
Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙