Abstrakcijo nižjenivojske strojne opreme predstavlja gonilnik, prek katerega namenski programi z uporabniške ravni posegajo po napravi. Ta je navadno sestavljena iz različnih elementov, ki jih je mogoče programirati, kot so krmilniki, procesorji itn.