Title :
Ptask: An educational C library for programming real-time systems on Linux
Author :
Buttazzo, Giorgio ; Lipari, Giuseppe
Author_Institution :
Scuola Superiore, Pisa, Italy
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;
Conference_Titel :
Emerging Technologies & Factory Automation (ETFA), 2013 IEEE 18th Conference on
Conference_Location :
Cagliari
Print_ISBN :
978-1-4799-0862-2
DOI :
10.1109/ETFA.2013.6648001