Increasingly, microcontrollers are being used in automotive systems to handle sophisticated control and monitoring activities. As applications become more sophisticated, their design and development becomes complex, necessitating the use of an operating system to manage the complexity and provide an abstraction for improving portability of code. This paper presents EMERALDS-OSEK, an operating system we have designed and implemented based on OSEK/VDX, an open industry standard. We present some of the features and optimizations that make EMERALDS-OSEK appropriate for small, low-cost microcontrollers typically found in automotive applications. We also present measurements of operating system performance. We find EMERALDS-OSEK to be efficient, both in terms of processing overheads and memory usage. However, we also find some parts of the OSEK standard that may be improved, and present our ideas for such improvements.