Development of Real-Time Systems

Type product

Development of Real-Time Systems

Coursera (CC)
Logo van Coursera (CC)
Opleiderscore: starstarstarstar_halfstar_border 7,2 Coursera (CC) heeft een gemiddelde beoordeling van 7,2 (uit 6 ervaringen)

Tip: meer info over het programma, prijs, en inschrijven? Download de brochure!

Beschrijving

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements. Examples of such systems include airbags, emergency breaks, avionics, and also multi-media systems like video playback and QoS in web servers. The course teaches how to plan real-time systems in theory using established mathematical proofs and how to …

Lees de volledige beschrijving

Veelgestelde vragen

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements. Examples of such systems include airbags, emergency breaks, avionics, and also multi-media systems like video playback and QoS in web servers. The course teaches how to plan real-time systems in theory using established mathematical proofs and how to implement them in practice by using the most common scheduling methods. We also learn and how to program the system in the C language using the FreeRTOS real-time kernel. Finally we have a look at the future of real-time systems namely multi-core real-time systems! This course focus on the learn-by-doing approach with many examples and real-world programming assignments. We have 5 modules, each with a gentle graded quiz in the end and one peer reviewed programming assignment. In case you have no experience with C programming, please check you a practical course like: https://www.coursera.org/learn/arduino-platform The course is actually quite fun! -Simon Holmbacka / Åbo Akademi University Check out our whole curriculum: https://research.it.abo.fi/

Who is this class for: This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! Note that as a consequence, quiz questions are more exam questions where you have to construct the answer based on the principles that are taught in the web lectures, rather than to recall the literal text of the teacher.

Created by:  EIT Digital
  • Taught by:  Simon Holmbacka, Dr

    Åbo Akademi University, Faculty of Science and Engineering
Level Intermediate Commitment 5 weeks of study, 2-3 hours/week Language English How To Pass Pass all graded assignments to complete the course. User Ratings 4.3 stars Average User Rating 4.3See what learners said Travail en cours

Chaque cours fonctionne comme un manuel interactif en proposant des vidéos préenregistrées, des quiz et des projets.

Aide de la part de vos pairs

Connectez-vous à des milliers d'autres étudiants et débattez sur des idées, discutez le contenu du cours et obtenez de l'aide pour en maîtriser les concepts.

Certificats

Obtenez une reconnaissance officielle pour votre travail et partagez votre réussite avec vos amis, vos collègues et vos employeurs.

EIT Digital EIT Digital is a pan-European education and research-based open innovation organization founded on excellence. Its mission is to foster digital technology innovation and entrepreneurial talent for economic growth and quality of life. By linking education, research and business, EIT Digital empowers digital top talents for the future. EIT Digital provides online "blended" Innovation and Entrepreneurship education to raise quality, increase diversity and availability of the top-level content provided by 20 reputable universities of technology around Europe. The universities all together deliver a unique blend of the best of technical excellence and entrepreneurial skills and mindset to digital engineers and entrepreneurs at all stages of their careers. The academic partners support Coursera’s bold vision to enable anyone, anywhere, to transform their lives by accessing the world’s best learning experience. This means that EIT Digital gradually shares parts of its entrepreneurial and academic education programmes to demonstrate its excellence and make it accessible to a much wider audience. EIT Digital’s online education portfolio can be used as part of blended education settings, in both Master and Doctorate programmes, and for professionals as a way to update their knowledge. EIT Digital offers an online programme in 'Internet of Things through Embedded Systems'. Achieving all certificates of the online courses and the specialization provides an opportunity to enroll in the on campus program and get a double degree. These are the courses in the online programme:

Syllabus


WEEK 1


Introduction to Real-Time Systems



Here is where it all starts! We will make a brave attempt to start your future career in real-time systems! This week starts by learning the basic building stones in real-time systems and the system parameters required to successfully construct a real-time system. We introduce you to the corner stone of real-time systems, namely the scheduler – and its task in real-time schedules. You learn also what kind of real-time guarantees are needed in which systems. Concretely, you will learn (1) What is needed to create a real-time system (2) Where real-time requirements are needed. (3) The task and job structure and the parameters needed to schedule a task. (4) Difference between pre-emptive and non-pre-emptive tasks. This course is also part of a Blended Master Programme in Embedded Systems.


5 videos, 1 reading expand


  1. Video: Course Introduction
  2. Video: The Concepts of Real-Time Systems
  3. Video: The Concept of Real-TimeTasks
  4. Video: The Principles of Scheduling
  5. Video: Real-Time Pre-emption
  6. Lecture: FreeRTOS API
  7. Demande de discussion: Setting up the FreeRTOS tool chain
  8. Demande de discussion: Week 1 Forum
  9. Demande de discussion: Assignment 1 Forum

Graded: Quiz 1
Graded: Assignment 1

WEEK 2


Static Scheduling



