diff --git a/20160620/bs-20160620.txt b/20160620/bs-20160620.txt new file mode 100644 index 0000000000000000000000000000000000000000..309f947fa1aaadcea0e32537568487bef06965be --- /dev/null +++ b/20160620/bs-20160620.txt @@ -0,0 +1,56 @@ +Treiber-Entwicklung, Echtzeit- und Betriebssysteme, 20.06.2016 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +:) Der Bootvorgang +:) Die Unix-Shell +:) Treiber +:) Signale +:) Massenspeicher +:) Speicherverwaltung +:) Netzwerk +:) Echtzeit + ! User-Space-Treiber + ! Grafik + ? Netzwerk: Programmierung + - Sicherheit + +Grafik +~~~~~~ + - Beispiel für User-Space-Treiber + - Grafik-Hardware teilt sich Hauptspeicher mit dem Rechner + - Textmodus + - Grafikmodus + - Interpretation der Bits/Bytes + - Interleaving + - Umschalten zwischen verschiedenen Modi + - Port-Adressen + - Programm im ROM der Grafikkarte, Software-Interrupt + - Zeichnen: Low Level - am Betriebssystem vorbei + - Programm im ROM der Grafikkarte, Software-Interrupt + - direkter Zugriff auf den Speicher + - Hardware-Beschleunigung: VGA-Ports + - Hardware-Beschleunigung: Kommunikation mit GPU + - Zeichnen: High Level - wozu? + - Portabilität + - Zeichen über das Netzwerk + - Trennung der Anwendungen: mehrere Fenster + - Zeichnen: High Level - Betriebssystem + - Bibliothek + - Integration der Bibliothek in das Betriebssystem + - kontrollierter Low-Level-Zugriff + +Aufgabe: Zeichne ein hübsches Bild auf den Computerbildschirm +unter Verwendung der tiefstmöglichen Low-Level-Bibliothek des Betriebssystems: + - Unix/X11: Xlib + - MS-Windows: GDI (oder ggf. GDI+ oder Direct2d) + +http://tronche.com/gui/x/ +http://tronche.com/gui/x/xlib-tutorial/ +http://www.unix-manuals.com/tutorials/xlib/xlib.html +http://en.wikibooks.org/wiki/X_Window_Programming/XLib + +http://bobobobo.wordpress.com/ + +X-Bibliothekten unter Debian-basierten GNU/Linux-Distributionen nachinstallieren: +export http_proxy=http://cache.hs-bochum.de:8080 # Proxy der Hochschule Bochum +sudo -E apt-get update +sudo -E apt-get install libx11-dev diff --git a/20160620/vga-reset.png b/20160620/vga-reset.png new file mode 100644 index 0000000000000000000000000000000000000000..80a0fb52f9d8f4a3fe4118b0650066d7477d0e8f Binary files /dev/null and b/20160620/vga-reset.png differ diff --git a/20160620/vga-rote-linie-ergebnis.png b/20160620/vga-rote-linie-ergebnis.png new file mode 100644 index 0000000000000000000000000000000000000000..7343fedd2cb28e26d7d740c40212037e3bae7157 Binary files /dev/null and b/20160620/vga-rote-linie-ergebnis.png differ diff --git a/20160620/vga-rote-linie-quelltext.png b/20160620/vga-rote-linie-quelltext.png new file mode 100644 index 0000000000000000000000000000000000000000..34c19d833d839f333428419ab572d95ca7bd4794 Binary files /dev/null and b/20160620/vga-rote-linie-quelltext.png differ