> > You can't make a useable Unix process hierarchy on a Sam. It hasn't got > > basic memory allocation facilities. Sure, if all your programs are below > > 32K then you can page them in and out without too much trouble. But how > > are you going to run programs which are over 32K? There's no way you can > > prevent one process from reading or scribbling over another process's memory > > and/or screwing up the entire system. > > Is't this the way DRiVER is working?? I was thinking about a way of > 'multiprogramming' in SAM by using 16/32K program-blocks. If you needed > bigger programs, you had to call a 'system-routine' that paged in and > out the needed 16/32K chunks of memory and making the data-space a part > of the 16/32K chunks. >
Driver (God I HATE the way Revelation spell it) allocates internal ram pages to applications for program code. Any other available memory is allocated as data when the application requests it, and the application sees this allocation as its logical machine. It seems the obvious way to do it on a SAM - otherwise writing relocatable program code becomes more difficult. As for programs over 32k long... things become difficult. I partially solved the problem by instructing applications either to restrict their size or to page the extra code into himem (section CD) and make calls from there. Things like every application's stack etc. still have to be in the 32k. Steve.

