• DocumentCode
    1949155
  • Title

    Ptask: An educational C library for programming real-time systems on Linux

  • Author

    Buttazzo, Giorgio ; Lipari, Giuseppe

  • Author_Institution
    Scuola Superiore, Pisa, Italy
  • fYear
    2013
  • fDate
    10-13 Sept. 2013
  • Firstpage
    1
  • Lastpage
    8
  • Abstract
    When learning real-time programming, the novice is faced with many technical difficulties due to low-level C libraries that require considerable programming effort even for implementing a simple periodic task. For example, the POSIX Real-Time standard only provides a low level notion of thread, hence programmers usually build higher level code on top of the POSIX API, every time re-inventing the wheel. In this paper we present a simple C library that simplifies realtime programming in Linux by hiding low-level details of task creation, allocation and synchronization, and provides utilities for more high-level functionalities, like support for mode-change and adaptive systems. The library is released as open-source and it is currently being employed to teach real-time programming in university courses in embedded systems.
  • Keywords
    C language; Linux; application program interfaces; computer science education; educational courses; educational institutions; embedded systems; programming; public domain software; synchronisation; Linux; POSIX API; POSIX real-time standard; Ptask; adaptive systems; educational C library; embedded systems; high-level functionalities; higher level code; low-level C libraries; open-source library; real-time system programming learning; task allocation; task creation; task synchronization; university courses; Clocks; Libraries; Linux; Processor scheduling; Programming profession; Real-time systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Emerging Technologies & Factory Automation (ETFA), 2013 IEEE 18th Conference on
  • Conference_Location
    Cagliari
  • ISSN
    1946-0740
  • Print_ISBN
    978-1-4799-0862-2
  • Type

    conf

  • DOI
    10.1109/ETFA.2013.6648001
  • Filename
    6648001