1. Maskinvarelag
Dette laget er det mest grunnleggende og gir direkte tilgang til maskinvarekomponentene i datasystemet, slik som CPU, minne og I/O-enheter. Maskinvarelaget er ansvarlig for å administrere avbrudd og kontekstsvitsjer, samt for å gi den nødvendige abstraksjonen for å la de andre lagene i operativsystemet fungere uavhengig av den underliggende maskinvaren.
2. Kjernelag
Kjernelaget er kjernen i operativsystemet og er ansvarlig for å tilby essensielle systemtjenester, som prosessadministrasjon, minneadministrasjon og filbehandling. Kjernelaget samhandler direkte med maskinvarelaget og er vanligvis implementert i et lavnivå programmeringsspråk som C eller C++.
3. Skalllag
Skalllaget er ansvarlig for å gi et brukergrensesnitt for operativsystemet og for å tolke og utføre brukerkommandoer. Skalllaget er vanligvis implementert som en kommandolinjetolk, men det kan også implementeres som et grafisk brukergrensesnitt (GUI).
4. Applikasjonslag
Applikasjonslaget er det høyeste nivået i operativsystemet og er ansvarlig for å kjøre brukerapplikasjoner. Applikasjonslaget er vanligvis implementert i et programmeringsspråk på høyt nivå som Python eller Java.