Apéndice A
En esta
sección queremos mostrar lo fácil que es utilizar DMT para crear, borrar y
pasar a primer plano una tarea. Se ha intentado minimizar el número de teclas
para realizar las anteriores operaciones y así dar la oportunidad al usuario de
que cree varias tareas y las ponga en ejecución simultánea de una forma rápida,
fácil y eficiente.
Para crear una
nueva tarea se ha de pulsar la tecla [Alt] + una tecla de función (F1, F2, ...,
F10). El número de la tarea vendrá determinado por la tecla de
función que se haya pulsado así, si por ejemplo, si pulsa [Alt] + [F2] se creará una nueva tarea cuyo
número de identificación es 2.
NOTA: Como se
comentó en el capítulo 1, según el tamaño de la memoria RAM se podrán ejecutar más o menos tareas a la
vez, por ello no todas las teclas de función estarán disponibles. Si
tenemos un ordenador con 8 Mbytes de RAM sólo se podran ejecutar 7 tareas
de usuario, con lo cual estarán disponibles las teclas de función (F1, F2,
..., F7).
|
|
Para finalizar
una tarea deberá de estar antes en primer plano y luego se pulsará la
combinación de teclas [Alt] +
[Ctrl] + [M] o
bien se escribirá EXIT en la línea de comandos del DOS.
Para pasar a
primer plano una tarea se deberá de pulsar la tecla [Alt] + tecla de función con
el número de la tarea. Así si tenemos la tarea numero 2 en segundo plano
podremos pasarla a primer plano pulsando la tecla [Alt] + [F2].
Si el usuario
que maneja DMT aún no se ha convencido de que todas las tareas se ejecutan de
forma concurrente puede probar a ejecutar DMT pasándole el parámetro /d (debug)
en la línea de comandos. Al pasar este parámetro a DMT, las tareas carecerán de
pantallas virtuales y todas accederán a la pantalla física al mismo tiempo, con
lo que se observará que todas las tareas se ejecutan de forma concurrente bajo
DMT.
Apéndice B
En este
apéndice queremos comparar aquellas ventajas y desventajas que posee DMT
respecto al procesador de comandos de Windows 3.11 y Windows 95, DOSX y VMM32
respectivamente.
El procesador
de comandos de Windows 3.11 es muy similar al de DMT ya que ejecuta todos sus
programas V86 con un IOPL igual a 3, con lo que les da mayor libertad de ejecución
en memoria, produciendo a veces el control total del sistema por una tarea o
una caída del sistema.
Al dar a las tareas V86 un IOPL igual a 3,
éstas pueden adueñarse del control de las interrupciones enmascarables evitando
su ejecución. Así, si una tarea V86 inhibe las interrupciones enmascarables y
se queda en un bucle infinito, DMT o Windows 3.11 no tendrán ocasión de
conmutar a otra tarea, ya que el despachador de tareas que funciona con las
interrupciones externas del reloj de tiempo real, no tendrá ocasión de
ejecutarse.
Windows 3.11 es superior a DMT en los
siguiente aspectos:
·
Posee un mecanismo de
memoria virtual que intercambia páginas de memoria a disco, con lo que aumenta
el espacio de direcciones lineales y puede ejecutar, por tanto, un mayor número
de tareas V86 en memoria.
·
Es capaz de ejecutar
programas en modo gráfico, aunque en algunos casos no lo consigue debido a la
resolución de algunos modos gráficos.
·
Puede ejecutar
programas que utilizan memoria expandida o e instala un servidor VCPI o DPMI
para que puedan ejecutarse tareas para el modo protegido.
·
Implementa algunos
servicios ofrecidos por el DOS, como imprimir una cadena por pantalla, desde el
modo protegido, con lo que aumenta la velocidad de ejecución de las tareas V86.
·
Ejecución de varias
tareas en ventanas separadas, lo que permite la visualización simultánea de
varias tareas por pantalla.
Aunque Windows 3.11 es superior a DMT, hay
algunas pequeñas características en las que DMT superan al procesador de
comandos de Windows 3.11 como pueden ser:
·
Como DMT no realiza
tantos chequeos como Windows 3.11 para la ejecución de tareas V86, posee un
código altamente optimizado para la emulación de servicios DOS y BIOS, con lo
que algunos programas DOS se ejecutan más rápidos en DMT que en Windows 3.11.
·
Da el mismo privilegio
para todas las tareas, con lo que las tareas en segundo plano se ejecutan a
gran velocidad. En Windows 3.11 las tareas en segundo plano tienen un bajo
nivel de privilegios con lo que tardan mucho tiempo en ejecutarse.
·
Windows 3.11 no es
capaz de ejecutar tareas en segundo plano que utilicen los registros
Pell-Pannig de la tarjeta VGA, que son los responsables de un scroll suave por
pantalla, en cambio DMT es capaz de realizar esto.
·
DMT da un número a
cada una de las tareas que ejecuta, con lo que el usuario puede pasar a primer
plano una tarea directamente una vez que conoce su número pulsando las teclas
de función. En Windows 3.11 se ha de pasar secuencialmente por todas las tareas
para pasar una a primer plano.
Con todo esto, podemos ver que Windows 3.11
es superior a DMT pero también hay que tener en cuenta que el tiempo de
desarrollo de DMT ha sido mucho menor que el de Windows 3.11 y se carecido de
información y bibliografía para el desarrollo de DMT.
Windows 95 ha
mejorado exponencialmente su procesador de comandos con respecto a Windows
3.11, ya que ahora Windows 95 ejecuta sus programas V86 con un IOPL menor que 3
con lo que tiene un mayor control sobre las operaciones que realizan los
programas V86. Con un IOPL menor que 3 las tareas V86 no pueden adueñarse del
control de las interrupciones enmascarables con lo que Windows 95 siempre será
el dueño del sistema. Aunque a veces se ha observado a Windows 95 bloqueado al
ejecutar varias tareas V86.
Todas las características que posee Windows
3.11 las posee también Windows 95 y además han sido mejoradas.
Windows 95 emula muchos mas servicios para
sus tareas V86 con lo que su ejecución son mucho más rápidas, incluso en
ventanas de pantalla.
Además es capaz de ejecutar cualquier tarea
que utilice cualquier modo gráfico tanto en segundo plano como en una ventana
de pantalla.
No es posible por tanto comparar a DMT con el
procesador de comandos de Windows 95 ya que este último posee muchas más
prestaciones que DMT.
Apéndice C
DMT es un
programa que depende fuertemente del hardware de la máquina, por lo que su
ejecución en distintas máquinas puede no ser correcta. DMT ha sido programado
en un 80486SX a 33Mhz y funciona correctamente.
En esta sección queremos mostrar el resultado
de varias pruebas que se han realizado al ejecutar DMT en distintas máquinas.
Por diversos motivos no he podido ejecutar DMT en tantas máquinas como me
hubiera gustado, pero de todas formas mostramos a continuación los resultados
de ejecutar DMT en algunas máquinas.
Al ejecutar
DMT varias veces en este ordenador, el sistema se bloqueaba justo antes de
crear la primera tarea. Tras darle varias vueltas a esto, probé a cargar DMT
sin ningún controlador instalado en memoria, es decir, pulsando [F5] nada mas
encender el ordenador. Tras esto se probó nuevamente DMT y su ejecución fue
correcta.
Cuando DMT
chequeaba la cantidad de memoria disponible para su ejecución (esto ocurre en
la presentación) el ordenador se quedaba bloqueado. Este problema no sé por qué
ocurría pero al ejecutar DMT bajo el turbo debugger se llegó a ejecutar la
primera tarea. Una vez creada la primera tarea, no se podían crear más tareas
ya que el despachador de tareas no se ejecutaba. Esto es debido a que no se
podía reprogramar el reloj de tiempo real en este ordenador para activar el
despachador de tareas.
Este ordenador
utilizaba el COMMAND.COM de Windows 95 como procesador de comandos, lo que
hacía que DMT se bloqueará tras cargar y eliminar varias tareas de memoria. Se
probó con un disco de arranque que utilizaba el COMMAND.COM del MS-DOS y su
ejecución era correcta un 80% de las veces.