RTEMS- Echtzeitbetriebssystem



Ähnliche Dokumente
OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Performance Messungen von FreeRTOS und

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Task: Nmap Skripte ausführen

Select & Preprocessing Cluster. SPP Server #1. SPP Server #2. Cluster InterConnection. SPP Server #n

Telefonieren mit App's"! iphone mit Bria Informationen zur Nutzung von TeScript

Installation und Bedienung von vappx unter ios

Office 365 ProPlus für Studierende

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

:: Anleitung Hosting Server 1cloud.ch ::

Tess TeSign nutzen mit App's"! iphone und Bria Informationen zur Nutzung

Formular»Fragenkatalog BIM-Server«

Zeichen bei Zahlen entschlüsseln

Installation und Inbetriebnahme von SolidWorks

Prozesse. Stefan Janssen. Alexander Sczyrba

OSEK / OSEKtime - ein Vergleich

GSM: Airgap Update. Inhalt. Einleitung

Seminar: Mobile Geräte QNX Einführung

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

Der Product Activation Manager (PAM) dient dazu Software-Lizenzen anzuzeigen, zu verwalten und abzurufen.

Installation und Bedienung von vappx unter Android

FrontDoor/Monitor mehr sehen von FrontDoor

Microsoft Update Windows Update

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

EIDAMO Webshop-Lösung - White Paper

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Einführung Inhaltsverzeichnis

HIT-Software Installieren und Starten der Netzwerklizenz als Download-Anwendung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Anleitung zur Nutzung des SharePort Utility

Enjoy OCI direkt in SAP mit dem SAP Open Catalog Interface (SAP OCI)

Verwendung des Terminalservers der MUG

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

Kurzanleitung Datensicherungsclient (DS-Client)

DeltaVision Computer Software Programmierung Internet Beratung Schulung

Tipps und Tricks zu Netop Vision und Vision Pro

Rillsoft Project - Installation der Software

Einrichten einer Verbindung zwischen einem BlackBerry 10 Smartphone und einem Exchange Postfach

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

Dämon-Prozesse ( deamon )

ANLEITUNG. Firmware Flash. Seite 1 von 7

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Internet Security 2009W Protokoll Firewall

Verwendung des IDS Backup Systems unter Windows 2000

Installationsanleitung für Upgrade auf Windows 10 (Windows 8.1)

An integrated total solution for automatic job scheduling without user interaction

GeODin 7 Installationsanleitung

Netzwerkeinstellungen unter Mac OS X

Round-Robin Scheduling (RR)

IT-Controlling als notwendiges Instrument für die Leitung eines Krankenhauses. Dr. Bernd Schütze, Gesellschaft für klinische Dienstleistungen

Theoretische Grundlagen der Informatik WS 09/10

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Military Air Systems

Technical Note ewon über DSL & VPN mit einander verbinden

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006

Operating System Kernels

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Broadband Connectivity Services

Powermanager Server- Client- Installation

Kostenloser Apple-Softclient zur Nutzung von TeSign

1. Allgemeines zum tevitel.wq-monitor Seite WQ-Monitor konfigurieren Seite 4

36. SonntagsBlick Langlaufplausch 2015 Anleitung für eine Gruppenanmeldung

Installation SPSS Netzwerkversion (Mac)

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Grundlagen verteilter Systeme

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Übertragung von ArcGIS Desktop 10.1 Concurrent Use Lizenzen auf zwei oder mehr Lizenzmanager (Juni 2013)

BitDefender Client Security Kurzanleitung

Anhang zum Handbuch. Netzwerk

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom

Nachricht der Kundenbetreuung

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Nokia Handy - Daten sichern.

Daten fu r Navigator Mobile (ipad)

Kurzanleitung MAN E-Learning (WBT)


Update auf Windows 8.1 Schrittweise Anleitung

Anleitung Grundsetup C3 Mail & SMS Gateway V

SPIELBESCHREIBUNGEN DART RADIKAL SYSTEM

Installation Hardlockserver-Dongle

Internet Explorer Version 6

Überprüfung der digital signierten E-Rechnung

BytStorMail SAAS als Relay

Transkript:

RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006

RTEMS- Echtzeitbetriebssystem 1) Allgemeines über RTEMS 2) Systemarchitektur von RTEMS 2.1) Manager -Modell 2.2) Kernel Features 2.3) Unterstützung offener Standards 3) Task-Modell 3.1) Tasks in RTEMS 3.2) Intertask Kommunikations- und Synchronisation- Mechanismen 3.3) RTEMS-Scheduler 3.4) Bibliotheksfunktionen aus der POSIX-API 4) Interrupt-Management 4.1) Bibliotheksfunktionen des Interrupt-Managers 5) Quellen

1) Allgemeines über RTEMS Real Time Executive for Multiprocessor Systems Ein Open-Source Echtzeitbetriebssystem; ursprünglich vom US-Militär unter dem Namen Real Time Executive for Missile Systems entwickelt Als Haupteinsatzbereiche gelten ressourcenarme tief eingebettete Systeme (Medizin, Militärtechnik) RTEMS wird kostenlos und royalty free lizenziert Unterstützung zahlreicher Plattformen: ARM, MC68K, PowerPC, Intel i386, Sparc, SH etc.

2) Systemarchitektur von RTEMS Anwender- Applikation Optionale Systemdienste (z.b. Netzwerk) Elementare Systemdienste (z.b. Scheduling) Abbildung 1: Systemarchitektur von RTEMS

