FLEX: a tool for building efficient and flexible systems
- 30 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 198-202
- https://doi.org/10.1109/wwos.1993.348148
Abstract
Modern operating systems must support a wide variety of services for a diverse set of users. Designers of these systems face a tradeoff between functionality and performance. Systems like Mach provide a set of general abstractions and attempt to handle every situation, which can lead to poor performance for common cases. Other systems, such as Unix, provide a small set of abstractions that can be made very efficient, at the expense of functionality. We are implementing a flexible system building tool, FLEX, that allows us to support a powerful operating systems interface efficiently by constructing specialized module implementations at runtime. FLEX improves the performance of existing systems by optimizing interprocess communications paths and relocating servers and clients to reduce communications overhead. These facilities improve the performance of Unix system calls on Mach from 20-400%. Furthermore, FLEX can dynamically extend the kernel in a controlled fashion, which gives user programs access to privileged data and devices not envisioned by the original operating system implementor.Keywords
This publication has 7 references indexed in Scilit:
- Distributed operating systems based on a protected global virtual address spacePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- OMOS-an object server for program executionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Beyond micro-kernel design: decoupling modularity and protection in LiptoPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Dynamic program monitoring and transformation using the OMOS object serverPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Multi-model parallel programming in psychePublished by Association for Computing Machinery (ACM) ,1990
- Lightweight remote procedure callACM Transactions on Computer Systems, 1990
- Threads and input/output in the synthesis kernalPublished by Association for Computing Machinery (ACM) ,1989