This book aims to provide readers with hands-on knowledge about real-time operating systems and their possible application in the embedded systems domain to streamline, simplify, and make software development more efficient, without requiring any significant previous experience with them. A thorough presentation of operating system-based programming techniques is especially important because they enjoy an ever-increasing popularity in the embedded systems domain but are often misunderstood, because they still lack comprehensive support in the scientific and technical literature.
The book analyzes in detail three realistic case studies of increasing complexity, of which the first one requires only a commonly available PC or laptop, while the other two involve low-cost, open-source hardware platforms readily available to the majority of readers. They serve as starting points and running examples while introducing theoretical concepts, as well as real-time operating systems' operations and interfaces. A set of exercises and their solutions completes the book, to enable readers to self-assess their knowledge as they proceed. Moreover, the source code developed for the case studies is freely available for download and further experimentation.
Provides hands-on description of the most important real-time operating system concepts
Includes case studies of practical interest to experiment with while reading the book
Provides an in-depth, but accessible presentation of real-time scheduling theory
A balanced mix of operating system theory, exercises, and case studies in a single book
The use cases involve inexpensive hardware boards readily available on the market
Together, the topics covered by this book help embedded system designers understand benefits and shortcomings of real-time operating systems and then decide whether it may be worth adopting one of them for their next project instead of relying on more traditional, but less powerful, techniques. At the same time, students will acquire all the knowledge and skills they need to take part in real-world embedded software development without sacrificing a proper theoretical foundation. In this context, the case studies play the crucial role of underlining the strong relationship between operating system theory and application, along with the relevance of theoretical concept in day-to-day project design and implementation.
Auflage
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Für Beruf und Forschung
Academic and Professional Reference
Illustrationen
21 s/w Tabellen, 487 s/w Abbildungen, 487 s/w Zeichnungen
21 Tables, black and white; 487 Line drawings, black and white; 487 Illustrations, black and white
Maße
Höhe: 234 mm
Breite: 156 mm
Gewicht
ISBN-13
978-1-032-97371-5 (9781032973715)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
Ivan Cibrario Bertolotti received the Laurea degree (summa cum laude) in computer science from the University of Torino, Turin, Italy, in 1996. Since then, he has been a researcher with the National Research Council of Italy (CNR). Currently, he is senior researcher with the Istituto di Elettronica e di Ingegneria dell'Informazione e delle Telecomunicazioni (IEIIT), Turin, Italy.
His research interests include real-time operating system design and implementation, industrial communication systems and protocols, and formal methods for security and dependability analysis of distributed systems. Along the years, he published more than 100 peer-reviewed articles on these subjects, while also co-authoring several book chapters and three books. His contribution encompasses both theoretical work and practical applications, carried out in cooperation with leading Italian and
international companies. He has taught various courses on real-time operating systems at Politecnico di Torino, Turin, Italy, starting in 2003, as well as a PhD degree course at the University of Padova in 2009. He regularly serves as a technical referee for the main international conferences and journals on industrial informatics, factory automation, and communication. He has been an IEEE member since 2006.
Gabriele Manduchi received the Laurea Degree (summa cum laude) in Electronic Engineering from the University of Padua, Italy, in 1987. Since then, he has been a researcher with the National Research Council (CNR). He is currently with the Istituto Gas Ionizzati (IGI), Padua, Italy. Since 1989 he has been involved in the design and development of acquisition and realtime control systems for large physics experiments. In particular, he is one of the developers of MDSplus, an open source data acquisition system widely adopted in nuclear fusion experiments. He is also one of the developers of the real-time control system of the RFX, a nuclear fusion experiment in the framework of the coordinated European Fusion Development Agreement. He has been also involved as deputy project leader in the International Tokamak Modeling European task aiming at building a comprehensive simulation framework for thermonuclear fusion. Since 2021 he is project leader of the Control and Data Acquisition task for the nuclear fusion experiment DTT in Rome, Italy. His current research interests include real-time system design and implementation, large data management and supervision for mission-critical systems. Since 1995 Gabriele Manduchi has been teaching introductory and advanced courses on computer architectures at the University of Padua. In the last years, he has also taught PhD courses on Software Design Patterns and on Concurrent and Real-time Programming in the same University.
Autor*in
National Research Council of Italy, Institute of Electronics, Computer and Telecommunication Engineering, Turin, Italy
National Research Council of Italy (Institute of Ionized Gases), University of Padova
Part I - Concurrent Programming Concepts 1. Introduction 2. A Case Study: Vision Control 3. Real-Time Concurrent Programming Principles 4. Deadlock 5. Interprocess Communication Based on Shared Variables 6. Interprocess Communication Based on Message Passing 7. Interprocess Communication Primitives in POSIX/Linux 8. Interprocess Communication Primitives in FreeRTOS 9. Network Communication Part II - Real-Time Scheduling Analysis 10. Real-Time Scheduling Based on the Cyclic Executive 11. Real-Time, Task-Based Scheduling 12. Schedulability Analysis Based on Utilization 13. Schedulability Analysis Based on Response Time Analysis 14. Task Interactions and Blocking 15. Self-Suspension and Schedulability Analysis 16.General-Purpose IoT/Embedded Controller 17.Real-Time, High-Performance Data Acquisition (Redpitaya) 18. Control Theory and Digital Signal Processing Primer