Vorige                       Titel                            Volgende
______________________________________________________________________


By changeing the contents of this RAM through an I/O port it is
possible to map any 4 Kb segment of the memory into one of the 16
positions in the CPU memory layout. Setting the writeprotectbit of
a position makes it impossible to write into that segment of the
memory.


                        Other systems.

The only other systems we looked at were UNIX and CANDE
(B7700 at the THE). Looking at CANDE wasn't very helpful as this
is a much larger system. The only thing we learned was how not to
present system output to the terminal.
UNIX was more interesting as it was designed for minicomputers.
We took over the idea of popelines and extended this to graphs.
(A graph is like a pipeline but instead of being onedimensional it
is multidimensional. It turns out, however, that graphs are nearly
impossible to type as a single string of characters. To be able to
use graphcs probably requires a totally different shell.)
Our main criticisms of UNIX are the chaotic use of controlcharacters
in the shell and the extenseve administration it keeps with every
file.


                        Main problems

- As everything is stored in memory a very large administration is
  necessary. (Most other systems keep most data on hard-disks.)
  The datastructure has to be so that administration is minimal
  but at the same time memory should not be wasted and access to
  the data has to be fast. (Administration is simple if memory is
  allocated in large chunks. This, on the other hand, uses a lot more
  memory than is necessary.)
- Many ways of memoryorganisation require a packer. This is a program
  that scans through all the memory and rearanges the order of the
  data so that the unused memory comes together in large chunks.
  Packers are very difficult to test and if they make a mistake it
  normally is fatal to the system. As they have to scan through and
  move nearly all the mamory they take a long time to run. During
  this time the administration isn't correct so no program can run.
  Apart from being very irritating for the users (the packer may
  well require up to a minute of processortime) this makes fixed-
  speed I/O such as taperecorders and disk very difficult.
- There are many different kind of things to store. (files, directo-
  ries, FIFO's for making pipelines, temporary buffers for I/O de-
  vices, program code, information about files, program and tasks,
  the administration itself etc. etc. The problem is to find a logical
  datastructure to store these and to limit the number of datatypes
  at the same time.
- The system has to be careful about tasks reading from and writing
  to loose ends. (A loose end is a FIFO where there is no task on
  the other side.) To make it easy to detect extra administration
  is necessary.
- The system has to make sure it doesn't lose a piece of memory.
  If it forgets that a certain piece is used or free this is a time-
  bomb wich will explode later on. This kind of errors are the most
  difficult to find as you have no idea when the fault occurred.

______________________________________________________________________

Vorige                       Titel                            Volgende