[TUHS] What is the intermediate code generated by the bc interpreter?
Dave Horsfall
dave at horsfall.org
Wed May 14 09:05:17 AEST 2025
On Mon, 12 May 2025, Noel Chiappa wrote:
> I found a /jnk directory in MIT-CSR's root; it had a lot of interesting
> stuff in it. One particularly interesting one was 'kov':
>
> The idea of this kernel overlay scheme is to increase the amount of
> code that can be included in the UNIX kernel. This is done by reserving
> one of the I space segmentation registers (the highest free, usually
> KISA5 for non-split systems) and changing its value dynamically so as
> to map in the appropriate code as needed. I chose to use only one page
> register (limiting each KOV to 4Kw), in order to minimize the mapping
> overhead.
Hammering KISA5 on 40-class machines seemed to have been a common trick in
those days. For example, the AUSAM buffering scheme at UNSW had a global
kernel symbol "b" (analogous to "u") sitting at 100000 (?) that pointed to
the current buffer header; you could have as many buffers as physical
memory allowed, ending the dreaded buffer-hang problem.
-- Dave
More information about the TUHS
mailing list