Kodols vairumam operētājsistēmu ir galvenais komponents; tas pārvalda sistēmas resursus, ir tilts starp programmatūras komponentiem un faktisko datu apstrādi, kas tiek veikta aparatūras līmenī. Kodols nodrošina resursu (galvenokārt procesoru un ievadizvades ierīču) zemāko abstrakcijas slāni, kuru lietojumprogrammatūra var kontrolēt, lai veiktu savas funkcijas. Parasti šīs ierīces lietojumprocesiem ir pieejamas ar starpprocesu komunikācijas mehānismiem un sistēmas izsaukumiem.
Operētājsistēmu uzdevumi tiek veikti dažādi dažādos kodolos, atkarībā no to konstrukcijas un īstenošanas. Ja monolīts kodols izpilda visu operētājsistēmas kodu vienā un tajā pašā adrešu telpā, lai paaugstinātu sistēmas veiktspēju, tad mikrokodols darbina vairumu operētājsistēmas servisu lietotāja telpā kā serverus, ļaujot uzlabot operētājsistēmas uzturamību un modularitāti. Starp šīm divām galējībām eksistē dažādi risinājumi.