Toolkit II, Manual de Usuario | ||
---|---|---|
Anterior | Siguiente |
Como el QDOS es un sistema operativo multitarea, y puede haber varias tareas ejecutándose a la vez en un QL, la cantidad de memoria libre es impredecible. Ninguna tarea debe asumir que la cantidad de memoria libre es fija. Puede usarse la función FREE_MEM para averiguar la cantidad de memoria libre (definida como el espacio disponible para el sistema de bloques esclavos de ficheros menos el espacio requerido para dos -en el QL Toolkit sólo uno- de dichos bloques).
Se puede reservar temporalmente espacio en la "pila común" mediante la función ALCHP la cual devuelve la dirección de la base del espacio reservado. Se pueden anular reservaciones individuales mediante el comando RECHP, o se pueden anular todas mediante los comandos CLCHP (limpia la pila común), CLEAR o NEW.
FREE_MEM devuelve la cantidad de memoria libre
ALCHP (número de bytes) reserva memoria en la pila común y devuelve la dirección de la base del espacio
RECHP dirección de la base libera espacio de la pila común
CLCHP libera todas las reservas de la pila común
Si se hacen grandes reservas en la pila común y, a continuación, se accede por primera vez a un disco, se puede causar un terrible mal a la pila llamado "fragmentación en gran escala": los bloques de definición del dispositivo se dispersan enormemente en la pila dejando grandes agujeros que dejan de estar disponibles excepto para entradas de la pila (es decir, en ellos no se pueden cargar programas). Un solución simple pero peligrosa consiste en borrar los bloque de definición de los dispositivos:
DEL_DEFB borra fichero de los bloques de definición de la pila común
Aunque en dicho procedimiento toma precauciones para minimizar el daño, debe tenerse cuidado de evitar el uso de este comando cuando algún dispositivo de tipo directorio esté activo.
Anterior | Índice de Materias | Siguiente |
Control de la pantalla | Parámetros de procedimientos |