Всяка операционна система е съставена, в най-общ план, от ядро и обвивка. Ядрото се грижи за абсолютно всички процеси, които се изпълняват както и за комуникацията със наличните устройства. То осигурява работата на обвивката и на приложните програми. Обвивката служи за връзка между потребителя и ядрото. Тя може да бъде както графична така и команден ред. Операционната система използва и друг вид системен софтуер, който обаче не е част от самата операционна система драйверите. Те служат за връзка между ядрото на операционната система и съответните физически устройства. Самата операционна система има вградени драйвери за определени устройства като процесор, временна памет, твърд диск и др. които осигуряват нейната работа.
Операционните системи работят на следния принцип: когато потребителят или дадена програма подаде команда към обвивката на операционната система, тя се предава на ядрото, което я обработва във вид, разбираем за компютъра или ако не може да я обработи, подава командата на драйвера на съответното устройство, който я превежда на машинен език.