Gerätetreiber unter Linux

Größe: px
Ab Seite anzeigen:

Download "Gerätetreiber unter Linux"

Transkript

1 Gerätetreiber unter Linux Rolf Freitag

2 Einführung Ein Gerätetreiber ist eine Programmschnittstelle zwischen System- oder Anwendungssoftware und der Hardware. Sie dienen auch zum Abstrahieren/Vereinfachen; d. h. über eine Schnittstelle wie ein device-file werden Daten wie z. B. Uhrzeit und Datum von einer Applikation ausgegeben oder gelesen und nicht die nötigen Geräte, z. B. I2C-Master und I2C-Slave direkt angesteuert; um das Datenformat in den Hardware-Registern und und andere Details braucht sich die Applikation ebenfalls nicht zu kümmern. Ein Gerätetreiber bildet deshalb eine Schicht, die nach unten mit der Hardware kommuniziert, nach oben mit anderer Software wie Applikationen und i. Allg. innerhalb der Schicht auch mit anderen Treibern. Die Gerätetreiber steuern die Hardware oder lesen sie aus, indem sie Hardware-Register, so genannte I/O-Ports verwenden. Im einfachsten Fall gibt es nur einen Adressraum, in dem die I/O-Ports an speziellen Adressen sind. Beispiele in C: #define WDTCTL (*(volatile uint16_t *)0x0120) foo = WDTCTL; WDTCTL = 0xDEAD; Die Details, also welcher Port wo zu finden ist und was die einzelnen Bits darin bedeuten, stehen in der Dokumentation der jeweiligen Hardware und Assembler/Compiler. Die Details sind auch Plattformabhängig, denn nicht bei jeder Plattform/Hardware sind die I/O-Register im selben Adressraum wie gewöhnliche Adressen und damit nicht mit reinem ANSI-C erreichbar.

3 Grundsätzlich unterscheidet man bei Treibern solche, die im User-Space arbeiten und solche, die im Kernel- Space arbeiten: Gerätetreiber im Kernel integriert als Kernel Modul direkt/programm Kernel Space User Space Vom User-Space, in dem die gewöhnlichen Programme (Applikationen) laufen, können allgemein nur die Treiber im Kernel-Space genutzt werden. Dies geschieht normalerweise über die block device files oder charackter device files in /dev oder über Dateien in /proc/. Beispiele: cat /dev/random cat /proc/cpuinfo cat /proc/driver/rtc Dateioperationen (open, lseek, read, write, close) auf /dev/port (bedingt portabel). Im Kernel-Space, wie auch bei der Mikrocontroller-Programmierung ohne Betriebssystem, erfolgen die Zugriffe auf die Hardware direkt oder über Kommunikation mit anderen Treibern. Dadurch können auch Treiber im User-Space, von dem die Hardware nicht direkt erreichbar ist, realisiert werden, wenn die erforderlichen Treiber im Kernel-Space die nötigen Schnittstellen bereitstellen. Beispiel: Ein Treiber der die serielle Schnittstelle verwendet.

4 Unter Linux werden die Treiber für den Kernel-Space meist als Modul erstellt und bei Bedarf geladen. Die zugehörigen Dateien in /proc werden vom Treiber selbst angelegt, während die Geräte-Dateien in /dev mittels mknode angelegt werden müssen. Auf die Geräte-Dateien wird meist zugegriffen mittels dd oder read/write.

5 Beispiel 0: minimales Kernel-Modul, Kernel-Space /* minimal.c for a minimal module. Compile (to minimal.ko) with Makefile with only this line: obj-m := minimal.o and this command line: make -C /lib/modules/ uname -r /build SUBDIRS= pwd modules To build kernel modules please do the following:" o Have the kernel sources installed" o Make sure that the symbolic link" /lib/modules/ uname -r /build exists and points to" the matching kernel source directory" o Configure kernel sources:" - cd /usr/src/linux" - make mrproper" - make cloneconfig" - make dep" o When compiling, make sure to use the following" compiler option to use the correct include files:" -I/lib/modules/ uname -r /build/include" instead of" -I/usr/include/linux" Please adjust the Makefile accordingly."

6 Usage: insmod./minimal.ko; sleep 1; rmmod minimal; sleep 1; tail /var/log/messages */ #include <linux/module.h> #include <linux/kernel.h> /* printk() */ int init_module (void) { printk (KERN_CRIT "Minimalmodul installiert\n"); return 0; } void cleanup_module (void) { printk (KERN_ALERT "Minimalmodul entfernt.\n"); }

