❗The content presented here is sourced directly from Coursera platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.
Updated in [September 15th, 2023]
What does this course tell?
(Please note that the following overview content is from the original platform)
This course can also be taken for academic credit as ECEA 5316, part of CU Boulder’s Master of Science in Electrical Engineering degree.This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system. By the end of this course the learner will be able to full derive the fixed priority rate monotonic least upper bound for feasibility as well as justifying the rate monotonic policy and will be able to compare to dynamic priority scheduling including earliest deadline first and least laxity policies. At the end of this course learners will be able to fully derive and explain the math model for the rate monotonic least upper bound as well as performing timing diagram analysis for fixed and dynamic priority software services. Tools to provide analysis will be learned (Cheddar) to automate timing analysis and to compare to actual performance. Specific objectives include: ● Rate monotonic theory (complete math models) ● Differences between fixed priority rate monotonic policy and dynamic priority earliest deadline first and least laxity policies ● Scheduling theory and practice writing code for multi-frequency executives, priority preemptive RTOS services, and real-time threaded services on traditional operating systems (Linux) ● Building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b using sequencing and methods to log and verify agreement between theory and practice ● Timing diagram generation and analysis using Cheddar
We consider the value of this course from multiple aspects, and finally summarize it for you from three aspects: personal skills, career development, and further study:
(Kindly be aware that our content is optimized by AI tools while also undergoing moderation carefully from our editorial staff.)
What skills and knowledge will you acquire during this course?
By the end of this course, the learner will have acquired the skills and knowledge to fully derive the fixed priority rate monotonic least upper bound for feasibility, justify the rate monotonic policy, compare to dynamic priority scheduling including earliest deadline first and least laxity policies, and generate and analyze timing diagrams using Cheddar. They will also be able to write code for multi-frequency executives, priority preemptive RTOS services, and real-time threaded services on traditional operating systems (Linux). Additionally, they will be able to build a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b, and log and verify agreement between theory and practice.
How does this course contribute to professional growth?
This course on Real-Time Embedded Systems Theory and Analysis contributes significantly to professional growth. By taking this course, the learner gains a deep understanding of mathematical models for scheduling policies and feasibility determination. They learn how to derive these models by hand and with rate monotonic tools, and also compare them to actual performance for real-time scheduled threads running on a native Linux system.
One of the key outcomes of this course is the ability to fully derive the fixed priority rate monotonic least upper bound for feasibility. This skill is highly valuable in the field of embedded systems, as it allows professionals to determine the maximum number of tasks that can be scheduled within a given system. Additionally, the learner becomes proficient in justifying the rate monotonic policy and comparing it to other dynamic priority scheduling policies such as earliest deadline first and least laxity.
Furthermore, this course equips the learner with practical skills in writing code for multi-frequency executives, priority preemptive real-time operating system (RTOS) services, and real-time threaded services on traditional operating systems like Linux. This hands-on experience is crucial for professionals working in the field of embedded systems, as it enables them to develop efficient and reliable real-time software.
The course also focuses on building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b. This practical project allows the learner to apply the theoretical concepts learned in the course and gain experience in sequencing, logging, and verifying the agreement between theory and practice. This practical application enhances the learner's problem-solving skills and prepares them for real-world challenges in the field.
Finally, the course covers timing diagram generation and analysis using Cheddar, a tool that automates timing analysis and allows for comparison with actual performance. By mastering this tool, the learner becomes proficient in analyzing and optimizing the timing behavior of real-time systems, which is crucial for ensuring their reliability and meeting strict timing requirements.
Overall, this course on Real-Time Embedded Systems Theory and Analysis significantly contributes to professional growth by providing a comprehensive understanding of scheduling policies, practical coding skills, hands-on experience with real-time systems, and proficiency in timing analysis. These skills are highly sought after in the field of embedded systems and will greatly enhance the learner's professional capabilities.
Is this course suitable for preparing further education?
Yes, this course is suitable for preparing further education. It provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination, as well as tools to provide analysis and compare to actual performance. Learners will gain knowledge of rate monotonic theory, differences between fixed priority rate monotonic policy and dynamic priority earliest deadline first and least laxity policies, and scheduling theory and practice. They will also be able to build a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b, and generate and analyze timing diagrams using Cheddar.