Degree Name

Doctor of Philosophy


Department of Computer Science


This thesis describes the design of a small personal computer, which has the hardware design influenced by the requirements of the operating system, and the operating system design influenced by the considerations of hardware efficiency and cost. The operating system has its requirements met with simple hardware support. The hardware is constrained to provide support which can be conveniently used by the operating system. Various units of the machine are looked at in detail and novel approaches are suggested which will allow software to make best use of the hardware. The video memory board allows multiple pixels to be simultaneously modified, adjacent either horizontally or vertically. The placement of the memory management and cache units allows retention of information across context switches, yet also allows retention of information after memory has been reorganised. Coprocessor integration allows programs to be written with no need for knowledge of the existence of co-processors, yet benefit when co-processors are provided, with no emulation overhead. The operating system is able to handle the assignment of processes to multiple processors, attempting to provide a best fit, even when the processor types may include proper subsets. An interesting approach to compaction is covered, dealing with trying to keep the amount of reorganization to a minimum. A method of supporting communication both with a Send-Receive, and a Send-Receive-Reply scheme is given, which allows all parties to be in control of, or aware of the distinction on a message by message basis.