1 - Anforderungen [ID:27272]
50 von 195 angezeigt

Mein, mein liebe Leute willkommen zu einem neuen Video zur Vorlesungsreihe Betriebssysteme.

Anfang eines neuen Kapitels, nämlich Gerätetreiber. Was sind Gerätetreiber in unserem Zusammenhang?

Gerätetreiber regeln letztendlich den Zugriff einer normalen Anwendung auf irgendwie die Hardware.

Ihr wollt zugreifen auf diese realische Stelle, ihr wollt irgendwas auf dem Bildschirm malen,

ihr wollt was auf Platte schreiben, dann müsst ihr irgendwie die Gerätetreiber typischerweise benutzen.

Jo, gucken wir uns die Agenda kurz an. Erst einmal das Ganze einordnen, haben wir gerade gemacht.

Jetzt gucken wir uns gleich an, was sind eigentlich die Anforderungen an das Betriebssystem und im

nächsten Video werden wir uns dann noch angucken, wie sehen dann typischerweise heutzutage ein

Ausgabesystem aus. Kurz zur Bedeutung, das ist den meisten vielleicht zumindest nicht so auf Anhieb klar,

Gerätetreiber sind ein riesengroßer Anteil Sourcen an den eigentlichen Sourcen des Betriebssystems.

Ich habe hier mal ausgesucht von dem aktuellsten Linux Kern 15.3, die Sourcen und da seht ihr,

der eigentliche Kern des Betriebssystems, also da stecken so Sachen wie fork und exec und

Memory Geschichten drin, Signal verschicken, empfangen, also das was man so häufig mit

Unix Linux in Verbindung bringt und auf der anderen Seite, ihr seht es hier unten, die Gerätetreiber,

die sind in diesem Directory alle miteinander drin, viel viel mehr, also 11 Megabyte für den

eigentlichen Kern, 670 Megabyte, also über ein halbes Gigabyte an Sourcen für die Gerätetreiber.

Auch alles andere ist im Vergleich dazu natürlich fast nichts, also hier guckt euch an, Filesystems,

da sind die ganzen Datalsysteme drin oder hier Netzwerkgeschichten, TCP, UDP,

ist alles verschwindend wenig im Vergleich zu den Gerätetreiber.

Für den älteren anderen Kern, Kern 3.2.1, haben wir es mal als Kuchendiagramm hingemalt,

da sieht man irgendwie hier so der Kern, das ist mal gerade irgendwie so ein Prozent von den gesamten

Sourcen und der Gerätetreiberkram fast die Hälfte. Also man sieht Gerätetreiber, das ist was,

das ist ein großer wesentlicher Anteil an einem Betriebssystem. Ich habe es gerade gesehen,

bei dem aktuellen Kern sind es ungefähr 60 mal so viele Sourcen für den Treiberkram wie

für das Betriebssystem, das ist das eigentliche für den Kern. Beim Kern 3.2.1 war es ungefähr 50

mal so viel, bei einem 2.6.32 Kern waren es nur 25 mal mehr als der Kern. Also ihr seht,

die Treiber-Sourcen werden immer mehr und die meisten Leute, die Linux verwendet haben,

die wissen, ab und zu ärgert man sich, dass das ein oder andere Gerät in Linux nicht unterstützt

wird. Das heißt, Betriebssysteme wie zum Beispiel Windows, die unterstützen sogar noch mehr Geräte.

Nicht nativ, da kriegt man es halt dann zwar gegen einen Hersteller mitgeliefert, aber in Summe ist

es halt noch mehr als in Linux. Und es ist irgendwie klar, wenn man einen schönen Rechner zu Hause hat

und man hat für irgendwie ein Gerät in dem Rechner keinen Treiber, dann findet man das

Betriebssystem doof. Dementsprechend ist Linux nämlich jetzt inzwischen weiterverbreitet als die

meisten anderen Unixe. Es gibt ja schließlich auch noch FreeBSD und NetBSD und BecoOS und wie sie

alle heißen. Aber Linux ist deshalb beliebt, unter anderem deshalb beliebt, weil es die meisten

Gerätetreiber hat. Jetzt habt ihr allein an der Menge der Sourcen schon gesehen, das ist nicht

unerheblich viel Aufwand, die ganzen Gerätetreiber zu schreiben. Und jetzt ist die Frage, wie macht

man das geschickt, dass der Aufwand nicht unnötig groß wird. Also groß ist er eh schon, aber nicht

unnötig groß, noch größer wird. Und da muss man sagen, ja man sollte irgendwie das so geschickt

machen, dass man irgendwie alles, was irgendwie gemeinsam ist in den Treibern, dass man das

gemeinsame rauszieht und in eine sogenannte Treiberinfrastruktur verlagert. Also Teile davon

habt ihr beispielsweise auch schon gemacht. Zum Beispiel die Interaptverwaltung. Zum Beispiel

irgendeine Art malloc und free werden die meisten Gerätetreiber wohl irgendwie brauchen. Wir werden

nachher noch ein paar mehr Beispiele sehen, was Gerätetreiber so an typischen Aufgaben haben und

was man da eventuell rausziehen kann in so eine Treiberinfrastruktur. Gut das ganze funktioniert

natürlich nur dann, wenn die Gemeinsamkeiten irgendwie da sind. Damit da möglichst viel

gemeinsam feststeht, gibt man typischerweise eine Treiberstruktur vor. Also wie sieht ein Treiber

typischerweise aus, sehen wir auch nachher noch ein Beispiel. Jo, was sind jetzt die Anforderungen?

Also erstmal, okay, können wir schnell abarbeiten, was möchte man, was ein Betriebssystem tun soll,

soll schnell arbeiten, soll Energie sparen und so weiter. Kennt ihr alles. Was gehört jetzt aus

Teil einer Videoserie :
Teil eines Kapitels:
Gerätetreiber

Zugänglich über

Offener Zugang

Dauer

00:23:26 Min

Aufnahmedatum

2020-12-29

Hochgeladen am

2020-12-29 17:28:40

Sprache

de-DE

12. Kapitel der Vorlesung Betriebssysteme.

Folien zum Video.

Tags

betriebssysteme operating systems
Einbetten
Wordpress FAU Plugin
iFrame
Teilen