Real-Time Operating Systems Book 2 - the Practice


Book Description

There's something really satisfying about turning theory into practice, bringing with it a great feeling of accomplishment. Moreover it usually deepens and solidifies your understanding of the theoretical aspects of the subject, while at the same time eliminating misconceptions and misunderstandings. So it's not surprising that the the fundamental philosophy of this book is that 'theory is best understood by putting it into practice'. Well, that's fine as it stands. Unfortunately the practice may a bit more challenging, especially in the field of real-time operating systems. First, you need a sensible, practical toolset on which to carry out the work. Second, for many self-learners, cost is an issue; the tools mustn't be expensive. Third, they mustn't be difficult to get, use and maintain. So what we have here is our approach to providing you with a low cost toolset for RTOS experimentation.The toolset used for this work consists of: A graphical tool for configuring microcontrollers (specifically STM32F variants) - STM32CubeMX software application.An Integrated Development Environment for the production of machine code.A very low cost single board computer with inbuilt programmer and debuggerAll software, which is free, can be run on Windows, OSX or Linux platforms. The Discovery kit is readily available from many electronic suppliers. The RTOS used for this work is FreeRTOS, which is integrated with the CubeMX tool.The author: Jim Cooling has had many years experience in the area of real-time embedded systems, including electronic, software and system design, project management, consultancy, education and course development. He has published extensively on the subject, his books covering many aspects of embedded-systems work such as real-time interfacing, programming, software design and software engineering. Currently he is a partner in Lindentree Associates (which he formed in 1998), providing consultancy and training for real-time embedded systems.See: www.lindentreeuk.co.uk




Real-Time Embedded Systems


Book Description

This book integrates new ideas and topics from real time systems, embedded systems, and software engineering to give a complete picture of the whole process of developing software for real-time embedded applications. You will not only gain a thorough understanding of concepts related to microprocessors, interrupts, and system boot process, appreciating the importance of real-time modeling and scheduling, but you will also learn software engineering practices such as model documentation, model analysis, design patterns, and standard conformance.This book is split into four parts to help you learn the key concept of embedded systems; Part one introduces the development process, and includes two chapters on microprocessors and interrupts---fundamental topics for software engineers; Part two is dedicated to modeling techniques for real-time systems; Part three looks at the design of software architectures and Part four covers software implementations, with a focus on POSIX-compliant operating systems.With this book you will learn:The pros and cons of different architectures for embedded systems POSIX real-time extensions, and how to develop POSIX-compliant real time applications How to use real-time UML to document system designs with timing constraintsThe challenges and concepts related to cross-development Multitasking design and inter-task communication techniques (shared memory objects, message queues, pipes, signals)How to use kernel objects (e.g. Semaphores, Mutex, Condition variables) to address resource sharing issues in RTOS applications The philosophy underpinning the notion of "resource manager" and how to implement a virtual file system using a resource manager The key principles of real-time scheduling and several key algorithms - Coverage of the latest UML standard (UML 2.4) - Over 20 design patterns which represent the best practices for reuse in a wide range of real-time embedded systems - Example codes which have been tested in QNX---a real-time operating system widely adopted in industry




Operating Systems


Book Description

Over the past two decades, there has been a huge amount of innovation in both the principles and practice of operating systems Over the same period, the core ideas in a modern operating system - protection, concurrency, virtualization, resource allocation, and reliable storage - have become widely applied throughout computer science. Whether you get a job at Facebook, Google, Microsoft, or any other leading-edge technology company, it is impossible to build resilient, secure, and flexible computer systems without the ability to apply operating systems concepts in a variety of settings. This book examines the both the principles and practice of modern operating systems, taking important, high-level concepts all the way down to the level of working code. Because operating systems concepts are among the most difficult in computer science, this top to bottom approach is the only way to really understand and master this important material.




Embedded and Real-Time Operating Systems


Book Description

This book covers the basic concepts and principles of operating systems, showing how to apply them to the design and implementation of complete operating systems for embedded and real-time systems. It includes all the foundational and background information on ARM architecture, ARM instructions and programming, toolchain for developing programs, virtual machines for software implementation and testing, program execution image, function call conventions, run-time stack usage and link C programs with assembly code. It describes the design and implementation of a complete OS for embedded systems in incremental steps, explaining the design principles and implementation techniques. For Symmetric Multiprocessing (SMP) embedded systems, the author examines the ARM MPcore processors, which include the SCU and GIC for interrupts routing and interprocessor communication and synchronization by Software Generated Interrupts (SGIs).Throughout the book, complete working sample systems demonstrate the design principles and implementation techniques. The content is suitable for advanced-level and graduate students working in software engineering, programming, and systems theory.




Real-Time Operating Systems Book 1


Book Description