7 Ausblick (auch mit MSP430) Interrupt-Handler, RTAI DMA zur Entlastung der CPU(s) Raw I/O zur Entlastung von System-Puffern Netzwerk-Treiber, Sockets Ab Kernel 2.4: Compiler-Option -I/lib/modules/ uname -r /build/include statt include /usr/include/{linux,asm} Link z. Vortrag: random.linux-site.net/files/lsp/ Portieren von Treibern auf Kernel 2.6: HOWTO: Linux Device Driver Dos and Don ts Linux Device Driver-Artikel:

8 Linux I/O port programming mini-howto dpunkt-buch über Linux-Treiber-Entwicklung kostenlos: Buch Linux Gerätetreiber (Engl. Linux Device Drivers) kostenlos online: Artikel: Porting device drivers to the 2.6 kernel: Driver porting: Device model overview: The zen of kobjects: udev: Writing udev rules: Weitere Bücher: C99 (ISO/IEC 9899, ANSI-C), rd. 15 EUR Rationale for International Standard Programming Languages C (google) C-FAQs (im Buch ist mehr als Online) Expert C Programming Lutz Bierl, Das grosse MSP430 Praxisbuch, ISBN X, Franzis Verlag Messen, Steuern, Regeln mit Linux, Franzis-Verlag Moderne Betriebssysteme, Andrew S. Tanenbaum

Aufbau eines Kernelmoduls

Aufbau eines Kernelmoduls Kernel Module Kernelmodul = ladbare/entfernbare Objektdatei (Dateisystem, Gerätetreiber, Systemeingriffe) Vorteile: Ressourcenverbrauch abhängig vom aktuellen Anforderungen Erweiterung der Kernelfunktionalität

Mehr

Treiber Kernel und Module bauen

Treiber Kernel und Module bauen Treiber Kernel und Module bauen Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Treiber Kernel und Module bauen 1/17

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 9 I/O (2) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät UNIX I/O UNIX I/O: ähnlich wie Standard-I/O, jedoch File-Deskriptoren

Mehr

Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen

Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Module, Built-In-Treiber, Treiber Ein Modul kann alles sein Ein Treiber hat I/O Aufgaben und unterscheidet

Mehr

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner Konzepte von Betriebssystemkomponenten Gerätetreiber Mario Körner 26.01.2004 Übersicht Einordnung in die Betriebssystemarchitektur Schnittstelle zur Hardware Schnittstelle zum Betriebssystem am Beispiel

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Geräteverwaltung: Einführung

Geräteverwaltung: Einführung Geräteverwaltung: Einführung Die Ziele einer Geräteverwaltung sind: Einfache Softwareschnittstelle Gleiche Software Schnittstellen für alle Geräte eines Gerätetyps z.b.: unabhängig vom Soundkartenhersteller

Mehr

Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen

Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Module, Built-In-Treiber, Treiber Ein Modul kann alles sein Ein Treiber hat I/O Aufgaben und unterscheidet

Mehr

I/O-Hardware Grundlagen. Ein- und Ausgabe. Memory-Mapped I/O. Device Controller

I/O-Hardware Grundlagen. Ein- und Ausgabe. Memory-Mapped I/O. Device Controller I/O-Hardware Grundlagen Grundlagen von Ein-/Ausgabe-Hardware und Software I/O-Software-Schichten Wir betrachten I/O-Hardware wie Hard Disks, Bildschirme, Drucker etc. hier eigentlich als Blackbox, die

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und den sonstigen Betriebssystemkomponenten

Mehr

PVFS (Parallel Virtual File System)

PVFS (Parallel Virtual File System) Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt thorsten.schuett@zib.de Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen für den Raspberry PI

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen für den Raspberry PI Kernel Programmierung unter Linux Programmierung von Kernelmodulen für den Raspberry PI Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und

Mehr

Programmiertechnik 1. Unit 12: Programmiersprache C - Betriebssystemschnittstellen. Andreas Polze 1

Programmiertechnik 1. Unit 12: Programmiersprache C - Betriebssystemschnittstellen. Andreas Polze 1 Programmiertechnik 1 Unit 12: Programmiersprache C - Betriebssystemschnittstellen Andreas Polze 1 Ablauf Zugriff auf Betriebssystemdienste Dateideskriptoren low-level I/O read and write open, creat, close,

Mehr

Inhaltsverzeichnis Einleitung... 3

