Hardware und Gerätetreiber

Ähnliche Dokumente
HARDWARE UND GERÄTETREIBER. Björn Döbel (TU Dresden)

HARDWARE UND GERÄTETREIBER. Björn Döbel (TU Dresden)

HARDWARE UND GERÄTETREIBER. Marcus Hähnel Björn Döbel Michael Raitza

HARDWARE UND GERÄTETREIBER. Marcus Hähnel Björn Döbel Michael Raitza

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Ein- und Ausgabegeräte

Grundlagen Rechnerarchitektur und Betriebssysteme

Virtueller Speicher und Memory Management

Datenübertragung per Direct Memory Access (DMA)

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

So funktionieren Computer

Vorlesung 3: Verschiedenes

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Verschiedenes. Peter B. Ladkin

Betriebssysteme Vorstellung

Einschub: HW-Zugriff aus dem Userspace

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Echtzeitbetriebssysteme

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Hardware & Kernel-Module

Rechnerorganisation. 1. Juni 201 KC Posch

Großer Beleg. Björn Gottschall Dresden,

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme Kap. 6: E/A-Systeme

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Opteron und I/O. Toni Schmidbauer. 11. Mai Zusammenfassung. Eine kurze Beschreibung der AMD Opteron Architektur.

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Grundlagen der Rechnerarchitektur

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009

Aufgabe 1 Entwicklung einer Virtuellen Maschine

Betriebssysteme VO Betriebssysteme KU

Kapitel II. Einführung: Hardware und Software. VO Betriebssysteme

RO-Tutorien 15 und 16

PCI-to-PCI-Bridge mit sicherheitsrelevanten Eigenschaften

Bootvorgang des DSM-Systems Systems Plurix

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

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

Hardware-Grundlagen Mainboard und CPU Der Aufbau einer CPU Das RAM

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 8 Betriebssystem-Grundlagen

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Symbian OS. OS für kleine Endgeräte: Sven Walter

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME

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

5 Kernaufgaben eines Betriebssystems (BS)

Chipsatz und untergeordnete. (erweiterte) Systembusse ISA, PCI, PCIe

Hardware-Komponenten. DI (FH) Levent Öztürk

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Fragenkatalog zur Klausur Computersysteme

Ausgewählte Kapitel der praktischen Betriebssystemprogrammierung (AKBPII) PCCard: Architektur und Treiberdesign in JX

Betriebssysteme Kap. 6: E/A-Systeme

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Multi-Port-Speichermanager für die Java-Plattform SHAP

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

Technische Informatik 3

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Rechnerorganisation. Überblick über den Teil 13

Fragenkatalog zur Klausur Computersysteme

Aufbau und Funktionsweise eines Computers

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Intelligenter Modemadapter für den PC

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Komponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

(Cache-Schreibstrategien)

EX PCI & 2 PCI-E

XIII. Inhaltsverzeichnis

Konzepte von Betriebssystem- Komponenten:

Maximalwerte für die Konfiguration VMware Infrastructure 3

Betriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 ( , v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen

Ein- Ausgabeeinheiten

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Maximalwerte für die Konfiguration VMware vsphere 4.0 und vsphere 4.0 Update 1

Treiber PCI-Subsystem

EX Slot PCI Box Zur Erweiterung um 4 PCI Anschlüsse für ExpressCard

Tutorium Rechnerorganisation

SATA - USB 2,5" HDD-LAUFWERK (DA-70555) Benutzerhandbuch

x86 Open Source Virtualisierungstechniken Thomas Glanzmann

Rückschlüsse durch Host- Performance-Daten auf das Datenbankverhalten. DOAG Regio Karlsruhe 13. Juni 2013

6.Vorlesung Grundlagen der Informatik

, 2014W Übungsgruppen: Mo., Mi.,

Die Sandy-Bridge Architektur

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Grundlagen der Rechnerarchitektur. Speicher

Jürg Gutknecht, SI und ETH Zürich, April 2015

Betriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen

EX Slot Box Zur Erweiterung um 2 PCI & 2 PCI-EXpress Anschlüsse

Mehrprozessorarchitekturen

EX PCI & 2 PCI-E

Technische Voraussetzungen

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Betriebssysteme KU - Einführungstutorium

Mikroprozessortechnik Grundlagen 1

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Betriebssysteme 1. Thomas Kolarz. Folie 1

Transkript:

Hardware und Gerätetreiber Betriebssysteme Hermann Härtig TU Dresden

Übersicht Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches Hinzufügen/Entfernen Anbindung an das Betriebssystem Warum ist das alles so schwer?!2

Bausteine Bausteine Anwendungen BS-Kern CPU Speicher!3

Bausteine Bausteine Anwendungen Gerät BS-Kern Gerät CPU Gerät Speicher!4

Bausteine Bausteine Anwendungen BS-Kern CPU Speicher Gerät Gerät Gerät Beispiele für Geräte Eingabegeräte (Human Interface Devices (HID)) Netzwerkkarten (Network Interface Cards (NIC)) Grafik-Karten Speichermedien CPU-nahe Geräte (Timer, Interrupt-Controller)!5

Kommmunikation Kommunikation zwischen Gerät Gerät und und CPU CPU Interrupt signalisiert Zustandsänderung des Geräts Interrupt-Controller (PIC): Umwandlung von HW-Interrupts in CPU Exceptions Priorisierung, Kombination von Interrupts Maskieren von Interrupts SMP: senden/empfangen von Inter-Prozessor-Interrupts (IPI) Timer Disk CPU Interrupt Controller (PIC) NIC!6

I/O-Ports I/O-Ports Alternative Möglichkeit zum Zugriff auf x86-gerätespeicher ( Historisch gewachsen TM ) Spezieller Adressbereich: einmalig 65536 I/O-Port-Bytes Nicht Teil des physischen Speichers Zugriff mittels spezieller Instruktionen inb, inw, in outb, outw, out Durchreichen an Anwendungen möglich (IO Privilege Level, IO Bitmap)!7

I/O-Speicher I/O-Speicher Komplexere Geräte: eigener Speicher Von CPU als Teil des physischen Speichers zugegriffen Aufteilung des physischen Speichers plattformabhängig Aufgabe des BIOS während des Bootvorgangs Hauptspeicher Adressierbarer Speicher NIC!8

I/O-Speicher I/O-Speicher Komplexere Geräte: eigener Speicher Von CPU als Teil des physischen Speichers zugegriffen Aufteilung des physischen Speichers plattformabhängig Aufgabe des BIOS während des Bootvorgangs Hauptspeicher RAM Adressierbarer Speicher NIC!9

I/O-Speicher I/O-Speicher Komplexere Geräte: eigener Speicher Von CPU als Teil des physischen Speichers zugegriffen Aufteilung des physischen Speichers plattformabhängig Aufgabe des BIOS während des Bootvorgangs Hauptspeicher RAM Adressierbarer Speicher NIC NIC- Speicher!10

Direct Memory Direct Access Memory Access I/O-Ports: Zugriff auf maximal 4 Byte gleichzeitig I/O-Speicher: kann mempcy()-instruktionen (z. B. rep movs, SSE-Erweiterungen) benutzen Weitere Optimierung: DMA memcpy CPU memcpy RAM Gerät I/O-Mem!11

Direct Memory Direct Access Memory Access I/O-Ports: Zugriff auf maximal 4 Byte gleichzeitig I/O-Speicher: kann mempcy()-instruktionen (z. B. rep movs, SSE-Erweiterungen) benutzen Weitere Optimierung: DMA memcpy CPU memcpy CPU RAM Gerät I/O-Mem RAM DMA Gerät I/O-Mem!12

DMA: Sicherheitsproblem DMA: Sicherheitsproblem Physische Adressierung Überschreiben beliebiger Speicher-Regionen Also: Überschreiben von Kerndaten möglich Virt. Adresse Phys. Adresse CPU MMU RAM!13

DMA: Sicherheitsproblem DMA: Sicherheitsproblem Physische Adressierung Überschreiben beliebiger Speicher-Regionen Also: Überschreiben von Kerndaten möglich Lösung: I/O-MMU Virt. Adresse Phys. Adresse CPU MMU RAM DMA Controller IO-virt. Adresse I/O-MMU Phys. Adresse!14

Geräte-Zustand Geräte-Zustand BS liest und modifiziert Zustand via I/O-Speicher und I/O-Ports Kernaufgabe eines Gerätetreibers Geräte-spezifische Aktionen Welchen Zustand gibt es? Wie wird er zugegriffen? Wie führt man Geräte-Aktionen aus? Herkunft der Informationen variiert Plattform-weite Definition (z. B. PC-Plattform) Standard f. bestimmte Geräteklasse (z. B. SATA-Festplatten) Geräte-Spezifikation (vom Hersteller)!15

Gerätetreiber Gerätetreiber Interrupt-Behandlung (Inspektion und Manipulation des Zustands) Kapselt geräte-spezifisches Wissen Integration in restliche BS-Infrastruktur Wie findet man Geräte? Wie die zugehörigen Treiber?!16

Busse: Vernetzung Busse: Vernetzung von Geräten von Geräten RAM CPU Chipset Disk 2 NIC Disk Bridge Sound Aufgaben: Identifikation, Adressierung, Weiterleiten von Kommandos/Interrupts!17

Geräte-Erkennung Geräte-Erkennung Während des Bootvorgangs BS scannt die PCI-Busse Lesen der Geräte-ID Rückgabewert!=0xFFFFFFFF Gerät vorhanden Findend es zugehörigen Treibers Treiber liefert Liste der unterstützten Geräte-IDs BS ruft init()-funktion auf, wenn entsprechendes Gerät gefunden!18

Probleme Probleme bei Treiber-Entwicklung bei Treiber-Entwicklung Entwicklung in unsicherer Programmiersprache C Pointer-Arithmetik, Bit-Operationen etc. Kompliziertes Kern-Interface Komplizierte Hardware Fehlende HW-Spezifikationen!19