Building Fundamentally Extensible Application-Specific Operating Systems in SPACE [Probert, Bruno]
We refine and extend previous work towards a new approach to implementing operating systems. This... more We refine and extend previous work towards a new approach to implementing operating systems. This approach, called SPACE, uses processors, address spaces, and a generalized exception mechanism as the basic abstractions rather than processes, virtual memory, and interprocess communication. The result is that the facilities provided by the hardware architecture are exposed, and can be directly used by applications to achieve higher performance and more diverse functionality than is possible with conventional operating system abstractions. In SPACE the conventional abstractions can coexist with new application-specific abstractions, due to the fundamental extensibility of the SPACE primitives. Applications can implement their own versions of system services to satisfy critical functional and performance requirements while still benefiting from standard system services. In this paper we present a generalization of our earlier framework which allows the SPACE primitives themselves to be ...
Building Fundamentally Extensible Application-Specific Operating Systems in SPACE 1
We refine and extend previous work [1] towards a new approach to implementing operating systems. ... more We refine and extend previous work [1] towards a new approach to implementing operating systems. This approach, called SPACE, uses processors, address spaces, and a generalized exception mechanism as the basic abstractions rather than processes, virtual memory, and interprocess communication. The result is that the facilities provided by the hardware architecture are exposed, and can be directly used by applications to achieve higher performance and more diverse functionality than is possible with conventional operating system abstractions. In SPACE the conventional abstractions can coexist with new application-specific abstractions, due to the fundamental extensibility of the SPACE primitives. Applications can implement their own versions of system services to satisfy critical functional and performance requirements while still benefiting from standard system services. We then give examples of implementing mechanisms in SPACE.
Most contemporary operating systems are structured around a central monolithic kernel (or micro-k... more Most contemporary operating systems are structured around a central monolithic kernel (or micro-kernel). An alternative is to construct operating systems without a kernel. In this approach, operating system abstractions (processes, threads, virtual memory, communication) are implemented as application-level code, with the attendant flexibility and extensibility that many user applications require. We are building such a kernel-less operating system, using optimized cross-domain calls which can reduce cross-domain invocations cost below the current cost of kernel invocations by exploiting properties that kernel-less operating systems have with respect to robustness, extensibility, security, and performance. The first three of these properties are generally accepted as benefits of the kernel-less approach. One of the primary contributions of this work is to achieve these benefits while also achieving gains in performance.
Machine-independent virtual memory management for paged uniprocessor and multiprocessor architect... more Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures.
We refine and extend previous work towards a new approach to implementing operating systems. This... more We refine and extend previous work towards a new approach to implementing operating systems. This approach, called SPACE, uses processors, address spaces, and a generalized exception mechanism as the basic abstractions rather than processes, virtual memory, and interprocess communication. The result is that the facilities provided by the hardware architecture are exposed, and can be directly used by applications to achieve higher performance and more diverse functionality than is possible with conventional operating system abstractions. In SPACE the conventional abstractions can coexist with new application-specific abstractions, due to the fundamental extensibility of the SPACE primitives. Applications can implement their own versions of system services to satisfy critical functional and performance requirements while still benefiting from standard system services. We then give examples of implementing mechanisms in SPACE.
Proceedings 1991 International Workshop on Object Orientation in Operating Systems, 1991
Object-oriented operating systems, as well as conventional O/S designs, present an overly restric... more Object-oriented operating systems, as well as conventional O/S designs, present an overly restrictive level of abstraction to the programmer. Models of objects, processes, concurrency, etc., are embedded within the system in such a way that they are dicult to extend or replace.
Proceedings of the 37th SIGCSE technical symposium on Computer science education - SIGCSE '06, 2006
When studying operating systems, students need to understand user-mode system interfaces (U), the... more When studying operating systems, students need to understand user-mode system interfaces (U), they need to learn about tools to monitor and measure OS behavior (M), and they finally should understand central implementation details of the OS kernel (K). Following the UMK approach, even complex projects such as modifying the memory management inside the Windows kernel can be carried out in an undergraduate OS curriculum.
Proceedings of the 41st ACM technical symposium on Computer science education - SIGCSE '10, 2010
When studying operating systems, students need to understand user-mode system interfaces (U), the... more When studying operating systems, students need to understand user-mode system interfaces (U), they need to learn about tools to monitor and measure OS behavior (M), and they finally should understand central implementation details of the OS kernel (K). Following the UMK approach, even complex projects such as modifying the memory management inside the Windows kernel can be carried out in an undergraduate OS curriculum.
We refine and extend previous work [1] towards a new approach to implementing operating systems T... more We refine and extend previous work [1] towards a new approach to implementing operating systems This approach, called SPACE , uses processors, address spaces, and a generalized exception mechanism as the basic abstractions rather than processes, virtual memory, and interprocess communication The result is that the facilities provided by the hardware architecture are exposed, and can be directly used
We describe a set of efficient cross-domain mechanisms that allow operating systems to be impleme... more We describe a set of efficient cross-domain mechanisms that allow operating systems to be implemented as cooperating applications, eliminating the need for a monolithic kernel. Our implementation, called SPACE[1, 2], can achieve higher-performance than kernel-based systems by allowing applications to build customized system services and tailor system interfaces for performance. On the SPARC architecture we have measured minimal application-to-application system service calls that are 5 times faster than Solaris getpid(), and customized thread creation that is 50 times faster than minimal Solaris threads.
Proceedings 1991 International Workshop on Object Orientation in Operating Systems, 1991
Object-oriented operating systems, as well as conventional O/S designs, present an overly restric... more Object-oriented operating systems, as well as conventional O/S designs, present an overly restrictive level of abstraction to the programmer. Models of objects, processes, concurrency, etc., are embedded within the system in such a way that they are dicult to extend or replace.
Uploads
Papers by Dave Probert