• STANDARDS FOR REAL-TIME OPERATING SYSTEMS
  • RT-POSIX
  • 12 real-time operating systems and standards




    Download 11.06 Kb.
    Sana08.04.2024
    Hajmi11.06 Kb.
    #190915
    Bog'liq
    978-1-4614-0676-1 12
    мевачилик мустақил иш (1), 2-topshiriq

    12
    REAL-TIME OPERATING SYSTEMS AND STANDARDS

    This chapter presents a brief overview of the state of art of real-time systems and stan- dards. It first discusses the most common operating systems standard interfaces that play a major role for developing portable real-time applications. Then, it gives a brief description of the most used commercial and open source real-time kernels available today, including some research kernels developed within academia to make experi- ments with some novel features and lead future development. Finally, it presents a set of development tools that can be used to speed up system analysis and implementation.


      1. STANDARDS FOR REAL-TIME OPERATING SYSTEMS


    The role of standards in operating systems is very important as it provides portability of applications from one platform to another. In addition, standards allow the possibil- ity of having several kernel providers for a single application, so promoting competi- tion among vendors and increasing quality. Current operating system standards mostly specify portability at the source code level, requiring the application developer to re- compile the application for every different platform. There are four main operating system standards available today:

    POSIX, the main general-purpose operating system standard, with real-time ex- tensions (RT-POSIX);


    OSEK, for the automotive industry; APEX, for avionics systems;
    μITRON, for small embedded systems.



    G.C. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, Real-Time Systems Series 24, DOI 10.1007/978-1-4614-0676-1_12,
    © Springer Science+Business Media, LLC 2011
    419

    420 Chapter 12


        1. RT-POSIX


    The goal of the POSIX standard (Portable Operating System Interface based on UNIX operating systems) is the portability of applications at the source code level. Its real- time extension (RT-POSIX) is one of the most successful standards in the area of real-time systems, adopted by all major kernel vendors.

    The standard specifies a set of system calls for facilitating concurrent programming. Services include mutual exclusion synchronization with priority inheritance, wait and signal synchronization via condition variables, shared memory objects for data shar- ing, and prioritized message queues for inter-task communication. It also specifies services for achieving predictable timing behavior, such as fixed priority preemptive scheduling, sporadic server scheduling, time management with high resolution, sleep operations, multipurpose timers, execution-time budgeting for measuring and limiting task execution times, and virtual memory management, including the ability to dis- connect virtual memory for specific real-time tasks. Since the POSIX standard is so large, subsets are defined to enable implementations for small systems. The following four real-time profiles are defined by POSIX.13 [POS03]:


    Minimal Real-Time System profile (PSE51). This profile is intended for small embedded systems, so most of the complexity of a general purpose operating system is eliminated. The unit of concurrency is the thread (processes are not supported). Input and output are possible through predefined device files, but there is not a complete file system. PSE51 systems can be implemented with a few thousand lines of code, and memory footprints in the tens of kilobytes range.
    Real-Time Controller profile (PSE52). It is similar to the PSE51 profile, with the addition of a file system in which regular files can be created, read, or written. It is intended for systems like a robot controller, which may need support for a simplified file system.
    Dedicated Real-Time System profile (PSE53). It is intended for large embed- ded systems (e.g., avionics) and extends the PSE52 profile with the support for multiple processes that operate with protection boundaries.
    Multi-Purpose Real-Time System profile (PSE54). It is intended for general- purpose computing systems running applications with real-time and non-real- time requirements. It requires most of the POSIX functionality for general pur- pose systems and, in addition, most real-time services.


    In summary, the RT-POSIX standard enables portability of real-time applications and specifies real-time services for the development of fixed-priority real-time systems with high degree of predictability. In the future it is expected that RT-POSIX will evolve toward more flexible scheduling schemes.
    Download 11.06 Kb.




    Download 11.06 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    12 real-time operating systems and standards

    Download 11.06 Kb.