This chapter discusses different processes and features that are included in real-time operating system (RTOS) designs. It complements Chapter 2, which discusses the traditional development processes. We also cover in this chapter the common design techniques of the past, present, and future. Real-time operating systems differ from general-purpose operating systems in that resources are usually limited in real-time systems so the operating system usually only has features that are needed by the application.
A real-time software is a major part of existing software applications in the industry. Applications of real-time software are in automotive systems, consumer electronics, control systems, communication systems, and so on. Real-time software systems demand special attention between they use special design techniques that are time sensitive.
Because of the industry movement toward multiprocessor and multicore systems, new challenges are being introduced. The operating system must now address the needs of two processors, scheduling tasks on multiple cores and protecting the data of a system whose memory is being accessed from multiple sources. New issues are being uncovered, and the need for reliable solutions is needed. This chapter will cover many of the design issues for real-time software.
In addition to hardware evolution impacting real-time operating system designs, another factor is the need for efficient ...