El planificador es parte del kernel o n£cleo de OS/2 y como tal funciona al nivel m s bajo del sistema (para m s informaci¢n acerca de esto, lea las explicaciones de la p gina Reiniciar el WPS).

El planificador es responsable de la multitarea y la ejecuci¢n multihilo en OS/2. Puesto que normalmente su ordenador tendr  un solo procesador, pero pretender  utilizar varios programas a la vez, el planificador cambia entre estos programas varias docenas de veces por segundo, de modo que los programas parecen ejecutarse en paralelo.

Para entender las diferentes opciones de la p gina "Planificador" del objeto "OS/2 Kernel", las siguientes explicaciones sobre c¢mo gestiona OS/2 los procesos e hilos de ejecuci¢n pueden ser de ayuda. En esa p gina de opciones recibir  informaci¢n m s espec¡fica sobre cada opci¢n si pulsa el bot¢n "Ayuda" que all¡ se encuentra.

Un hilo es la unidad m s peque¤a que proporciona OS/2 para los cambios de administraci¢n de programas. Un programa puede contener varios hilos de ejecuci¢n, pero necesita tener al menos uno. Se escogi¢ el t‚rmino "hilo" (tambi‚n puede encontrarse "hebra") porque dentro de cada hilo las instruciiones se ejecutan secuencialmente, mientra que entre hilos nunca se puede estar seguro de que una instrucci¢n de un hilo se ejecute antes o despu‚s que otra instrucci¢n de un hilo diferente.

Las aplicaciones de OS/2 bien programadas utilizan varios hilos de ejecuci¢n para asegurarse de que el usuario tenga una respuesta r pida a la introducci¢n de datos o a las acciones del rat¢n. Por ejemplo, si ejecuta en un programa un mandato que requiera mucho tiempo, el programa deber¡a iniciar un hilo secundario para esta tarea. As¡, mientras este nuevo hilo se ejecuta en segundo plano, el interfaz de usuario (en el hilo principal del programa) est  listo de nuevo para recibir nuevas ¢rdenes del usuario.

Las aplicaciones de OS/2 no tan bien programadas utilizan s¢lo un hilo de ejcuci¢n para el interfaz de usuario y ejecutar tareas. Como resultado, mientras se ejecuta una tarea, se bloquea el interfaz de usuario. Un buen ejemplo de esto viene de la propia IBM: en VIEW.EXE, si se realiza una b£squeda en todas las bibliotecas, el programa se bloquea completamente hasta que finaliza la b£squeda. Esta tarea habr¡a sido perfecta para la ejecuci¢n multihilo.

Los hilos pueden tener diferente prioridad. En general, un hilo con mayor prioridad obtiene m s tiempo de procesador que uno que tenga una prioridad m s baja. Esto es especialmente cierto si hay hay varios hilos con trabajo pendiente, es decir, que compiten por tiempo del procesador; no obstante, esto no se aplica a los hilos que se encuentren "bloqueados" porque no tengan nada que hacer actualmente. Un hilo bloqueado por inactividad no necesita tiempo de procesador y por tanto no es importante qu‚ prioridad tenga.

OS/2 is capaz de controlar la prioridad de los hilos de una manera muy refinada. Diferencia entre cuatro clases de prioridad:

  1. "Prioridad de inactividad" es la clase de prioridad m s baja. Esto significa que un hilo s¢lo accede a tiempo de proceso si no hay ning£n hilo de mayor prioridad que lo requiera. Tales hilos son £tiles para descargar el ordenador de trabajo que necesita ser hecho pero que puede esperar hasta que haya tiempo para realizarlo. Un ejemplo de tal hilo es el hilo de trabajo de XFolder, que sigue la pista de todos los objetos despertados por el WPS en el sistema. Esto consume bastante tiempo, pero no es una tarea cuya ejecuci¢n resulte cr¡tica, de modo que se hace con prioridad de tiempo de inactividad.
  2. "Prioridad normal" es la clase que utiliza la mayor¡a de los hilos de ejecuci¢n. Tambi‚n es la clase de prioridad que OS/2 asigna a los hilos si no se especifica otra cosa. OS/2 var¡a din micamente los niveles de prioridad entre los hilos de esta clase (m s sobre esto m s adelante) para asegurarse de que ning£n hilo se queda sin tiempo de proceso.
  3. "Prioridad alta (fija)" es la segunda clase de prioridad m s alta, para los hilos que necesitan prepara datos para la clase "normal", lo cual necesita realizarse con rapidez sin verse influenciado por las variaciones din micas de prioridad de los hilos "normales". Se utiliza frecuentemente para mostrar mensajes.
  4. "Prioridad cr¡tica" es la clase de prioridad m s alta para los hilos que necesitan ejecutarse inmediatamente cuando hay trabajo que hacer. Tales hilos recibir n tiempo de proceso inmediatamente y no ser n interrumpidos hasta que terminen su trabajo. Esta clase de prioridad se utilizza para tareas en las que el tiempo es cr¡tico, como por ejemplo redes y programas de comunicaciones.
Dentro de cada clase de prioridad uno puede definir un nivel de prioridad. Esto es un valor de -31 a +31 que determina la preferencia de un hilo dentro de su clase de prioridad.

Algunos ejemplos:

Por otra parte, un proceso es el t‚rmino de OS/2 para una aplicaci¢n o programa que se carga en memoia. Cada proceso debe tener al menos un hilo. Cada proceso contiene datos comunes, y controla el acceso a los recursos del sistema. Los procesos son protegidos unos de otros por OS/2 en el sentido de que el sistema proh¡be los accesos a la memoria que no pertenece el proceso que intenta realizar el acceso ("protecci¢n de memoria"). Por el contrario, varios hilos de un proceso pueden acceder a la memoria del proceso, puesto que el criterio de administraci¢n de la memoria est  basado en procesos. Esto mismo se aplica a otros recursos del sistema, tales como archivos abiertos.