Virtual machines

Dick Dunn rcd at opus.UUCP
Tue Jan 8 17:58:03 AEST 1985


> ...
> You managed your "core image" via front-panel-like commands, such as "examine"
> and "deposit". It was perfectly legal to sit and type octal machine code into
> (your job's) core and run it. You could "get" an image, run it, halt it, patch
> it, and "save" it again. When a program exited, the core image was still there.
> 
> In fact, certain large programs depended on this -- after compiling one
> of them you would run it one time so it could build its symbol tables (or
> whatever), then it changed its starting address and exited so you could save
> it with the startup code already done (a trick "ps" could use, no doubt!).

This is a trick I've seen in more than one interpretive implementation of a
language.  A predefined procedure is provided in the language which
"freezes" a copy of the program, interpreter and all, at the point the
procedure is called.  When you have a program which requires a lot of setup
(or if the interpreter itself has a long startup time), you "freeze" the
program after the initialization and save the image at that point for
people to use.  It could conceivably even be useful for compiled
implementations of languages such as Pascal which (in their standard form)
lack data initialization.
-- 
Dick Dunn	{hao,ucbvax,allegra}!nbires!rcd		(303)444-5710 x3086
   ...I'm not cynical - just experienced.



More information about the Comp.unix.wizards mailing list