En el diseño y la concepción de un SO, los programadores utilizan varias técnicas y sistemas que mejoran el funcionamiento en situaciones concretas aunque, en otros, esto puede afectar de manera negativa. Por esta razón, conviene instalar el SO más adecuado a cada tarea a la que se dedique.
Sistemas operativos multitarea
Hay dos esquemas que los programadores de sistemas operativos utilizan para desarrollar un SO multitarea: la multitarea cooperativa y la multitarea con asignación de prioridades.

El concepto multitarea define la capacidad de un SO para ejecutar más de un programa de manera simultánea.

El sistema operativo multitarea cooperativa
Este SO fue utilizado, entre otros productos, por MS-DOS y las aplicaciones de Microsoft Windows 3.11 o versiones anteriores. Requiere la cooperación entre el SO y los programas de aplicación, en los cuales se incluyen funciones que controlan periódicamente si otro programa necesita el procesador. En caso afirmativo, pasan el control del procesador al programa en cuestión.
El sistema operativo multitarea con asignación de prioridades
Mantiene la lista de procesos que están en ejecución, generalmente aplicaciones del usuario. Cuando se inicia cada proceso, el SO le asigna un determinado nivel de prioridad según sus características. En cualquier momento, el SO puede organizar de manera efectiva la lista de prioridades para intervenir y modificar la prioridad de un proceso. De la misma manera, el SO mantiene el control de la cantidad de tiempo de ejecución real en cualquier momento del proceso antes de cambiar al siguiente. Mediante el método de multitarea por asignación de prioridades (usado en Windows 98, Unix, OS/2 y Windows NT), el SO puede sustituir en cualquier momento el proceso en curso y reasignar el tiempo a una tarea nueva con una prioridad superior.
El sistema operativo multiusuario

Un SO multiusuario permite acceder de manera simultánea a más de un usuario en un mismo ordenador.
