Man kan enkelt säga att ett operativsystem består av två lager. Det översta lagret API, Application Programming Interface, är det som kommunicerar med de olika programmen i datorn. Detta lagret består av färdiga programfunktioner som andra program kan utnyttja, t.ex olika dialogrutor som kommer upp när man skall spara en fil, skriva ut mm. Eftersom programmen och operativsystemet är anpassade efter varandra så är funktionerna i detta lager desamma oavsett vilken hårdvara de körs på.
HAL, Hardware Abstraction Layer, Är tolken mellan hårdvaran och programmen. Man skulle kunna säga att det skapas en virtuell dator som alltid fungerar på samma sätt mot programmen. På så vis kan programmakarna skapa program som fungerar mot denna "virtuella dator" och de behöver bara veta hur just den fungerar, de behöver inte ta hänsyn till den fysiska hårdvaran. Åt andra hållet anpassar sig HAL mot den fysiska hårdvaran med hjälp av drivrutiner. När man installerar Windows i en dator måste man, som ni vet, oftast även installera olika drivrutiner så att allting fungerar som det skall. Det skulle man kunna säga är den delen av HAL som anpassas mot hårdvaran. Utan HAL skulle man behöva installera drivrutiner för varje program man installerar på datorn.
Ett operativsystem skulle kunna sägas vara en tolk mellan datorn och användaren. Operativsystemet kontrollerar inmatning från tangentbordet, skriver på skärmen, styr skrivaren och håller ordning på datalagringen. Operativsystemet innehåller också hjälprutiner för t.ex kopiering, flyttning och borttagning av information. Operativsystemet bevakar minnesutrymmet internt och kontrollerar vad som finns på de yttre lagringsenheterna. Gamla operativsystem var teckenbaserade. Nya operativsystem är oftast grafiska d.v.s att man pekar och klickar.
Hur fungerar ett operativsystem?
Operativsystemet i datorn kan ses som en länk mellan datorn hårdvara och användaren, och mellan datorn hårdvara och de olika programmen som körs i datorn.
Om man skulle köra programmen direkt i datorn utan operativsystem så skulle det behöva finnas en mängd olika versioner av programmet, eller så skulle programmet nästan behöva vara ett operativsystem i sig. Eftersom alla datormodeller har olika hårdvara måste programmet anpassas att fungera med alla dessa. Operativsystemet är anpassat att, med hjälp av olika drivrutiner, fungera ihop med all hårdvara så programmen behöver bara anpassas att fungera ihop med operativsystemet.