Wenn Sie sich für diesen Kurs anmelden, werden Sie auch für diese Spezialisierung angemeldet.
Lernen Sie neue Konzepte von Branchenexperten
Gewinnen Sie ein Grundverständnis bestimmter Themen oder Tools
Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
Erwerben Sie ein Berufszertifikat zur Vorlage
In diesem Kurs gibt es 4 Module
Dieser Kurs kann auch als ECEA 5316 im Rahmen des Master of Science in Electrical Engineering an der CU Boulder belegt werden. Dieser Kurs bietet eine detaillierte und vollständige mathematische Ableitung und Überprüfung von Modellen für Scheduling-Politiken und die Bestimmung der Machbarkeit von Hand und mit ratenmonotonen Tools sowie einen Vergleich mit der tatsächlichen Leistung für in Echtzeit geplante Threads, die auf einem nativen Linux-System laufen. Am Ende dieses Kurses wird der Lernende in der Lage sein, die kleinste obere Schranke für die Machbarkeit bei fester Priorität vollständig herzuleiten und die monotone Politik zu rechtfertigen, und er wird in der Lage sein, sie mit der dynamischen Prioritätsplanung zu vergleichen, einschließlich der Politik des frühesten Termins und der geringsten Laxheit.
Am Ende dieses Kurses werden die Teilnehmer in der Lage sein, das mathematische Modell für die monotone kleinste obere Schranke vollständig abzuleiten und zu erklären sowie die Analyse von Zeitdiagrammen für Softwaredienste mit fester und dynamischer Priorität durchzuführen. Es werden Analysetools erlernt (Cheddar), um die Timing-Analyse zu automatisieren und mit der tatsächlichen Leistung zu vergleichen.
Zu den spezifischen Objekten gehören:
● Theorie der Ratenmonotonie (vollständige mathematische Modelle) ● Unterschiede zwischen der Politik der Ratenmonotonie mit fester Priorität und der Politik der dynamischen Priorität "earliest deadline first" und "least laxity" ● Scheduling-Theorie und Praxis beim Schreiben von Code für Multi-Frequenz-Führungskräfte, prioritäre präemptive RTOS-Dienste, und Echtzeit-Thread-Dienste auf traditionellen Betriebssystemen (Linux) ● Aufbau eines einfachen Linux-Multi-Service-Systems unter Verwendung von POSIX-Echtzeiterweiterungen auf dem Raspberry Pi 3b unter Verwendung von Sequenzierung und Methoden zur Protokollierung und Überprüfung der Übereinstimmung zwischen Theorie und Praxis ● Erstellung und Analyse von Zeitdiagrammen mit Cheddar Dieser Kurs beinhaltet spezifische Hardware- und Softwareanforderungen. Bitte lesen Sie die FAQ unten für vollständige Details.
Am Ende dieses Moduls werden Sie in der Lage sein, die mathematischen Zusammenhänge der Rate Monotonic Least Upper Bound Bedingung zu analysieren, sowie deren Herausforderungen und Alternativen zu analysieren. Eine Erweiterung der RM Scheduling Policy, d.h. Deadline Monotonic Scheduling Policy, zusammen mit der Implementierung eines Fertigstellungstests zur Bestimmung der exakten Machbarkeit der Rate Monotonic Scheduling Policy ist ebenfalls Bestandteil dieses Moduls. Durch die Bearbeitung von Programmieraufgaben werden Echtzeitdienste auf Systemebene implementiert und die besten Planungsstrategien zur Einhaltung der Fristen für die entworfenen Echtzeitsysteme sowie deren Kompromisse ermittelt.
Aufgabe 3: Zeitdiagramm-Emulation - RM ist erfolgreich, Fair ist nicht erfolgreich•60 Minuten
1 Diskussionsthema•Insgesamt 10 Minuten
Stellen Sie sich vor•10 Minuten
Service Design Durchführbarkeitsanalyse Praxis und Methoden der Umsetzung
Modul 2•19 Stunden abzuschließen
Moduldetails
Am Ende dieses Moduls werden die Teilnehmer in der Lage sein, das Entwurfsmuster für Echtzeitdienste zu beschreiben, die Herausforderungen bei der Implementierung, wie z.B. unbegrenztes Blockieren, zu beschreiben und den normalen Betrieb zu beschreiben - die Synchronisierung von Dienstanfragen zwischen einem ISR und jedem Thread oder Task, Initialisierung, Keep-Alive-Posting, Fehlerbehandlung und Beendigung.
Dynamische Priorität Früheste Deadline zuerst und Geringste Laxheit zuerst
Modul 3•10 Stunden abzuschließen
Moduldetails
Am Ende dieses Moduls werden die Teilnehmer wissen, wann dynamische Prioritätsrichtlinien verwendet werden sollten, welche Vorteile sie für eine weiche Echtzeit haben, welche Nachteile sie für die Fehlererkennung und -behebung haben, welche Herausforderungen bei der Bestimmung der Machbarkeit bestehen und wie effizient sie im Vergleich zu festen Prioritäten sind.
Vorteile der dynamischen Prioritäten und wann Sie EDF verwenden sollten•17 Minuten
Nachteile der dynamischen Prioritäten und wann EDF nicht verwendet werden sollte•10 Minuten
Vorteile der dynamischen, adaptiven Planung: Wann Sie LLF verwenden sollten•13 Minuten
Nachteile der dynamischen adaptiven Planung: Wann LLF nicht verwendet werden sollte•4 Minuten
Abschließende Gegenüberstellung von EDF- und LLF-Ausfallmodi und Wiederherstellung•11 Minuten
Cheddar Tool Einführung und Überblick•18 Minuten
4 Lektüren•Insgesamt 210 Minuten
Rate Monotonic vs. EDF - Judgement Day Papier•180 Minuten
Grundlagen des EDF Buch und Schlüsselpapiere•10 Minuten
Referenz: Key Least Laxity Erste Papiere•10 Minuten
Cheddar 3.2 Tools und Beispiele aktualisiert!•10 Minuten
1 Aufgabe•Insgesamt 30 Minuten
Modul 3 | Früheste Deadline zuerst, geringste Laxheit zuerst•30 Minuten
1 Programmieraufgabe•Insgesamt 180 Minuten
Aufgabe 7: Zeitdiagramm-Emulation - Nicht-harmonisch, RM-Ausfall, EDF und LLF-Erfolg•180 Minuten
1 peer review•Insgesamt 120 Minuten
Aufgabe 7: Zeitdiagramm-Emulation - Nicht-harmonisch, RM-Ausfall, EDF und LLF-Erfolg•120 Minuten
Synchronisierung und begrenzte vs. unbegrenzte Sperrung
Modul 4•13 Stunden abzuschließen
Moduldetails
Am Ende dieses Moduls sind die Teilnehmer in der Lage, Probleme mit Ressourcen zu beschreiben, die über die CPU hinaus verwendet werden (Arbeitsspeicher, E/A und Speicher), und zu erklären, wie Probleme vermieden oder behoben werden können
Das ist alles enthalten
12 Videos2 Lektüren1 Aufgabe2 peer reviews
Infos zu Modulinhalt anzeigen
12 Videos•Insgesamt 152 Minuten
Anmerkung zu Linux-Synchronisationsmethoden im Vergleich zu RTOS•17 Minuten
Begrenzte Blockierung für die Dienstfreigabe•6 Minuten
Beschränkte Blockierung und Auswirkungen auf die Ausführungseffizienz von RT-Systemen•25 Minuten
Definition der uneingeschränkten Blockierung und Beispiele für Grundursachen•18 Minuten
Code-Durchlauf: Fällt Ihnen eine einfache Methode ein, um eine Blockade nach einer Zeitüberschreitung zu überwinden?•4 Minuten
Überprüfung der Verwendung von Semaphoren und der Notwendigkeit eines kritischen Abschnitts (C.S.)•4 Minuten
Code-Durchlauf: Demonstration der unbeschränkten Prioritätsinversion•8 Minuten
Prioritätsvererbung, Prioritätshöchstgrenze und Emulation der Prioritätshöchstgrenze•19 Minuten
Mars Pathfinder Problem - Rolling Reset 3 Tage vor der nächsten Annäherung an den Mars•19 Minuten
Mars Pathfinder Ursachenanalyse•10 Minuten
Mars Pathfinder - Fehlerlokalisierung und die Behebung•16 Minuten
2 Lektüren•Insgesamt 250 Minuten
Prioritätsinversion (unbegrenzt) und Prioritätsvererbungsprotokoll•240 Minuten
OPTIONAL: Die Entwicklung von Echtzeit-Linux•10 Minuten
1 Aufgabe•Insgesamt 30 Minuten
Modul 4 | Thread-Synchronisation•30 Minuten
2 peer reviews•Insgesamt 360 Minuten
Linux hat keine Prioritätsvererbung oder Ceiling-Protokoll - Warum? Was kann getan werden?•180 Minuten
Was geschah wirklich mit dem Mars Pathfinder? Warum gibt es mehrere Geschichten?•180 Minuten
Erwerben Sie ein Karrierezertifikat.
Fügen Sie dieses Zeugnis Ihrem LinkedIn-Profil, Lebenslauf oder CV hinzu. Teilen Sie sie in Social Media und in Ihrer Leistungsbeurteilung.
Auf einen Abschluss hinarbeiten
Dieses Kurs ist Teil des/der folgenden Studiengangs/Studiengänge, die von University of Colorado Boulderangeboten werden. Wenn Sie zugelassen werden und sich immatrikulieren, können Ihre abgeschlossenen Kurse auf Ihren Studienabschluss angerechnet werden und Ihre Fortschritte können mit Ihnen übertragen werden.¹
Mögliche Abschüsse anzeigen
Auf einen Abschluss hinarbeiten
Dieses Kurs ist Teil des/der folgenden Studiengangs/Studiengänge, die von University of Colorado Boulderangeboten werden. Wenn Sie zugelassen werden und sich immatrikulieren, können Ihre abgeschlossenen Kurse auf Ihren Studienabschluss angerechnet werden und Ihre Fortschritte können mit Ihnen übertragen werden.¹
¹Erfolgreiche Bewerbung und Einschreibung sind erforderlich. Es gelten die Zulassungsbedingungen. Jede Einrichtung legt die Anzahl der Credits fest, die durch die Absolvierung dieser Inhalte anerkannt werden und auf die Abschlussanforderungen angerechnet werden können, wobei bereits vorhandene Credits berücksichtigt werden. Klicken Sie auf einen bestimmten Kurs, um weitere Informationen zu erhalten.
Die CU Boulder ist eine dynamische Gemeinschaft von Gelehrten und Lernenden auf einem der spektakulärsten College-Campus des Landes. AS eine von 34 öffentlichen US-Institutionen in der angesehenen Association of American Universities (AAU), haben wir eine stolze Tradition der akademischen Exzellenz, mit fünf Nobelpreisträgern und mehr als 50 Mitglieder der renommierten akademischen Akademien.
Was sind die Hardware- und Softwareanforderungen für diesen Kurs?
Systemvoraussetzungen
● Ein Windows- oder Mac-Computer für den Fernzugriff auf den Raspberry Pi
● Heimnetzwerk mit Internetzugang und einem Router, über den der Raspberry Pi im lokalen Netzwerk (Wi-Fi oder Ethernet) erreichbar ist
● SSH auf dem Raspberry Pi aktiviert (erforderlich)
● VNC auf dem Raspberry Pi aktiviert (optional, für Remote-Desktop-Zugriff)
Hardware-Anforderungen
Für diese Spezialisierung benötigen Sie ein Heimlabor, das auf einer unterstützten Einbettungs-Linux-Plattform basiert. Die folgende Konfiguration ist erforderlich und wird für alle Kursaktivitäten getestet.
Erforderliche Hardware
● Eingebettete Linux-Hardwareplattform - empfohlen: Raspberry Pi 3B+ (Raspberry Pi Familie oder gleichwertig)
● MicroSD-Karte (vorinstalliert mit NOOBS oder Raspberry Pi OS)
● Kühlkörper
● Gehäuse
● 5V / 2.5A Stromversorgung mit Schalter
● HDMI-Kabel
● UVC-kompatible USB-Kamera (USB 2.0 oder besser)
Alternative Hardware-Konfigurationen
Obwohl der Raspberry Pi 3B+ die offiziell unterstützte Plattform ist, können Sie andere Linux-fähige Einbettungsplattformen auf eigenes Risiko verwenden:
● Raspberry Pi 4 (bietet USB 3.0, 2+ GB RAM und Gigabit Ethernet)
jetson Nano, DE10-SoC oder ähnliche Boards (nur für fortgeschrittene Benutzer; Selbstunterstützung erforderlich)
Hinweis: Der gesamte in dieser Spezialisierung enthaltene Code wurde auf dem Raspberry Pi 3B+ mit Raspberry Pi OS (früher Raspbian) getestet und verifiziert.
Software-Anforderungen
Die Fähigkeit, eines der folgenden Fernzugriffstools auf Ihrem Computer zu installieren und zu verwenden:
● MobaXterm (empfohlen für Windows)
● PuTTY
● VNC-Betrachter
Wann werde ich Zugang zu den Vorlesungen und Aufgaben haben?
Um Zugang zu den Kursmaterialien und Aufgaben zu erhalten und um ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung erwerben, wenn Sie sich für einen Kurs anmelden. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen. Der Kurs kann stattdessen die Option "Vollständiger Kurs, kein Zertifikat" anbieten. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Was bekomme ich, wenn ich mich für diese Specialization einschreibe?
Wenn Sie sich für den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Spezialisierung, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Seite "Leistungen" hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder Ihrem LinkedIn-Profil hinzufügen.
Ist finanzielle Hilfe verfügbar?
Ja. Für ausgewählte Lernprogramme können Sie finanzielle Unterstützung oder ein Stipendium beantragen, wenn Sie die Einschreibegebühr nicht aufbringen können. Wenn für das von Ihnen gewählte Lernprogramm eine finanzielle Unterstützung oder ein Stipendium verfügbar ist, finden Sie auf der Beschreibungsseite einen Link zur Beantragung.