Inhaltsverzeichnis Einleitung... 3 PBox Handbuch Seite 2 Inhaltsverzeichnis Einleitung... 3 Systemanforderungen... 4 Generelle Voraussetzungen... 4 Windows Betriebssysteme... 4 Andere Betriebssysteme... 4 PBox Verwendung... 5 Windows Software...

Mehr

Linux-Kernel-Programmierung

Linux-Kernel-Programmierung Linux-Kernel-Programmierung Übungsaufgaben Jürgen Quade Linux-Kernel-Programmierung: Übungsaufgaben von Jürgen Quade Versionsgeschichte Version $Revision: 1.5 $ Do 9. Jul 21:25:13 CEST 2009 Geändert durch:

Mehr

Einleitung Aufbau und Struktur Kommunikation Ein einfacher Treiber. Linux - Der Kernel. Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer

Einleitung Aufbau und Struktur Kommunikation Ein einfacher Treiber. Linux - Der Kernel. Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer 18. Jänner 2008 Übersicht 1 Einleitung Was ist Linux? 2 Aufbau und Struktur Mikro/Monolithischer Kern Der Linux Kernel VFS 3 Kommunikation

Mehr

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+

Mehr

Implementierung eines Dateisystems für den transparenten Zugriff auf ein Versionskontrollsystem

Implementierung eines Dateisystems für den transparenten Zugriff auf ein Versionskontrollsystem eines Dateisystems für den transparenten Zugriff auf ein Versionskontrollsystem Präsentation zur Bachelorarbeit Jens M. Nödler Betreut durch Prof. Dr. Grabowski Institut für Informatik Georg-August-Universität

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen für den Raspberry PI. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen für den Raspberry PI. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen für den Raspberry PI Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und

Mehr

GNU/Linux Introduction Linux Introduction: Part 1. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

GNU/Linux Introduction Linux Introduction: Part 1. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at GNU/Linux Introduction Linux Introduction: Part 1 Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at Windows / Linux @ Central IT Services Windwos 7 Centos 7.3 Zugriff von Windows auf Linux (WinSCP, PuTTy)

Mehr

Swappen über Netzwerk

Swappen über Netzwerk Swappen über Netzwerk Autor: Matthias Kleine (kleine_matthias@gmx.de) Formatierung: Matthias Kleine (kleine_matthias@gmx.de) Lizenz: GFDL Dieses Kapitel beschreibt die Einrichtung einer Auslagerungsdatei

Mehr

I/O: Von der Platte zur Anwendung. Von Igor Engel

I/O: Von der Platte zur Anwendung. Von Igor Engel I/O: Von der Platte zur Anwendung Von Igor Engel 1 Gliederung 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien 4.1 Dateisysteme 4.2 Transport der Daten 5 Festplattentreiber 6 Festplattenkontroller

Mehr

Anleitung zur Schnellinstallation TFM-561U

Anleitung zur Schnellinstallation TFM-561U Anleitung zur Schnellinstallation TFM-561U V1 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 Troubleshooting 5 Version 08.25.2010 1. Bevor Sie anfangen Packungsinhalt TFM-561U Treiber

Mehr

iid software tools QuickStartGuide iid USB base driver installation

iid software tools QuickStartGuide iid USB base driver installation iid software tools QuickStartGuide iid software tools USB base driver installation microsensys Nov 2016 Introduction / Einleitung This document describes in short form installation of the microsensys USB

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices)

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices) Betriebssysteme Folie 6-1 6 Dateiverwaltung Rechner muß unterschiedliche Geräte bedienen können zeichenorientierte Geräte (character devices, unstructured devices) (z.b. Sichtgeräte, Drucker oder Übertragungsleitungen

Mehr

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar "Eingebettete drahtlose Systeme"

Embedded Linux. Embedded Linux. Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de. Seminar Eingebettete drahtlose Systeme Daniel Buchheim daniel.buchheim@informatik.tu-cottbus.de Embedded Linux 30.01.2009 Daniel Buchheim Inhalt: Was ist Embedded Linux? Hardwareunterstützung in Eingebetteten Systemen Open Source Aspekte Aufbau

Mehr

Special Documentation Activation Instructions

Special Documentation Activation Instructions SD02058S/04/A2/01.17 71367354 Products Solutions Services Special Documentation Activation Instructions Aktivierungsanleitung DeviceCare SFE100 Lizenzmodell (Aktivierungsanleitung) Activation Instructions

Mehr

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch}; Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

Hardware. Heimo Schön 4/2002 Seite 1/22

