REDUCE

26.2 New unexec procedure, Image model

PSL’s former unexec model (Savesystem) was to produce executables in the sense of the operating system (mostly a.out files). This has led into maintainance problems with various new file formats (e.g. ELF, COFF) and dynamic loading. Influenced by the model developed for the PSL on Personal Computers, for all new PSL versions for new architectures the so called image model is used. This simply means that the command savesystem does not write an executable file but it puts all the LISP data into a file such that the information can be reloaded afterwards. The reload is done by the program $pxk/bpsl when the -f parameter is used. The dumpfiles names get the suffix .img, e.g. the command

(savesystem "Banner" "dir/file" initform)

produces a file dir/file.img which can be restarted by issueing the command

$pxk/bpsl -f dir/file.img

The LISP data written to the file are: SYMVAL, SYMPRP, SYMFNC, SYMNAM and SYMGET, hashtable and the allocated parts of bps and heap. This reduces the amount of disk storage used drastically.

To insure proper reloading, the program bpsl can be used for reloading of images only if these were written from its own core image. A check for this is provided using a datetag scheme which must be the same in bpsl and image file. The error message Cant start image with this bpsl means that the check was not successful and you have to produce a new image file. This normally happens when the file bpsl is rebuild.

In very rare cases after dramatic changes in the environment (generally speaking), you may get the message Cant relocate the image. In this case, please try to rebuild the images. If this fails (it should not), please try

$pxk/bpsl -f dir/file.img -g 1000000

If this works properly, you may try to reduce the g value. In any case please send a note the the author of this document.