chapter 5 companion and outline
This page contains companion resources and an outline for chapter 5 of the book An Introduction to Real-Time Computing for Mechanical Engineers, and it therefore lacks most of chapter 5’s contents. While some sections of the book are fully available on this site, many are not. Please consider purchasing a copy from the MIT Press.
Real-time scheduling with threads and interrupts, digital circuits, and mechanical switches
In chapter 1, some of the fundamental concepts of real-time computing were introduced, including tasks, deadlines, precedence, priority, and scheduling. We are now prepared to discuss real-time operating systems and kernels in section 5.1. In section 5.2, we consider a more detailed view of real-time task scheduling. Having used a simple “waiting” approach to scheduling periodic tasks for open-loop motor control in chapter 4, we are now ready to understand and appreciate some of the methods that can more reliably implement real-time task scheduling: threads (section 5.1) and interrupts (section 5.4). The programming interface for threads and interrupts in our T1 target system is described in section 5.3, section 5.4.
In this chapter, we will also look more closely at the characteristics of digital circuits. In section 5.6, section 5.5, important ideas from digital circuits will be explored. We will then apply these to the debouncing of mechanical switches.
Mechanical switches (section 5.7) can be used as basic sensors or as user interfaces. They present us with a challenge called switch bounce, which can be addressed via a digital circuit. We will use this as an opportunity to deepen our understanding of digital circuits in section 5.8.
Lab 5 explores how to implement and apply threads and external interrupts on the target computer. During the development stage of our motion controller design, we will use a mechanical switch to trigger a task via an interrupt, so we will also implement a switch debouncing circuit in lab 5.
Real-time and conventional operating systems and kernels
Real-time scheduling
Real-Time Linux and Its Application Programming Interface
Interrupts and their handling in real-time computing
Digital circuits and logic gates
Transistors in digital circuits
Mechanical switches
Debouncing mechanical switches
Summary
Problems
Introduction to interrupts
Online resources for Chapter 5
No online resources.