ESTRUCTURA DEL OS/2

(Selector de Programas, Sesiones, Procesos y Threads)

La estructura de OS/2 a nivel de multitarea se centra en los tres conceptos dados anteriormente: Threads y Procesos, gestionados por el núcleo, y Sesiones, gestionadas por los subsistemas y por el Selector de programas.

El selector de programas es la parte de OS/2 que se encarga de conmutar la pantalla, teclado y ratón físicos hacia los buffers lógicos de cada sesión. Para ello, incluye un API propio, que permite a una sesión hacer pasar a primer plano a cualquier sesión hija.

Surje la cuestión de como se arranca la primera sesión, la que nos permitirá arrancar nuevos programas, etc. Para ello, OS/2 incluye una línea en el CONFIG.SYS que le indica un proceso que debe arrancar al principio de todo. Este proceso será el Shell del sistema.

El Shell del sistema, en principio, puede ser cualquier programa, de modo que al arrancar OS/2, se arrancará éste también. Sin embargo, para que sea útil, tiene que permitir arrancar nuevas sesiones desde él y pasar el control a éstas.

En OS/2 1.0, el Shell del sistema era un simple menú, que contenía los programas básicos (como una línea de comandos). Pulsando sobre estos, se arrancaba una nueva sesión con éste, y se le cedía el control. En las versiones posteriores, como Shell se pone el Presentation Manager. Este es el gestor de ventanas. Sin embargo, el PM no incluye ningún Shell, por lo que surge una nueva línea en el CONFIG.SYS, que especifica qué Shell debe arrancar el PM. Este Shell, por defecto, es el Work Place Shell, o WPS, que es el que nos da la orientación a objetos del escritorio de OS/2; sin embargo, puede ser cambiado por otro cualquiera. Por ejemplo, poniendo como Shell el CMD.EXE de OS/2, tendremos una situación parecida a UNIX, en la que arrancamos siempre desde una línea de comandos.

El selector de programas incorpora dos Hot Keys o Teclas Calientes: Ctrl+Esc y Alt+Esc. La primera pasa la sesión actual a segundo plano y vuelve a poner el Shell en primer plano. Esto nos permite arrancar nuevas sesiones sin cerrar la actual. La segunda permite conmutar de una sesión a otra de forma cíclica, pero sin pasar por la del Shell.

OS/2 es muy atento con el usuario, y por eso tiene especial cuidado con el Shell. Dado que se trata del principal nexo de unión entre ambos, si se produce un error y el Shell se cierra, OS/2 abre uno nuevo inmediatamente, sin afectar para nada al resto de las aplicaciones que estaban corriendo. De esta forma el usuario nunca se queda sin control de la máquina. No olvidemos que el Shell es un programa más, que no corre en el núcleo, y que por tanto puede contener errores.

De todo esto deducimos varias cosas

Pagina anterior  Indice  Pagina siguiente