2.1) Manager -Modell Hoch modularer Systemaufbau als Grundlage für den Einsatz in ressourcenarme tief eingebetteten Systemen Viele Systemkomponenten sind als separate Module, in RTEMS Manager genannt, verfügbar, die optional benutzt werden können: Network Support Manager, I/O-Manager, Timer Manager, Memory Pool Manager, Semaphore Manager etc. Eine typische RTEMS-Anwendung besteht aus der Anwender- Applikation, die nach dem Kompilieren zu den benötigten RTEMS-Manager gelinkt und anschließend an die Zielhardware übertragen wird

2.2) Kernel Features Der RTEMS- Kernel verfügt u.a. über folgende Features: Multitasking Unterstützung homogener / heterogener Multiprozessor- Systeme Ereignisbasiertes, prioritätsgesteuertes preemptives Scheduling Intertask Kommunikations- und Synchronisations- Mechanismen Prioritäts-Vererbung Dynamische Speicherallokation Hohe Konfigurierbarkeit Echtzeitgerechte Interrupt-Management

2.3) Unterstützung offener Standards RTEMS ist nicht zuletzt für die Unterstützung offener Standards weit verbreitet. Die Portabilität von Anwendungen wird insbesondere durch folgende unterstützte Standards erhöht: POSIX 1003.1b API inkl. Threads RTEID -API (Real-Time Executive Interface Definition) ORKID-API (Open Real-Time Kernel Interface Definition) TCP/IP-Stack uitron 3.0 API (Micro Industrial The Real-time Operating System Nucleus ) GNU-Toolset

3.1) Tasks in RTEMS In RTEMS gibt es genau einen Prozess, der aus mehreren Tasks bestehen kann Tasks in der Terminologie von RTEMS ähneln den aus der Unix-Welt bekannten Threads Tasks stellen also die kleinsten Ausführungseinheiten dar, die um Systemressourcen wie etwa die Rechenzeit konkurrieren können Alle Tasks in einem RTEMS-System teilen sich den gleichen Adressraum (kein Speicherschutz!) Ein Task befindet sich immer in einem der folgenden Zustände: executing (rechnend), ready (rechenbereit), blocked (blockiert), dormant (ruhend), and non-existent (nichtexistierend).

3.1) Tasks in RTEMS Abbildung 2: Übergänge zwischen den einzelnen Task- Zuständen

3.2) Intertask Kommunikations- und Synchronisation- Mechanismen Für zusammen kooperierende Tasks stellt RTEMS folgende Kommunikations- und Synchronisations-Mechanismen bereit: Semaphore Message Queue Event Signal

3.3) RTEMS-Scheduler Der Scheduler hat die Aufgabe die wertvolle Ressource Rechenzeit so auf die rechenbereiten Tasks zu verteilen, dass diese alle ihre Reaktionszeiten einhalten. Die Zuteilung der Rechenzeit erfolgt nach einem preemptiven prioritätsgesteuerten Algorithmus. Bei mehreren Tasks mit gleicher Priorität wird die Rechenzeit nach der Round-Robin- Strategie zugeteilt. Dadurch ist gewährleistet, dass stets der Task mit der höchsten Priorität die Rechenzeit erhält.

3.4) Bibliotheksfunktionen aus der POSIX-API Nachfolgend einige Funktionen der POSIX-API für Threads: // Starten eines Threads int pthread_create( pthread_t *thread, //für die Thread-ID const pthread_attr_t *attr, // Thread-Attribute(z.B. Stackgröße) void (*start_routine)( void *), // Thread-Startadresse void *arg // Parameter der Startroutine ); // Beenden eines Threads void pthread_exit( void *status); // status: Rückgabewert der Startroutine // Warten auf das Ende eines Threads int pthread_join( pthread_t thread, // Thread, auf dessen Ende gewartet wird void **value_ptr // Rückgabewert des Threads );

RTEMS unterstützt intern 256 Interrupt-Prioritätsklassen, die in Abhängigkeit der verwendeten Hardwareplattform eventuell nicht immer definiert sind 4) Interrupt-Management Die echtzeitgerechte Interrupt-Management wird vom Interrupt- Manager gewährleistet Der Interrupt-Manager erlaubt die Anbindung benutzerdefinierter Funktionen an Hardware-Interrupt-Vektoren Der Interrupt-Manager garantiert minimale Interrupt Latenzzeiten unabhängig von der Zielhardware Die Verarbeitung eines externen Ereignisses erfolgt in einer vorgesehenen Benutzer-ISR Der Interrupt-Manager garantiert geeignetes Verhalten hinsichtlich Scheduling und dispatching beim Verlassen einer ISR

4.1) Bibliotheksfunktionen des Interrupt-Managers Nachfolgend einige Bibliotheks-Funktionen des Interrupt-Managers: // Defnition eigener ISR rtems_isr user_isr( rtems_vector_number vector // Interrupt-Vektor-Nummer ); // Installieren von ISR's rtems_status_code rtems_interrupt_catch( rtems_isr_entry new_isr_handler, // Einsprungadresse der ISR rtems_vector_number vector, // Interrupt-Vektor-Nummer rtems_isr_entry *old_isr_handler // Adresse der zuletzt installierten ISR ); // Sperren von Interrupts: Alle maskierbaren Interrupts werden gesperrt void rtems_interrupt_disable( rtems_interrupt_level level // Zustands-Zwischenspeicherung ); // Interrupts enablen : Zustand vor dem letzten Sperren wiederherstellen void rtems_interrupt_enable( rtems_interrupt_level level // Vorzustand );

5) Quellen http://www.rtems.com http://www.sakamura-lab.org http://www.wikipedia.de