IMPORTANT: This is a rebadged version of Real-time Operating Systems, Book 1, The Theory which (so far) has received eleven 5-star, one 4-star and one 3-star reviews.This book deals with the fundamentals of operating systems for use in real-time embedded systems. It is aimed at those who wish to develop RTOS-based designs, using either commercial or free products. It does not set out to give you a knowledge to design an RTOS; leave that to the specialists. The target readership includes:- Students.- Engineers, scientists and mathematicians moving into software systems.- Professional and experienced software engineers entering the embedded field.- Programmers having little or no formal education in the underlying principles of software-based real-time systems.The material covers the key 'nuts and bolts' of RTOS structures and usage (as you would expect, of course). In many cases it shows how these are handled by practical real-time operating systems. It also places great emphasises on ways to structure the application software so that it can be effectively implemented using an RTOS. After studying this even the absolute beginner will see that it isn't particularly difficult to implement RTOS-based designs and should be confident to take on such work.




AN INTRODUCTION TO OPERATING SYSTEMS : CONCEPTS AND PRACTICE (GNU/LINUX AND WINDOWS), FIFTH EDITION


Book Description

The book, now in its Fifth Edition, aims to provide a practical view of GNU/Linux and Windows 7, 8 and 10, covering different design considerations and patterns of use. The section on concepts covers fundamental principles, such as file systems, process management, memory management, input-output, resource sharing, inter-process communication (IPC), distributed computing, OS security, real-time and microkernel design. This thoroughly revised edition comes with a description of an instructional OS to support teaching of OS and also covers Android, currently the most popular OS for handheld systems. Basically, this text enables students to learn by practicing with the examples and doing exercises. NEW TO THE FIFTH EDITION • Includes the details on Windows 7, 8 and 10 • Describes an Instructional Operating System (PintOS), FEDORA and Android • The following additional material related to the book is available at www.phindia.com/bhatt. o Source Code Control System in UNIX o X-Windows in UNIX o System Administration in UNIX o VxWorks Operating System (full chapter) o OS for handheld systems, excluding Android o The student projects o Questions for practice for selected chapters TARGET AUDIENCE • BE/B.Tech (Computer Science and Engineering and Information Technology) • M.Sc. (Computer Science) BCA/MCA




Operating Systems and Middleware


Book Description

By using this innovative text, students will obtain an understanding of how contemporary operating systems and middleware work, and why they work that way.




Real-Time Systems


Book Description

7. 6 Performance Comparison: ET versus TT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 7. 7 The Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Points to Remember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Review Questions and Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Chapter 8: The Time-Triggered Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8. 1 Introduction to Time-Triggered Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 8. 2 Overview of the TTP/C Protocol Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 8. 3 TheBasic CNI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Internal Operation of TTP/C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8. 4 8. 5 TTP/A for Field Bus Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Review Questions and Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Chapter 9: Input/Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 9. 1 The Dual Role of Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9. 2 Agreement Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 9. 3 Sampling and Polling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 9. 4 Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9. 5 Sensors and Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 9. 6 Physical Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Bibliographic Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Review Questions and Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Chapter 10: Real-Time Operating Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 10. 1 Task Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 10. 2 Interprocess Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 10. 3 Time Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10. 4 Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 10. 5 A Case Study: ERCOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Bibliographic Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Review Questions and Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Chapter 11: Real-Time Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 11. 1 The Scheduling Problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 11. 2 The Adversary Argument. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 11. 3 Dynamic Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 x TABLE OF CONTENTS 11. 4 Static Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Points to Remember. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Bibliographic Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Review Questions and Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Chapter 12: Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 12. 1 Building aConvincing Safety Case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 12. 2 Formal Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 12. 3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .




MicroC/OS-II


Book Description

MicroC/OS II Second Edition describes the design and implementation of the MicroC/OS-II real-time operating system (RTOS). In addition to its value as a reference to the kernel, it is an extremely detailed and highly readable design study particularly useful to the embedded systems student. While documenting the design and implementation of the ker




Real-Time Systems Development with RTEMS and Multicore Processors


Book Description

The proliferation of multicore processors in the embedded market for Internet-of-Things (IoT) and Cyber-Physical Systems (CPS) makes developing real-time embedded applications increasingly difficult. What is the underlying theory that makes multicore real-time possible? How does theory influence application design? When is a real-time operating system (RTOS) useful? What RTOS features do applications need? How does a mature RTOS help manage the complexity of multicore hardware? Real-Time Systems Development with RTEMS and Multicore Processors answers these questions and more with exemplar Real-Time Executive for Multiprocessor Systems (RTEMS) RTOS to provide concrete advice and examples for constructing useful, feature-rich applications. RTEMS is free, open-source software that supports multi-processor systems for over a dozen CPU architectures and over 150 specific system boards in applications spanning the range of IoT and CPS domains such as satellites, particle accelerators, robots, racing motorcycles, building controls, medical devices, and more. The focus of this book is on enabling real-time embedded software engineering while providing sufficient theoretical foundations and hardware background to understand the rationale for key decisions in RTOS and application design and implementation. The topics covered in this book include: Cross-compilation for embedded systems development Concurrent programming models used in real-time embedded software Real-time scheduling theory and algorithms used in wide practice Usage and comparison of two application programmer interfaces (APIs) in real-time embedded software: POSIX and the RTEMS Classic APIs Design and implementation in RTEMS of commonly found RTOS features for schedulers, task management, time-keeping, inter-task synchronization, inter-task communication, and networking The challenges introduced by multicore hardware, advances in multicore real-time theory, and software engineering multicore real-time systems with RTEMS All the authors of this book are experts in the academic field of real-time embedded systems. Two of the authors are primary open-source maintainers of the RTEMS software project.