CHF134.00
Download steht sofort bereit
Offering comprehensive coverage of the convergence of real-time embedded systems scheduling, resource access control, software design and development, and high-level system modeling, analysis and verification
Following an introductory overview, Dr. Wang delves into the specifics of hardware components, including processors, memory, I/O devices and architectures, communication structures, peripherals, and characteristics of real-time operating systems. Later chapters are dedicated to real-time task scheduling algorithms and resource access control policies, as well as priority-inversion control and deadlock avoidance. Concurrent system programming and POSIX programming for real-time systems are covered, as are finite state machines and Time Petri nets. Of special interest to software engineers will be the chapter devoted to model checking, in which the author discusses temporal logic and the NuSMV model checking tool, as well as a chapter treating real-time software design with UML. The final portion of the book explores practical issues of software reliability, aging, rejuvenation, security, safety, and power management. In addition, the book:
Explains real-time embedded software modeling and design with finite state machines, Petri nets, and UML, and real-time constraints verification with the model checking tool, NuSMV
Features real-world examples in finite state machines, model checking, real-time system design with UML, and more
Covers embedded computer programing, designing for reliability, and designing for safety
Explains how to make engineering trade-offs of power use and performance
Investigates practical issues concerning software reliability, aging, rejuvenation, security, and power management
Real-Time Embedded Systems is a valuable resource for those responsible for real-time and embedded software design, development, and management. It is also an excellent textbook for graduate courses in computer engineering, computer science, information technology, and software engineering on embedded and real-time software systems, and for undergraduate computer and software engineering courses.
Autorentext
Jiacun Wang Ph.D. is a Professor of Software Engineering at Monmouth University, NJ, USA. He is a former member of the scientific staff at Nortel Networks where he worked on embedded software for mobility management of 3G telecommunication systems. He is the author of Timed Petri Nets: Theory and Application (Kluwer 1998) and editor of Handbook of Finite State Based Models and Applications (CRC 2012). He is a senior member of IEEE.
Inhalt
Preface xiii
Book Layout xv
Acknowledgments xvii
1 Introduction to Real-Time Embedded Systems 1
1.1 Real-Time Embedded Systems 1
1.2 Example: Automobile Antilock Braking System 3
1.2.1 Slip Rate and Brake Force 3
1.2.2 ABS Components 4
1.2.2.1 Sensors 4
1.2.2.2 Valves and Pumps 5
1.2.2.3 Electrical Control Unit 7
1.2.3 ABS Control 8
1.3 Real-Time Embedded System Characteristics 10
1.3.1 System Structure 10
1.3.2 Real-Time Response 10
1.3.3 Highly Constrained Environments 11
1.3.4 Concurrency 12
1.3.5 Predictability 12
1.3.6 Safety and Reliability 13
1.4 Hard and Soft Real-Time Embedded Systems 13
Exercises 14
Suggestions for Reading 15
References 15
2 Hardware Components 17
2.1 Processors 17
2.1.1 Microprocessors 17
2.1.2 Microcontrollers 19
2.1.3 Application-Specific Integrated Circuits (ASICs) 19
2.1.4 Field-Programmable Gate Arrays (FPGAs) 19
2.1.5 Digital Signal Processors (DSPs) 20
2.1.6 Application-Specific Instruction Set Processors (ASIPs) 20
2.1.7 Multicore Processors 20
2.1.8 Von Neumann Architecture and Harvard Architecture 21
2.1.9 Complex Instruction Set Computing and Reduced Instruction Set Computing 22
2.2 Memory and Cache 23
2.2.1 Read-Only Memory (ROM) 23
2.2.2 Random-Access Memory (RAM) 24
2.2.3 Cache Memory 24
2.3 I/O Interfaces 26
2.4 Sensors and Actuators 27
2.5 Timers and Counters 29
Exercises 30
Suggestions for Reading 31
References 31
3 Real-Time Operating Systems 33
3.1 Main Functions of General-Purpose Operating Systems 33
3.1.1 Process Management 34
3.1.2 Memory Management 36
3.1.3 Interrupts Management 39
3.1.4 Multitasking 39
3.1.5 File System Management 39
3.1.6 I/O Management 41
3.2 Characteristics of RTOS Kernels 42
3.2.1 Clocks and Timers 42
3.2.2 Priority Scheduling 44
3.2.3 Intertask Communication and Resource Sharing 45
3.2.3.1 Real-Time Signals 45
3.2.3.2 Semaphores 46
3.2.3.3 Message Passing 46
3.2.3.4 Shared Memory 46
3.2.4 Asynchronous I/O 47
3.2.5 Memory Locking 47
3.3 RTOS Examples 48
3.3.1 LynxOS 48
3.3.2 OSE 49
3.3.3 QNX 49
3.3.4 VxWorks 49
3.3.5 Windows Embedded Compact 50
Exercises 50
Suggestions for Reading 52
References 52
4 Task Scheduling 53
4.1 Tasks 53
4.1.1 Task Specification 54
4.1.2 Task States 56
4.1.3 Precedence Constraints 58
4.1.4 Task Assignment and Scheduling 59
4.2 Clock-Driven Scheduling 59
4.2.1 Structured Clock-Driven Scheduling 62
4.2.1.1 Frames 62
4.2.1.2 Task Slicing 65
4.2.2 Scheduling Aperiodic Tasks 66
4.2.3 Scheduling Sporadic Tasks 68
4.3 Round-Robin Approach 69
4.4 Priority-Driven Scheduling Algorithms 70
4.4.1 Fixed-Priority Algorithms 70
4.4.1.1 Schedulability Test Based on Time Demand Analysis 72
4.4.1.2 Deadline-Monotonic Algorithm 76
4.4.2 Dynamic-Priority Algorithms 76
4.4.2.1 Earliest-Deadline-First (EDF) Algorithm 76
4.4.2.2 Optimality of EDF 78
4.4.3 Priority-Driven Scheduling of Aperiodic and Sporadic Tasks 82
4.4.3.1 Scheduling of Aperiodic Tasks 82
4.4.3.2 Scheduling of Sporadic Tasks 85
4.4.4 Practical Factors 85
4.4.4.1 Nonpreemptivity 85
4.4.4.2 Self-Suspension 86
4.4.4.3 Context Switches 87 4.4.4.4 Schedula...