The design of an operating system for modern programming languages

James F. Philbin · 1993

This dissertation describes an operating system, called Sting, that provides an efficient foundation for the implementation of modern programming languages. Modern languages can be distinguished from traditional ones by their support for concurrency, various synchronization models, anonymous first class procedures, objects, automatic storage management, and topology mapping. Significant efficiencies can be achieved by integrating support for these mechanisms into the operating system. The fundamental concurrency constructs of Sting are virtual machines, virtual processors, and threads. Each is a first class object. Sting threads are extremely lightweight and the implementation provides significantly more locality of reference than previous systems have. First class virtual processors in combination with threads allow programmers and language designers to build virtual topologies that can be used to enhance the efficiency and portability of parallel algorithms. Sting separates control mechanisms from policy mechanisms. Policy management is completely customizable. Each virtual machine or virtual processor can have a distinct policy manager, allowing many different scheduling policies to co-exist on the same machine. Several other significant innovations are discussed in the dissertation.

Read the paper · More papers on PaperTik