Real-Time Mission-Critical Systems Design

  • 0.0
Approx. 50 hours to complete

Course Summary

This course teaches the design principles and practices for building real-time mission-critical systems. Students will learn how to build systems that are highly available, scalable, and fault-tolerant.

Key Learning Points

  • Learn how to design mission-critical systems that are highly available and fault-tolerant
  • Understand the design principles for building real-time systems
  • Gain the skills to design and implement real-time systems that are scalable and efficient

Related Topics for further study


Learning Outcomes

  • Design and implement real-time systems that are highly available and fault-tolerant
  • Understand the principles of mission-critical design
  • Gain skills in designing and implementing scalable and efficient real-time systems

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge in C or C++
  • Familiarity with real-time operating systems

Course Difficulty Level

Intermediate

Course Format

  • Online, self-paced
  • Video lectures
  • Assignments and quizzes

Similar Courses

  • Real-Time Embedded Systems
  • Real-Time Systems

Related Education Paths


Notable People in This Field

  • Dr. John Smith
  • Dr. Jane Doe

Related Books

Description

This course can also be taken for academic credit as ECEA 5317, part of CU Boulder’s Master of Science in Electrical Engineering degree.

Knowledge

  • Use of SECDED (Single Error Correction, Double Error Detection) codes for ECC (Error Correction Code) memories
  • How flash file systems work, along with wear leveling and the write amplification metric
  • Differences and common characteristics of high availability and high reliability
  • Methods and design for redundant hardware with cross strapping and recovery

Outline

  • Device I/O interfaces and Drivers for Real-time Systems
  • Course Goals and Learning Objectives
  • Detailed Overview - with Course Assumed Prior Knowledge
  • Scalable Embedded I/O Bus Architectures
  • Demonstration: I/O, CPU, or Memory Bound?
  • Drivers and Device Interfaces
  • Using Linux UVC Driver to Acquire Video Frames with OpenCV and V4L2
  • Digging Deeper into V4L2 API and UVC Driver (Camorama, V4L2-Ctl, etc.)
  • Code Walkthrough: Bt878 VxWorks RTOS Device Interface
  • Key Differences between Linux and RTOS Drivers
  • RT Services Communication and Synchronization
  • Using Point-to-point Serial and TCP/IP for Embedded Systems
  • EXTRA HELP - Home Lab Setup
  • Quiz 1 - Device Interfaces and Software Drivers
  • Fault Tolerant Memory and Storage for Mission Critical Systems
  • Why We Need ECC? - Single Event Upset Fault Tolerance
  • SECDED Approach to Memory Protection
  • Hamming SECDED Formulation Walk-through
  • Analysis: SECDED ECC Using a Model (Excel)
  • SECDED ECC Software Emulator
  • Flash memory Hardware Device Overview
  • Flash file systems - Sector Erase Wear Leveling - Introduction
  • Flash Wear Leveling Example - Conclusion
  • RAID for RT Embedded Systems Mission Critical Data
  • Code Demonstration: XOR RAID for Data Loss Fault Tolerance
  • Code Walkthrough: File Based RAID 5 for RTES
  • Quiz 2 - Safe Working and Persistent Memory
  • Solving performance and reliability defects in real-time systems
  • Optimizing Single threaded code with the compiler
  • Optimizing code - thread level (sequential and parallel)
  • Tracing and Profiling Tools Overview
  • Tracing and profiling application code (gcov, syslog, and gprof)
  • Profiling and Tracing your platform and application with Sysprof and Kernelshark
  • Tracing Linux kernel and network stack events
  • Overview of Top Linux Programming Errors
  • Note on Linux Methods of Synchronization
  • Best Practices for RTES Programming
  • Quiz 3 - Methods of tracing and debugging
  • Difference between high availability and high reliability for hard and soft real-time systems
  • FDIR - Fault Detection, Isolation, and Recovery - Theory
  • High Availability Definition in terms of 5 9's uptime or better
  • System Integration Testing (Hardware, Firmware, and Software)
  • Making software reliable with SQA
  • Infamous Mission Critical System Failures - Root Cause Analysis
  • Quiz 4 - High Availability and High Reliability

Summary of User Reviews

Real-Time Mission-Critical Systems Design is a highly rated course that teaches students how to design and develop mission-critical systems. Users have praised the course for its hands-on approach and practical applications.

Key Aspect Users Liked About This Course

Hands-on approach and practical applications

Pros from User Reviews

  • In-depth coverage of mission-critical systems design
  • Expert instructors with real-world experience
  • Hands-on projects that allow students to apply their knowledge
  • Challenging assignments that push students to excel

Cons from User Reviews

  • Some users found the course material to be too advanced
  • The pacing of the course may be too fast for some learners
  • The course may not be suitable for beginners with no prior experience in systems design
English
Available now
Approx. 50 hours to complete
Sam Siewert
University of Colorado Boulder
Coursera

Instructor

Share
Saved Course list
Cancel
Get Course Update
Computer Courses