Hardware. Heimo Schön 4/2002 Seite 1/22 Hardware Heimo Schön 4/2002 Seite 1/22 /dev Geräte befinden sich im Directory /dev Gerätetypen: Unterscheidung durch Dateityp (erste Spalte von ls -al) b Block Devices (Disk, Floppy, etc.) c character

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

Mehr

PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren)

PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren) Schnellinformation PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren) In dieser Publikation sind Informationen aus verfügbaren PLC - und SLC -Dokumentationen zusammengestellt, um die Kommunikation

Mehr

Bedienungsanleitung User Manual. PCMCIA Reader B1

Bedienungsanleitung User Manual. PCMCIA Reader B1 Bedienungsanleitung User Manual PCMCIA Reader B1 Einführung Introduction Vielen Dank, dass Sie sich für ein KOBIL Smart Card Terminal entschieden haben. Mit dem KOBIL PCMCIA Reader B1 haben Sie ein leistungsfähiges

Mehr

Folgen Sie diesen Anweisungen Schritt für Schritt, um das ZETA DLMS-Terminal 2011 zu installieren und in Betrieb zu nehmen.

Folgen Sie diesen Anweisungen Schritt für Schritt, um das ZETA DLMS-Terminal 2011 zu installieren und in Betrieb zu nehmen. Kurzanleitung ZETA DLMS-Terminal 2011 Folgen Sie diesen Anweisungen Schritt für Schritt, um das ZETA DLMS-Terminal 2011 zu installieren und in Betrieb zu nehmen. 1. Installation des ZETA DLMS-Terminals

Mehr

Die Architektur von UNIX/Linux- Betriebssystemen. Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler.

Die Architektur von UNIX/Linux- Betriebssystemen. Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler. Die Architektur von UNIX/Linux- Betriebssystemen Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler.com/lectures_brg9 1977: Berkeley Software Distribution/BSD (U.C. Berkeley) 1986:

Mehr

Fuse. Filesystem in Userspace PRÄSENTATION VON TIM WELGE

Fuse. Filesystem in Userspace PRÄSENTATION VON TIM WELGE Fuse Filesystem in Userspace PRÄSENTATION VON TIM WELGE 1 INHALTSVERZEICHNIS Einführung Was ist ein Dateisystem Was ist der Userspace FUSE Andere Schlüssel Funktionen Beispiele Wie funktioniert FUSE Schreiben

Mehr

Installationsanleitung für Thermodrucker D10

Installationsanleitung für Thermodrucker D10 Installationsanleitung für Thermodrucker D10 Windows XP / Vista Für diesen Artikel benötigen Sie keine Software, da die Treiber bereits bei Windows integriert sind. Um den Drucker auszuwählen befolgen

Mehr

Zwischenbericht Diplomarbeit Implementierung von Routing-Algorithmen für das DES-Testbed

Zwischenbericht Diplomarbeit Implementierung von Routing-Algorithmen für das DES-Testbed Beispielbild Zwischenbericht Diplomarbeit Implementierung von Routing-Algorithmen für das DES-Testbed Pawel Cofta 04.11.2008 Ausgangspunkt -Ziel: möglichst viele Routing-Algorithmen aus verschiedenen Bereichen

Mehr

USB -> Seriell Adapterkabel Benutzerhandbuch

USB -> Seriell Adapterkabel Benutzerhandbuch USB -> Seriell Adapterkabel Benutzerhandbuch 1. Produkt Eigenschaften 1 2. System Vorraussetzungen 1 3. Treiber Installation (Alle Windows Systeme) 1 4. Den COM Port ändern 2 5. Einstellen eines RS232

Mehr

Einführung in die Kommandozeile

Einführung in die Kommandozeile Einführung in die Kommandozeile Das zentrale Werkzeug unter Linux/UNIX Pascal Bernhard Berlin Linux User Group 15. November 2013 Inhalt 1 Einführung Was ist die Shell? Wofür brauche ich sie? Grundbefehle

Mehr

Einschub: HW-Zugriff aus dem Userspace

Einschub: HW-Zugriff aus dem Userspace Einschub: HW-Zugriff aus dem Userspace Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Einschub: HW-Zugriff aus dem

Mehr

Installation & Usage. Version 1.0. estickflashtool

Installation & Usage. Version 1.0. estickflashtool Installation & Usage Version 1.0 estickflashtool Allgemeines Der estick ist ein USB basiertes Entwicklungs-Board für Atmel AT90USB162 Mikro-controller. Einfache, anschauliche Anwendungen und Beispiele

