Las diferentes características especializadas del sistema operativo permiten a los computadores manejar muchas diferentes tareas así como múltiples usuarios de modo simultáneo o en paralelo, bien de modo secuencial.
En base a sus características específicas los sistemas operativos se pueden clasificar en varios grupos:
Multiprogramación/Multitarea
La multiprogramación permite a múltiples programas compartir recursos de un sistema de computadora en cualquier momento a través del uso concurrente de una UCP.
Sólo un programa utiliza realmente la UCCP en cualquier momento dado, sin embargo, las necesidades de entrada/salida pueden ser atendidas en el mismo momento.
Dos o más programas están activos al mismo tiempo, pero no utilizan los recursos del computador simultáneamente.
Con multiprogramación, un grupo de programas se ejecutan alternativamente y se alternan en el uso del procesador. Cuando se utiliza un sistema operativo de un único usuario, la multiprogramación toma el nombre de multitarea.
Multiprogramación
Método de ejecución de dos o más programas concurrentemente utilizando la misma computadora. La UCO ejecuta sólo un programa pero puede atender los servicios de entrada/salida de los otros al mismo tiempo.
Tiempo compartido (múltiples usuarios, time sharing)
Un sistema operativo multiusuario es un sistema operativo que tiene la capacidad de permitir que muchos usuarios compartan simultáneamente los recursos de proceso de la computadora.
Centenas o millares de usuarios se pueden conectar al computador que asigna un tiempo de computador a cada usuario, de modo que a medida que se libera la tarea de un usuario, se realiza la tarea del siguiente, y así sucesivamente.
Dada la alta velocidad de transferencia de las operaciones, la sensación es de que todos los usuarios están conectados simultáneamente a la UCP con cada usuario recibiendo únicamente un tiempo de máquina.
Multiproceso
Un sistema operativo trabaja en multiproceso cuando puede enlazar a dos o más UCPs para trabajar en paralelo en un único sistema de computadora.
El sistema operativo puede asignar múltiples UCPs para ejecutar diferentes instrucciones del mismo programa o de programas diferentes simultáneamente, dividiendo el trabajo entre las diferentes UCP.
La multiprogramación utiliza proceso concurrente con una CPU; el multiproceso utiliza proceso simultáneo con múltiples CPUs.