In this week we start to actually do some scheduling. We firstly have a look at the simplest type of scheduler – the clock driven scheduler. After this we deepen our learning with the fixed priority scheduler and the monotonic schedulers. We learn how the priorities are determined using these schedulers and we learn when/when not to use these schedulers. Secondly we learn how to determine if a system is overloaded in order to validate schedules without complete system simulation.Concretely, after attending this week you will be able to: (1) Schedule a set of tasks with the clock driven scheduler, with the fixed priority scheduler, with the monotonic schedulers. (2) Determine if a system is overloaded using the total-utilization method and the Urm method. (3) Program FreeRTOS to schedule a set of tasks using the fixed priority scheduler


7 videos expand


  1. Video: Clock Driven Scheduling - The Concept
  2. Video: Clock Driven Scheduling - Implementation
  3. Video: Cyclic Structured Scheduling - The Concept
  4. Video: Cyclic Structured Scheduling - Example
  5. Video: Fixed Priority Scheduling
  6. Video: Monotonic Scheduling - The Concept
  7. Video: Monotonic Scheduling - Example
  8. Demande de discussion: Week 2 Forum
  9. Demande de discussion: Assignment 2 Forum

Graded: Quiz 2
Graded: Assignment 2

WEEK 3


Dynamic Scheduling



In the previous week we learned the limitations of the total-utilization method and the Urm method. We start this week off by extending these tests to tasks with short response times. The new method is also, as usual, used in practice! We then focus on improving the optimality of real-time schedules. This is done by learning the principles behind dynamic scheduling methods. Two new schedulers using the dynamic scheduling principle is learned and used in practice with a few examples; the LST scheduler and the EDF scheduler.Concretely, you will learn: (1) How to determine feasibility of a set of tasks using the time demand analysis method. (2) How to schedule a set of tasks using LST and EDF. (3) To determine when a dynamic scheduler is appropriate and when it is not appropriate.


5 videos expand


  1. Video: Tasks with Short Response Time Theory - The Concept
  2. Video: Tasks with Short Response Time - Example
  3. Video: Dynamic Priority Scheduling
  4. Video: Earliest Deadline First Theory
  5. Video: Earliest Deadline First Example
  6. Demande de discussion: Week 3 Forum
  7. Demande de discussion: Assignment 3 Forum

Graded: Quiz 3
Graded: Assignment 3

WEEK 4


Non-Periodic Jobs



All things are easy and nice when not caring about non-periodic jobs. When including non-periodic jobs, the schedulers must take these into account to make a feasible schedule, which we learn this week. The problem is that a non-periodic job can arrive at any time, even if a periodic job is already scheduled. We learn both how to optimize a schedule for non-periodic jobs and how to validate a schedule when non-periodic jobs arrive to the schedule. Concretely, we will learn: (1) How to use the slack stealing method to optimize a schedule with non-periodic jobs (2) How to use the LRT scheduler to optimize a schedule with non-periodic jobs (3) How to use the deferrable server to optimize a schedule with non-periodic jobs (4) Formally verify a schedule with non-periodic jobs


6 videos expand


  1. Video: Aperiodic Jobs - The Concept
  2. Video: Aperiodic Jobs - Example
  3. Video: Sporadic Jobs - The Concept
  4. Video: Sporadic Jobs - Example
  5. Video: The Deferrable Server Theory
  6. Video: The Deferrable Server Example
  7. Demande de discussion: Week 4 Forum
  8. Demande de discussion: Assignment 4 Forum

Graded: Quiz 4
Graded: Assignment 4

WEEK 5


Real-Time Operating Systems



This week is what we all have been waiting for! We will deepen our learning of FreeRTOS, its kernel and the functionalities. We demonstrate the importance of predictable computer architectures for example when determining the context switch and factors influencing this overhead. As we head towards the future, we finish this course by introducing you to multi-core real-time systems and scheduling methods for multi-core real-time systems. Concretely, you will learn: (1) The internal mechanisms of FreeRTOS, for example mutexes/semaphores and message queues. (2) Multi-core computer architectures for real-time systems. (3) Multi-core scheduling methods.


5 videos expand


  1. Video: RTOS Overview
  2. Video: The FreeRTOS Kernel
  3. Video: Multi-Core Real-Time Systems
  4. Video: Multi-Core Scheduling - Shared Resources
  5. Video: Multi-Core Scheduling - Scheduling Methods
  6. Demande de discussion: Week 5 Forum
  7. Demande de discussion: Assignment 5 Forum
  8. Demande de discussion: Ways of improving the course

Graded: Quiz 5
Graded: Assignment 5

Blijf op de hoogte van nieuwe ervaringen

Er zijn nog geen ervaringen.

Deel je ervaring

Heb je ervaring met deze cursus? Deel je ervaring en help anderen kiezen. Als dank voor de moeite doneert Springest € 1,- aan Stichting Edukans.

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

Download gratis en vrijblijvend de informatiebrochure

Aanhef
(optioneel)
(optioneel)
(optioneel)
(optioneel)
(optioneel)

Heb je nog vragen?

(optioneel)
We slaan je gegevens op om je via e-mail en evt. telefoon verder te helpen.
Meer info vind je in ons privacybeleid.