Architektúra operačných systémov
1. Monolitická a jednoduchá architektúra
Prvé operačné systémy používali monolitickú štruktúru, kde bol OS zreteľne oddelený od aplikačných programov. K hardvéru mal prístup iba OS bežiaci v privilegovanom režime. Keď program žiadal o vykonanie systémovej služby, bol proces prepnutý do privilegovaného režimu, až kým neukončil túto službu. Jednoduchú štruktúru majú zväčša malé OS, napríklad MS-DOS. Jeho komponenty nie sú celkom oddelené, programy majú prístup až priamo k hardvérovým službám.
2. Viacvrstvová architektúra
Výhoda viacvrstvovej architektúry je v jej modularite. Každá časť môže využívať funkcie nižších vrstiev. Každá vrstva je objekt pozostávajúci z dát a operácii nad týmito dátami.Je jasné, že návrh a implementácia systémov s viacvrsvovou architektúrou je uľahčená tým, že moduly je možné testovať nezávisle. Z toho vyplýva aj väčšia spoľahlivosť takýchto systémov. Istou nevýhodou je to, že trpí efektívnosť. Kým systémové volanie prejde všetkými vrstvami, mnohými modulmi, mnohokrát sa zmení štruktúra posielaných dát a vykoná sa veľké množstvo kódu, čo spomaľuje niektoré operácie.
3. Architektúra klient-server
Operačný systém je rozdelený na servere, ktoré sú špecializované na služby, ktoré ponúkajú. Napríklad existuje server na správu pamäte. Každý server beží v užívateľskom režime a v nekonečnej slučke a čaká na požiadavky aplikácií. Architektúra klient-server má tú výhodu, že servery sú oddelené procesy, ktoré sú nezávislé a teda spoľahlivejšie. Ďalšou výhodou je, že sa ľahko zabezpečí rozloženie výpočtu medzi niekoľko výkonných počítačov, ak je niekoľko serverov umiestnených na viacerých počítačoch.
4. Objektová architektúra
Operačný systém má v tomto prípade jednotlivé komponenty rozdelené do objektov, ktoré majú svoje rozhranie a svoju ochranu. Je podobné architektúre klient-server. Objektovú architektúru využívajú operačné systémy NextStep a čiatočne aj vyššie verzie Windows NT, 2000 a XP. Treba poznamenať, že operačný systém, ak má objektovú architektúru, značne uľahčuje objektové programovanie aplikácií preň určených (najmä výrobcom kompilátorov).