Mehr

Ralf Jesse. Embedded Linux. mit Raspberry Pi und Co. mitp

Ralf Jesse. Embedded Linux. mit Raspberry Pi und Co. mitp Ralf Jesse Embedded Linux mit Raspberry Pi und Co. mitp Einleitung 11 Teil I Einführung und Einrichtung einer Entwicklungsumgebung 17 1 Embedded Linux 19 1.1 DesktopBetriebssysteme 19 1.2 BareMetal vs.

Mehr

Alte Software auf neuer Hardware, Neue Software auf alter Hardware

Alte Software auf neuer Hardware, Neue Software auf alter Hardware Alte Software auf neuer Hardware, Neue Software auf alter Hardware Ignatios Souvatzis Institut für Informatik NetBSD Project ignatios@cs.uni-bonn.de is@netbsd.org http://theory.cs.uni-bonn.de/ ignatios/

Mehr

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164 9. Dateisysteme Eine Datei ist eine Abstraktion für ein Aggregat von Informationen (muß nicht eine Plattendatei sein). Aufbau eines Dateisystems: Katalog (Directory) Einzelne Dateien (Files) Zwei Aspekte

Mehr

Hardware & Kernel-Module

Hardware & Kernel-Module Hardware & Kernel-Module Linux-Kurs der Unix-AG Zinching Dang 09. Juli 2013 Hardwarekomponenten Mainboard CPU RAM Grafikkarte Festplatte Optische und Wechsel-Datenträger Peripherie Zinching Dang Hardware

Mehr

Anleitung zur Schnellinstallation TU3-SA 1.01

Anleitung zur Schnellinstallation TU3-SA 1.01 Anleitung zur Schnellinstallation TU3-SA 1.01 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation der Hardware 2 3. Zugriff auf die Festplatten des TU3-SA 4 Troubleshooting 5 Version 02.15.2011

Mehr

Zusatzinformation zum USB-Flashdrive mit ARM und RS232

Zusatzinformation zum USB-Flashdrive mit ARM und RS232 Zusatzinformation zum USB-Flashdrive mit ARM und RS232 1. Belegung der LCD-Schnittstelle an JP3: REGISTER_SELECT READ_WRITE ENABLE DISPLAY_D0 DISPLAY_D1 DISPLAY_D2 DISPLAY_D3 DISPLAY_D4 DISPLAY_D5 DISPLAY_D6

Mehr

Embedded Linux Portierung auf mobiles Datenerfassungsterminal. Ole Reinhardt

Embedded Linux Portierung auf mobiles Datenerfassungsterminal. Ole Reinhardt Embedded Linux Portierung auf mobiles Datenerfassungsterminal Ole Reinhardt Embedded Linux Embedded = Eingebettet, Verborgen? Embedded Linux Embedded = Eingebettet, Verborgen?

