Home Page Icon
Home Page
Table of Contents for
III Advanced Topics
Close
III Advanced Topics
by Gabriele Manduchi, Ivan Cibrario Bertolotti
Real-Time Embedded Systems
Cover Page
Half title
Title Page
Copyright
Foreword
The Authors
Acknowledgments
Dedication Page
List of Figures
List of Tables
Table of Contents
1 Introduction
I Concurrent Programming Concepts
2 A Case Study: Vision Control
2.1 Input Output on Computers
2.1.1 Accessing the I/O Registers
2.1.2 Synchronization in I/O
2.1.3 Direct Memory Access (DMA)
2.2 Input/Output Operations and the Operating System
2.2.1 User and Kernel Modes
2.2.2 Input/Output Abstraction in Linux
2.3 Acquiring Images from a Camera Device
2.3.1 Synchronous Read from a Camera Device
2.3.2 Virtual Memory
2.3.3 Handling Data Streaming from the Camera Device
2.4 Edge Detection
2.4.1 Optimizing the Code
2.5 Finding the Center Coordinates of a Circular Shape
2.6 Summary
3 Real-Time Concurrent Programming Principles
3.1 The Role of Parallelism
3.2 Definition of Process
3.3 Process State
3.4 Process Life Cycle and Process State Diagram
3.5 Multithreading
3.6 Summary
4 Deadlock
4.1 A Simple Example
4.2 Formal Definition of Deadlock
4.3 Reasoning about Deadlock: The Resource Allocation Graph
4.4 Living with Deadlock
4.5 Deadlock Prevention
4.6 Deadlock Avoidance
4.7 Deadlock Detection and Recovery
4.8 Summary
5 Interprocess Communication Based on Shared Variables
5.1 Race Conditions and Critical Regions
5.2 Hardware-Assisted Lock Variables
5.3 Software-Based Mutual Exclusion
5.4 From Active to Passive Wait
5.5 Semaphores
5.6 Monitors
5.7 Summary
6 Interprocess Communication Based on Message Passing
6.1 Basics of Message Passing
6.2 Naming Scheme
6.3 Synchronization Model
6.4 Message Buffers
6.5 Message Structure and Contents
6.6 Producer–Consumer Problem with Message Passing
6.7 Summary
7 Interprocess Communication Primitives in POSIX/Linux
7.1 Threads and Processes
7.1.1 Creating Threads
7.1.2 Creating Processes
7.2 Interprocess Communication among Threads
7.2.1 Mutexes and Condition Variables
7.3 Interprocess Communication among Processes
7.3.1 Semaphores
7.3.2 Message Queues
7.3.3 Signals
7.4 Clocks and Timers
7.5 Threads or Processes?
7.6 Summary
8 Interprocess Communication Primitives in FreeRTOS
8.1 FreeRTOS Threads and Processes
8.2 Message Queues
8.3 Counting, Binary, and Mutual Exclusion Semaphores
8.4 Clocks and Timers
8.5 Summary
9 Network Communication
9.1 The Ethernet Protocol
9.2 TCP/IP and UDP
9.3 Sockets
9.3.1 TCP/IP Sockets
9.4 UDP Sockets
9.5 Summary
10 Lock and Wait-Free Communication
10.1 Basic Principles and Definitions
10.2 Multidigit Registers
10.3 Application to the Readers/Writer Problem
10.4 Universal Constructions
10.5 Summary
II Real-Time Scheduling Analysis
11 Real-Time Scheduling Based on the Cyclic Executive
11.1 Scheduling and Process Models
11.2 The Cyclic Executive
11.3 Choice of Major and Minor Cycle Length
11.4 Tasks with Large Period or Execution Time
11.5 Summary
12 Real-Time, Task-Based Scheduling
12.1 Fixed and Variable Task Priority
12.1.1 Preemption
12.1.2 Variable Priority in General Purpose Operating Systems
12.2 Rate Monotonic
12.2.1 Proof of Rate Monotonic Optimality
12.3 The Earliest Deadline First Scheduler
12.4 Summary
13 Schedulability Analysis Based on Utilization
13.1 Processor Utilization
13.2 Sufficient Schedulability Test for Rate Monotonic
13.2.1 Ulub for Two Tasks
13.2.2 Ulub for N Tasks
13.3 Schedulability Test for EDF
13.4 Summary
14 Schedulability Analysis Based on Response Time Analysis
14.1 Response Time Analysis
14.2 Computing the Worst-Case Execution Time
14.3 Aperiodic and Sporadic Tasks
14.4 Summary
15 Task Interactions and Blocking
15.1 The Priority Inversion Problem
15.2 The Priority Inheritance Protocol
15.3 The Priority Ceiling Protocol
15.4 Schedulability Analysis and Examples
15.5 Summary
16 Self-Suspension and Schedulability Analysis
16.1 Self-Suspension and the Critical Instant Theorem
16.2 Self-Suspension and Task Interaction
16.3 Extension of the Response Time Analysis Method
16.4 Summary
III Advanced Topics
17 Internal Structure of FreeRTOS
17.1 Task Scheduler/Context Switch
17.2 Synchronization Primitives
17.3 Porting FreeRTOS to a New Architecture
17.4 Summary
18 Internal Structures and Operating Principles of Linux Real-Time Extensions
18.1 The Linux Scheduler
18.2 Kernel Preemption
18.3 The PREEMPT_RT Linux Patch
18.3.1 Practical Considerations
18.4 The Dual-Kernel Approach
18.4.1 Adeos
18.4.2 Xenomai
18.4.3 RTAI
18.5 Summary
19 OS Abstraction Layer
19.1 An Object Oriented Interface to Threads and Other IPC Mechanisms
19.1.1 Linux Implementation
19.1.2 FreeRTOS Implementation
19.2 A Sample Multiplatform Application
19.3 Summary
20 Control Theory and Digital Signal Processing Primer
20.1 Case Study 1: Controlling the Liquid Level in a Tank
20.1.1 The Use of Differential Equations to Describe the Dynamics of the System
20.1.2 Introducing an Integral Gain
20.1.3 Using Transfer Functions in the Laplace Domain
20.1.4 Deriving System Properties from Its Transfer Function
20.1.5 Implementing a Transfer Function
20.1.6 What We Have Learned
20.2 Case Study 2: Implementing a Digital low-pass Filter
20.2.1 Harmonics and the Fourier Transform
20.2.2 Low-Pass Filters
20.2.3 The Choice of the Sampling Period
20.2.4 Building the Digital Low-Pass Filter
20.2.5 Signal to Noise Ratio (SNR)
20.3 Summary
Bibliography
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
16 Self-Suspension and Schedulability Analysis
Next
Next Chapter
17 Internal Structure of FreeRTOS
Part III
Advanced Topics
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset