MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Synthesis: An Efficient Implementation of Fundamental Operating System Services (1992) [78 citations — 1 self]

by Henry Massalin ,  Henry Massalin
Add To MetaCart

Abstract:

This dissertation shows that operating systems can provide fundamental services an order of magnitude more efficiently than traditional implementations. It describes the implementation of a new operating system kernel, Synthesis, that achieves this level of performance. The Synthesis kernel combines several new techniques to provide high performance without sacrificing the expressive power or security of the system. The new ideas include: ffl Run-time code synthesis --- a systematic way of creating executable machine code at runtime to optimize frequently-used kernel routines --- queues, buffers, context switchers, interrupt handlers, and system call dispatchers --- for specific situations, greatly reducing their execution time. ffl Fine-grain scheduling --- a new process-scheduling technique based on the idea of feedback that performs frequent scheduling actions and policy adjustments (at submillisecond intervals) resulting in an adaptive, self-tuning system that can support real-ti...

Citations

529 Wait-free synchronization – Herlihy - 1991
390 Scheduler activations: Effective kernel support for the user-level management of parallelism – Anderson, Bershad, et al. - 1991
390 The UNIX Time-Sharing System – Ritchie, Thompson
286 Why aren't operating systems getting faster as fast as hardware – Ousterhout - 1990
238 A new kernel foundation for UNIX development – Mach - 1986
209 A stream input-output system – Ritchie - 1984
200 Dimensions of object-based language design – Wegner - 1987
196 Operating system support for database management – Stonebraker - 1981
141 Object Structure in the Emerald System – Black, Hutchinson, et al. - 1986
112 Plan 9 from Bell Labs – Pike, Presotto, et al. - 1990
111 First-class user-level threads – Marsh, Scott, et al. - 1991
108 MIX: A self-applicable partial evaluator for experiments in compiler generation – Jones, Sestoft, et al. - 1989
103 Using continuations to implement thread management and communication in operating systems – Draves, Bershad, et al. - 1991
101 Threads and input/output in the synthesis kernel – Massalin, Pu - 1989
90 Misconceptions about real-time computing: A serious problem for next generation systems – Stankovic - 1988
84 Scheduling support for concurrency and parallelism in the Mach operating system – Black - 1990
62 An Introduction to Operating Systems – Deitel - 1990
61 The portable common runtime approach to interoperability – Weiser, Demers, et al. - 1989
58 A case for runtime code generation – Keppel, Eggers, et al. - 1991
36 Comparison of Hardware and Software Cache Coherence Schemes – Adve, Adve, et al. - 1991
33 An open environment for building parallel programming systems – Bershad, Lazowska, et al. - 1988
26 Evaluating the Performance of Software Cache Coherence – Owicki, Agarwal - 1989
15 A Priority Ceiling Protocol for Multiple-Instance Resources – Chen, Lin - 1991
12 Probabilistic Clock Synchronization – Christian - 1989
11 An experiment using registers for fast message-based interprocess communication – Cheriton - 1984
9 HYDRA: The kernel of a multiprocessing operating system – Wulf, Cohen, et al. - 1974
8 4.2BSD and 4.3BSD as examples of the UNIX system – Quarterman, Silberschatz, et al. - 1985
6 The Evolution of Unix System Performance – Feder - 1984
2 A 68010 multiuser development system. Master's thesis, The Cooper Union for the Advancement of Science and Art – Arleth - 1984
2 A 68010 Multitasking Development System. Master's thesis, The Cooper Union for the Advancement of Science and Art – Massalin - 1984
2 MC68882 Floating-Point Coprocessor User's Manual – MC68881 - 1987