[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