Un sistema operativo puede estructurarse de varias maneras, incluyendo una estructura monolítica donde todo el código está entrelazado, una estructura de micronúcleo que separa las funciones centrales del núcleo de la interfaz de usuario, y una estructura jerárquica donde partes del sistema contienen subpartes organizadas en niveles. Otra estructura es la máquina virtual, donde el sistema operativo separa la multiprogramación de la máquina física subyacente para integrar diferentes sistemas operativos.