Mehr

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren: Installationshinweise Z250I / Z270I Adapter IR USB Installation hints Z250I / Z270I Adapter IR USB 06/07 (Laden Sie den Treiber vom WEB, entpacken Sie ihn in ein leeres Verzeichnis und geben Sie dieses

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

Treiber für Win 3.11, 95 und 98. Version: 6.00 TFK 512

Treiber für Win 3.11, 95 und 98. Version: 6.00 TFK 512 Installationsvorschrift Treiber für Win 3.11, 95 und 98 Version: 6.00 TFK 512 Stand: Juli 1999 TFK Druckertreiber 2 von 6 Inhaltsverzeichnis 1. Einführung...2 2. Systemanforderungen...2 3. Installation

Mehr

Echtzeit - Linux. Dipl.-Inform. Stefan Riesner. G. Schrott WS03/04 Echtzeitsysteme Kap. 9a 1

Echtzeit - Linux. Dipl.-Inform. Stefan Riesner. G. Schrott WS03/04 Echtzeitsysteme Kap. 9a 1 Echtzeit - Linux Dipl.-Inform. Stefan Riesner G. Schrott WS03/04 Echtzeitsysteme Kap. 9a 1 Standard-Linux vs. Echtzeit Linux Kernel verwendet grobgranulare Synchronisation Keine Unterbrechung von Standard

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018 to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Computer & GNU/Linux Einführung Teil 1. Simon Haller iis.uibk.ac.at

Computer & GNU/Linux Einführung Teil 1. Simon Haller iis.uibk.ac.at Computer & GNU/Linux Einführung Teil 1 Simon Haller iis.uibk.ac.at Windows / Linux @ Central IT Services Windows 7 Centos 7.4 Zugriff von Windows auf Linux (WinSCP, PuTTy) Zugriff von Extern über VPN (https://vpn.uibk.ac.at)

Mehr

Betriebssystemschichten (11.03.2011)

Betriebssystemschichten (11.03.2011) Proseminar Speicher- und Dateisysteme (11.03.2011) Bernd Ihnen Übersicht 2/20 Einleitung Betriebssysteme/ Übersicht Mikrokernel Monolithischer Kernel Vergleich der Kernel Fallbeispiel Linux Kernelaufbau

Mehr

Seminar AspektOS. DEVIL und BOSSA. DSLs für Systemsoftware: Referent: Helmut Wünsch

Seminar AspektOS. DEVIL und BOSSA. DSLs für Systemsoftware: Referent: Helmut Wünsch Seminar AspektOS DSLs für Systemsoftware: DEVIL und BOSSA Referent: Helmut Wünsch Übersicht DSLs: kurze Einführung DEVIL Motivation Prinzip Praxisbeispiel Busmousedriver Implementierung konventionell Implementierung

Mehr

Linux Treiberentwicklung

Linux Treiberentwicklung Einführung in die Linux Treiberentwicklung 12. Dezember 2012 Autor: Martin Züger Dozent: Urs Graf Modul: Ingenieurinformatik III Kurs: Betriebssysteme Semester: HS 2012 N ä h e r d r a n a m S y s t e

Mehr

Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT

Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT Carsten Emde Open Source Automation Development Lab (OSADL) eg Zitat aus dem Jahre 2004, unbekannte Quelle It's impossible to turn a General Purpose

Mehr

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch}; Aufgabe 1: (19 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

IT Solutions. AnyConnect unter Linux (Ubuntu 14.04) Gültige VPN Accounts:

IT Solutions. AnyConnect unter Linux (Ubuntu 14.04) Gültige VPN Accounts: IT Solutions AnyConnect unter Linux (Ubuntu 14.04) Gültige VPN Accounts: UserID@tuwien.ac.at UserID@vpn.tuwien.ac.at UserID@student.tuwien.ac.at Es stehen zwei Profile zur Verfügung. Diese werden beim

Mehr

Betriebssystem-basierte Virtualisierung

Betriebssystem-basierte Virtualisierung Betriebssystem-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Betriebssystem-basierte

Mehr

Lehrstuhl Informatik 4

Lehrstuhl Informatik 4 Praktikum angewandte Systemsoftwaretechnik Aufgabe 5 Alexander Würstlein Lehrstuhl Informatik 4 6. Juli 2017 (Informatik 4) P PASST SS 17 1 / 18 Code im Linux-Kern Der Großteil des Codes im Linux-Kern

Mehr

Lehrstuhl Informatik 4

Lehrstuhl Informatik 4 Praktikum angewandte Systemsoftwaretechnik Aufgabe 5 Alexander Würstlein Lehrstuhl Informatik 4 2016-06-09 (Informatik 4) P PASST SS 16 1 / 18 Code im Linux-Kern Der Großteil des Codes im Linux-Kern besteht

Mehr

I am starting on Page 4 and assuming that the person has DECODERPROGGRAMMER manual.

I am starting on Page 4 and assuming that the person has DECODERPROGGRAMMER manual. I am starting on Page 4 and assuming that the person has DECODERPROGGRAMMER manual. If you already use the Digital Plus USB interface: Before you install the software for the decoder programmer, back up

Mehr

FEBE Die Frontend-Backend-Lösung für Excel

FEBE Die Frontend-Backend-Lösung für Excel FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag

Mehr

Anleitung zur Verwendung des Update-Tools für

Anleitung zur Verwendung des Update-Tools für English version see below (page 10) Anleitung zur Verwendung des Update-Tools für - KW DDC Steuergeräte - KW DDC WLAN Module - KW DLC Steuergeräte - KW DLC WLAN Module Bitte beachten Sie: jedes Steuergerät

Mehr

Betriebssysteme VO Betriebssysteme KU

Betriebssysteme VO Betriebssysteme KU VO KU für Lehramt VU Einführung 7.10.2011 Inhalt Vorstellung Motivation und Inhalte der Vorlesung Organisatorisches Übungen git Inhalte Aufbauend auf Rechnerorganisation Verständnis für Funktionen und

Mehr

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13. DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung

Mehr

Programmieren des ESP8266 mit OLED

Programmieren des ESP8266 mit OLED Willkommen! Und herzlichen Dank für den Kauf unseres AZ-Delivery ESP8266 Mikrocontroller mit integrierten 0.91" OLED Display. Auf den folgenden Seiten gehen wir mit dir gemeinsam die ersten Programmierschritte

Mehr

Die UART-Schnittstelle

Die UART-Schnittstelle Ein einfaches Terminal Seite 1 von 5 Die UART-Schnittstelle Bei einer seriellen Datenübertragung werden binäre Daten bitweise hintereinander über eine Leitung übertragen. Die serielle Schnittstelle eines

Mehr

S7ComRaspi. Schönberger Thomas 2016 Schönberger Thomas

S7ComRaspi. Schönberger Thomas 2016 Schönberger Thomas Schönberger Thomas info@schoenbergerthomas.jimdo.com 2016 Schönberger Thomas Inhalt 1 Allgemein... 2 2 Voraussetzungen... 2 3 Lieferumfang... 2 4 S7Com... 3 4.1 S7Com Klasse... 3 4.2 Konstruktor S7Com...

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2012/2013 1 / 15 Kernel Module 2 / 15 Laden von Kernelmodulen Linux unterstützt die Auslagerung von Kernel Code

Mehr

Software development with continuous integration

Software development with continuous integration Software development with continuous integration (FESG/MPIfR) ettl@fs.wettzell.de (FESG) neidhardt@fs.wettzell.de 1 A critical view on scientific software Tendency to become complex and unstructured Highly

Mehr

Installation von NQC

Installation von NQC Installation von NQC Philipp Bodewig, Christoph Weiler 7. August 2006 Inhaltsverzeichnis 1 Voraussetzungen 2 2 Erfüllen der Voraussetzungen 2 2.1 Kernelmodule.................................... 2 2.2

Mehr

Martin Gräfe. С und Linux. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen HANSER

Martin Gräfe. С und Linux. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen HANSER Martin Gräfe С und Linux Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen HANSER Inhaltsverzeichnis Vorwort 9 1 Einführung 11 1.1 Warum gerade C"? 11 1.2 Die Werkzeuge 12 1.2.1 Der Editor

Mehr

Konfigurieren von Multiplex Geräten (Sensoren, Empfänger, Souffleur) sowie Datensicherung von Multiplex Sendern unter Linux

Konfigurieren von Multiplex Geräten (Sensoren, Empfänger, Souffleur) sowie Datensicherung von Multiplex Sendern unter Linux Version: 03.03.2015 / 1 Konfigurieren von Multiplex Geräten (Sensoren, Empfänger, Souffleur) sowie Datensicherung von Multiplex Sendern unter Linux Einleitung Zur Konfiguration und Datensicherung von aktuellen

Mehr

Anleitung zur Schnellinstallation TFM-PCIV92A B1.21

Anleitung zur Schnellinstallation TFM-PCIV92A B1.21 Anleitung zur Schnellinstallation TFM-PCIV92A B1.21 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 Troubleshooting 6 Version 05.11.2011 1. Bevor Sie anfangen Packungsinhalt ŸTFM-PCIV92A

Mehr

Linux booten. Jörg Ahrens

Linux booten. Jörg Ahrens Linux booten Was passiert beim Einschalten eines PCs? Das BIOS Viele Bootsektoren Bootloader (Grub, LILO) Kernel Parameter und InitRD Feinheiten beim Plattenausfall Der Bootvorgang Beim Einschalten eines

Mehr

Allgemeines zu Unix (Solaris, Linux, MAC OS X, FreeBSD,Open BSD usw.)

Allgemeines zu Unix (Solaris, Linux, MAC OS X, FreeBSD,Open BSD usw.) Allgemeines zu Unix (Solaris, Linux, MAC OS X, FreeBSD,Open BSD usw.) Multiuser- Multitasking Betrieb offenes System - unabhängig von den verschiedensten Hardwarekomponenten - Benutzeroberflächen folgen

Mehr

Einführung in die Linux Treiberentwicklung. Ingenieurinformatik III Betriebssysteme Urs Graf, Andreas Kalberer, Martin Züger

Einführung in die Linux Treiberentwicklung. Ingenieurinformatik III Betriebssysteme Urs Graf, Andreas Kalberer, Martin Züger Einführung in die Linux Treiberentwicklung Modul: Kurs: Autoren: Ingenieurinformatik III Betriebssysteme Urs Graf, Andreas Kalberer, Martin Züger Änderungen: Rev. Datum Autor Änderung 0.1 21.05.2010 M.

Mehr

Hardware unter Linux

Hardware unter Linux It s all the manufacturer s fault? 3. November 2007 Gliederung Übersicht 1 Übersicht 2 3 4 5 Was brauchen Entwickler, um einen Treiber zu schreiben? Was brauchen Entwickler, um einen Treiber zu schreiben?

Mehr

Installation Manual. Driver Installation USB-to-Serial Adapter WE2111. A en/de

Installation Manual. Driver Installation USB-to-Serial Adapter WE2111. A en/de Installation Manual English Deutsch Driver Installation USB-to-Serial Adapter WE2111 A4012-1.0 en/de USB-to-Serial Adapter English 2 A4012-1.0 en/de USB-to-Serial Adapter 1 Installation in Windows 7...

Mehr

AOSTA. Aspects in Operating Systems: Tools and Applications

AOSTA. Aspects in Operating Systems: Tools and Applications AOSTA Aspects in Operating Systems: Tools and Applications Michael Engel, Philipps-Universität Marburg AG Verteilte Systeme engel@informatik.uni-marburg.de Aspektorientierung in 5 Minuten ;-) Crosscutting

Mehr

Überlegungen beim Entwurf eines Betriebssystems

Überlegungen beim Entwurf eines Betriebssystems Überlegungen beim Entwurf eines Betriebssystems Schnelligkeit Schutz und Sicherheit Korrektheit Wartbarkeit Kommerzielle Faktoren Standards und offene Systeme Schnelligkeit Es ist schwierig, Kenngrößen

Mehr

Application Note 072

Application Note 072 Application Note 072 Autor: CB Datei: an072b (6 Seiten) Inhaltsverzeichnis 1 X-Bus Systeme 1 1.1 MAX6pci............................................... 1 1.1.1 Installation..........................................

Mehr

Geräte Treiber unter Unix/Linux

Geräte Treiber unter Unix/Linux Geräte Treiber unter Unix/Linux Martin Schäf 7. Oktober 2004 1 Einleitung Die Programmierung von Geräte Treibern unter Linux ist ein sehr populäres Thema, da für viele Geräte keine, oder nur sehr primitive

Mehr

XEN Performance. Projektpraktikum Informatik. Arne Klein 2008-02-26. Arne Klein () XEN Performance 2008-02-26 1 / 25

XEN Performance. Projektpraktikum Informatik. Arne Klein 2008-02-26. Arne Klein () XEN Performance 2008-02-26 1 / 25 XEN Performance Projektpraktikum Informatik Arne Klein 2008-02-26 Arne Klein () XEN Performance 2008-02-26 1 / 25 1 Virtualisierung mit XEN 2 Performance von XEN Allgemeines Netzwerk-Performance IO-Performance

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Einführung Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-22 Michael Kuhn

Mehr

Linux-Kernel- Programmierung

Linux-Kernel- Programmierung Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner, Claus Schröter Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 2.2 5., aktualisierte und erweiterte

Mehr

Wer möchte, kann sein Programm auch auf echter Hardware testen

Wer möchte, kann sein Programm auch auf echter Hardware testen U4 3. Übungsaufgabe U4 3. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-μC Register I/O-Ports AVR-Umgebung Peripherie U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

Mehr

Singularity - Container für die HPC Welt. Egbert Eich Project Manager HPC SUSE Linux

Singularity - Container für die HPC Welt. Egbert Eich Project Manager HPC SUSE Linux Singularity - Container für die HPC Welt Egbert Eich Project Manager HPC SUSE Linux GmbH/eich@suse.com Über mich UNIX Betriebssysteme seit 1991 (AIX, Digital UNIX, ) Seit 25 Jahren Linux Seit 2000 bei

Mehr

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Modulnummer 305 Betriebssysteme installieren, konfigurieren und administrieren

Modulnummer 305 Betriebssysteme installieren, konfigurieren und administrieren Modulidentifikation Modulnummer 305 Titel Betriebssysteme installieren, konfigurieren und administrieren Kompetenz Betriebssysteme installieren und für den Multiuserbetrieb konfigurieren. System mit Betriebssystem-Befehlen

Mehr

BLK-2000. Quick Installation Guide. English. Deutsch

BLK-2000. Quick Installation Guide. English. Deutsch BLK-2000 Quick Installation Guide English Deutsch This guide covers only the most common situations. All detail information is described in the user s manual. English BLK-2000 Quick Installation Guide

Mehr