Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
The synergy between non-blocking synchronization and operating system structure
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The performance of μ-kernel-based systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
Security architecture for component-based operating systems
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Support for Objects in the MONADS Architecture
Proceedings of the Third International Workshop on Persistent Object Systems
The pebble component-based operating system
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Support for Mobile Location-Aware Applications in MAGNET
Revised Papers from the NODe 2002 Web and Database-Related Workshops on Web, Web-Services, and Database Systems
Support for dynamic trading and runtime adaptability in mobile environments
Adaptive evolutionary information systems
Hi-index | 0.00 |
Embedded systems are required to exhibit ever increasing functionality while continuing to use minimal resources. The next generation of embedded operating systems must support protection with very low overheads, as well as being (dynamically) configurable. Go! is a prototype component-based system that runs natively on the Intel 386 based PC. Its novel protection mechanism means that components are (optionally) protected from one another, but exhibit very low overheads. Furthermore, components can perform system tasks previously considered bound to the kernel (such as interrupt handling and preemptive scheduling).Go! does not provide multithreading, but is constructed so that components comprising a 'library operating system' may provide (preemptive) multithreading with relative ease. This paper describes that support, and goes on to present the scheduling provided by GTE (a 'proof-of-concept' library operating system built on top of Go ). We show that decomposing multithreading into thread components, an interrupt-dispatcher and a scheduler is practical, useful, stable, and performs well.