EMERALDS (Extensible Microkernel for Embedded, ReALtime, Distributed Systems) is a real-time microkernel designed for small-memory embedded applications. These applications must run on slow (15--25MHz) processors with just 32--128 kbytes of memory, either to keep production costs down in mass-produced systems or to keep weight and power consumption low. To be feasible for such applications, the OS must not only be small in size (less than 20 kbytes), but also have low-overhead kernel services. Unlike commercial embedded OSs which rely on carefully-crafted code to achieve efficiency, EMERALDS takes the approach of re-designing the basic OS services of task scheduling, synchronization, communication, and system call mechanism by using characteristics found in small-memory embedded systems, such as small code size and a priori knowledge of task execution and communication patterns. With these new schemes, the overheads of various OS services are reduced 20--40 % without compromising any OS functionality.
|
2168
|
Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment
– Liu, Layland
- 1973
|
|
640
|
ªPriority Inheritance Protocols: An Approach to Real-Time Synchronization,º
– Sha, Rajkumar, et al.
- 1990
|
|
439
|
The rate monotonic scheduling algorithm-Exact characterization and average case behavior
– Lehoczky, Sha, et al.
- 1989
|
|
409
|
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism
– Anderson, Bershad, et al.
- 1992
|
|
390
|
Extensibility, safety and performance in the SPIN operating system
– Bershad, Savage, et al.
- 1995
|
|
384
|
Monitors: an operating system structuring concept
– Hoare
- 1974
|
|
375
|
Algorithms for Scalable Synchronization on Shared-memory Multiprocessors
– Mellor-Crummey, Scott
- 1991
|
|
251
|
Mach: A New Kernel Foundation for UNIX Development
– Accetta, Baron, et al.
- 1986
|
|
239
|
On the Complexity of Fixed-Priority Scheduling of Periodic, Real-Time Tasks, Performance Evaluation 2
– Leung, Whitehead
- 1982
|
|
236
|
Cooperating Sequential Processes
– DIJKSTRA
- 1968
|
|
190
|
Real-Time Mach: Toward a Predictable Real-Time System
– Tokuda, Nakajima, et al.
- 1990
|
|
182
|
CPU Reservations and Time Constraints: Efficient, Predictable Scheduling of Independent Activities
– Jones, Rosu, et al.
- 1997
|
|
177
|
The Spring Kernel: A new paradigm for real-time operating systems
– Stankovic, Ramamritham
- 1989
|
|
163
|
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures
– Rashid, Tevanian, et al.
- 1988
|
|
141
|
Distributed fault-tolerant real-time systems: the MARS approach
– Kopetz, Koza, et al.
- 1989
|
|
131
|
Improving IPC by Kernel Design
– Liedtke
- 1993
|
|
114
|
Using Continuations to Implement Thread Management and Communication in Operating Systems
– Draves, Bershad, et al.
- 1991
|
|
110
|
An Architectural Overview of QNX
– Hildebrand
- 1992
|
|
93
|
Concurrent Reading and Writing
– Lamport
- 1977
|
|
74
|
Engineering and Analysis of Fixed Priority Schedulers
– Katcher, Arakawa, et al.
- 1993
|
|
51
|
The nonblocking write protocol NBW: A solution to a real-time synchronization problem
– Kopetz, Reisinger
- 1993
|
|
47
|
Deadline scheduling for real-time systems
– Stankovic, Spuri, et al.
- 1998
|
|
39
|
Non-preemptive scheduling of messages on controller area network for real-time control applications
– Zuberi, Shin
- 1995
|
|
30
|
Evaluation of Real-Time Synchronization in Real-Time Mach
– Tokuda, Nakajima
- 1991
|
|
26
|
An Object-Oriented Real-Time Programming Language
– Ishikawa, Tokuda, et al.
- 1992
|
|
20
|
HARTOS: a distributed real-time operating system
– Kandlur, Kiskis, et al.
- 1989
|
|
17
|
Synchronization of Communicating Processes
– Habermann, Nico
- 1972
|
|
11
|
Using pSOS+ for embedded real-time computing
– Thompson
- 1990
|
|
11
|
EMERALDS: A Microkernel for Embedded Real-Time Systems
– Zuberi, Shin
- 1996
|
|
8
|
ERCOS: an operating system for automotive applications
– Poledna, Mocken, et al.
- 1996
|
|
8
|
Priority inheritance spin locks for multiprocessor real-time systems
– Wang, Takada, et al.
- 1996
|
|
5
|
Realtime applications: Multiprocessors in Harmony
– Gentleman
- 1988
|
|
5
|
Experimental implementations of priority inheritance semaphore on ITRON-specification kernel
– Takada, Sakamura
- 1994
|
|
4
|
Two years of experience with a -kernel based OS. Operating Systems Review
– LIEDTKE, BARTLING, et al.
- 1991
|
|
4
|
An efficient semaphore implementation scheme for small-memory embedded systems
– Zuberi, Shin
- 1997
|
|
3
|
Real-Time Operating System Services for Networked Embedded Systems
– ZUBERI
- 1998
|
|
3
|
An efficient endhost protocol processing architecture for real-time audio and video traffic
– Zuberi, Shin
- 1998
|
|
2
|
Microsoft Windows CE memory use. http://msdn.microsoft.com/library/backgrnd/ html/msdn memdrft2.htm
– MURRAY
- 1997
|