Virtual memory
The initial versions of the system provided no support for virtual memory and address translation. Only one active user could reside in core memory at any time. Swapping (to disk) was used to time-share between different users, and a variable-length timeslice was used. Virtual memory support was introduced in 1985. This allowed multiple users to be in core memory at the same time, removed many of the restrictions in the size of the programs that could be run and provided a significant performance improvement. System performance was also improved by pre-loading commonly used modules into virtual memory at startup time where they could be available to all users simultaneously.