Un sistema operativo gestiona los recursos del computador como la memoria y el tiempo de CPU. Proporciona servicios a los programas y ejecuta las órdenes de los usuarios. Se organiza en capas con interfaces bien definidas para modularidad y ocultación de información. Ofrece servicios a los programas para ejecutarse en un ambiente protegido a través de una máquina virtual extendida.