Betriebssysteme 7. Geräteverwaltung. Peter Altenbernd Geräteverwaltung Betriebssysteme WS 2010/11 Hochschule Darmstadt

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme 7. Geräteverwaltung. Peter Altenbernd Geräteverwaltung Betriebssysteme WS 2010/11 Hochschule Darmstadt"

Transkript

1 Betriebssysteme 7. Geräteverwaltung 1

2 Übersicht 1. Ziel des Kapitels 2. Motivation und Aufgaben 3. Einleitung 4. E/A-Schichtenmodell 5. E/A mit Plattenspeichern 6. Uhren 7. Terminals und Graphische Benutzeroberflächen (GUI) 8. Geräterverwaltung unter Linux 2

3 1. Ziel dieses Kapitels Dieser Teil beschreibt die Verwaltung von Ein/Ausgabe-Geräten (E/A-Geräte). Relevante Abschnitte im Buch [1] Kapitel 5 Abschnitt Abschnitt Abschnitt Zusätzlich Auszüge aus: [5] Jürgen Quade / Eva-Katharina Kunst Linux-Treiber entwickeln Eine systematische Einführung in Gerätetreiber für den Kernel 2.6 dpunkt.verlag, Juni 2004, ISBN

4 2. Motivation und Aufgaben Der Anwendungsentwickler will: eine einfache ( read, write ) einheitliche Schnittstelle, die von verschiedene Benutzer bzw. Anwendungen gleichzeitig & gemeinsam verwendet werden kann. Geräte müssen: in ihrer eigenen Sprache angesprochen werden zur richtigen Zeit, in der richtigen Reihenfolge angesprochen werden. Beispiel: Low-Level Festplatte E/A Das Anwendungsprogramm möchte eine Zeile von einer Datei lesen. Die Festplatte möchte wissen, zu welchem Zylinder, Spur und Sektor der Schreibkopf bewegt werden soll.. unter Berücksichtigung von fehlerhaften Sektoren, die ausgelagert wurden... es muss gewartet werden, bis der Schreibkopf bewegt wurde... das Lesen gestartet wurde, die Bits & Bytes von der Festplatte geholt wurden... die Header müssen entfernt, die Prüfsumme berechnet und verglichen werden... und so weiter. 4

5 2. Motivation und Aufgaben Eine der Hauptaufgaben eines Betriebssystems ist es, alle E/A Geräte (z.b. Tastatur, Bildschirm, Drucker, Festplatte etc.) zu überwachen und zu steuern. Dazu werden: Kommandos an die Geräte weitergeleitet Unterbrechungen abgefangen, Fehler behandelt eine einfache und einheitliche Schnittstelle bereitgestellt die gemeinsame Benutzung von Geräten ermöglicht 5

6 3. Einleitung 3.1 Geräte-Controller und -Klassen Quelle: [1] Das E/A-Gerät besteht aus dem Controller (elektrotechnische Komponente) und dem eigentlichen Gerät (mechanische und/oder elektrotechnische Komponente). Der Controller bekommt Befehle vom Betriebssystem und führt diese aus, z.b. Lesen von Daten eines Geräts. Dabei verwaltet der Controller oft gleich mehrere Geräte über eine Busverbindung. Die interne Steuerung eines Gerätes kann dabei ein ziemlich komplizierter Vorgang sein. Dennoch haben Geräte eine einfache Schnittstelle: weil ihr Funktionalität relativ gering ist und weil sie leicht anpassbar sein müssen, was durch standardisierte Bussysteme mit Spezialaufgaben erreicht wird. 6

7 3. Einleitung E/A-Geräte können grob in 2 Klassen eingeteilt werden: Als blockorientiertes Gerät gilt jedes Gerät, das nicht einzelne Zeichen nacheinander verarbeitet, sondern adressierbare Blöcke. Typische blockorientierte Geräte sind hier also: die Diskettenlaufwerke (fd0, fd1-- Major Number 2) und der Arbeitsspeicher (ram Major-Number 1), die Festplatten (hd* -- Major Number 3). Zeichenorientierte Geräte werden nicht blockweise angesteuert, sondern durch einzelne Bytes. Typischerweise handelt es sich hier um serielle oder parallele Schnittstellen, die Terminalleitungen (auch die der virtuellen Terminals) oder den Sound-Anschluss. 7

8 3. Einleitung 3.2 Kommunikation mit Geräten Jeder Controller besitzt einige Register, die für die Kommunikation mit dem Prozessor vorhanden sind. Durch das Schreiben in diese Kontrollregister kann das BS dem Gerät Befehle erteilen, z.b. Lesen oder Schreiben von Daten, Einschalten oder Ausschalten des Geräts, und Information vom Gerät holen, z.b. der aktuelle Zustand des Geräts Wird jedem Kontrollregister eine Port-Nummer zugewiesen, kann durch spezielle CPU-Anweisungen sehr einfach Daten in ein Kontrollregister geschrieben oder gelesen werden. Zusätzlich besitzen viele Geräte Datenpuffer, die das BS lesen oder beschreiben kann. Beispielsweise ist die Darstellung von Pixeln auf dem Bildschirm so realisiert, dass ein Datenpuffer (Videospeicher) beschrieben werden kann. 8

9 3. Einleitung Werden die Kontrollregister und Puffer in ein Speicherfenster im Adressraum des Hauptspeichers eingeblendet, spricht man von Memory-Mapped E/A. Zugriffe auf diese Speicherbereiche bewirken einen Transfer zum Controller. Es ergeben sich folgende Vorteile: Ports können i.a. nur mit Assembler-Befehlen angesteuert werden. Bei MM-E/A hingegen sind die Kontrollregister Variablen im Speicher, die mit den üblichen Methoden einer höheren Programmiersprache angesprochen werden können. Dies schließt Treiber-Programmierung mit ein. Der Schutz von E/A-Geräten ist einfacher, da lediglich die entsprechenden Stellen im Speicher entsprechend geschützt werden müssen. Nachteile: Für den betroffenen Speicherbereich darf kein Caching gemacht werden. Wird mit getrennten Geräte- und Speicher-Bussen gearbeitet, so können die Geräte die Adressen auf dem Speicher-Bus nicht sehen. 9

10 3. Einleitung 3.3 Direct Memory Access (DMA) Will eine Anwendung Daten z.b. von einer Festplatte lesen, so müssen diese in den Hauptspeicher transportiert werden. Übernimmt die CPU diese Aufgabe wird viel kostbare Rechenzeit für E/A verbraucht. Abhilfe schafft ein DMA-Controller, der diese Aufgabe übernimmt: Quelle: [1] 10

11 4. E/A Schichtenmodell Die SW zur Handhabung von E/A lässt sich in folgende Schichten aufteilen Quelle: [1] Die einzelnen Schichten werden im Folgenden genauer diskutiert. 11

12 4. E/A Schichtenmodell 4.1 Unterbrechungsroutinen (Interrupt Handler) Während ein Gerät eine ihm aufgetragene Aufgabe erledigt, geht die CPU anderen Tätigkeiten nach. Ist das Gerät fertig, erzeugt es einen Interrupt zur Benachrichtigung. Dies kann zum Teil recht komplexe Szenarios in Gang setzen. Das grobe Schema ist in der folgenden Abbildung dargestellt. Quelle: [1] 12

13 4. E/A Schichtenmodell Der Teil des Betriebsystems, der Interrupts und das oben genannte Szenario umsetzt, wird Interrupt Handler genannt. Ein Interrupt Handler umfasst somit alle Unterbrechungsroutinen und sollte die vielen notwendigen Details vom Rest des Systems möglichst verbergen. Ein Interrupt (z.b. durch Drücken einer Taste) kann dabei einen Prozesswechsel ausgelösen. Dann wird hardwareseitig (im Microcode) Folgendes getan: 1. Der Programmzähler und die Register des laufenden Prozesses werden auf den aktuellen Stack gelegt. 2. Die Unterbrechungsroutine wird aufgerufen (Pufferung der E/A, etc.). Alle weiteren Aktivitäten (d.h. Scheduling) erfolgen durch das Betriebssystem. 13

14 4. E/A Schichtenmodell 4.2 Gerätetreiber Da jeder Geräte-Controller anders ist, benötigt man dafür jeweils eine andere Systemverwaltung, um ihn zu steuern. Diese wird Treiber (Driver) genannt und stellt somit die Steuer-SW für ein Gerät dar. Jeder Controller-Hersteller muss einen Treiber für jeden Controller und für jedes Betriebssystem anbieten, das er unterstützen möchte. Es gibt also sehr viele unterschiedliche Treiber. Ein Gerätetreiber steuert eine bestimmte Art von Geräten an. So ist beispielsweise für die seriellen Schnittstellen ein Treiber - und nicht für jede einzelne serielle Schnittstelle ein eigener zuständig. Der wesentliche Ablauf ist bei vielen Treiber gleich: Der Treiber nimmt einen Befehl entgegen und schreibt ihn in ein Steuerregister des Geräts, um anschließend auf das Ergebnis zu warten. Ein recht praktikables Problem ist dabei, einen Treiber ohne großen Aufwand in das BS zu integrieren. Trotz dieser relativ einfachen Struktur ist die Treiber-Entwicklung sehr aufwendig, da viele Details beachtet werden müssen. Ein Treiber (d.h. oft fremder Code) läuft im Kern. Daher ist die Gefahr eines Systemabsturzes groß. 14

15 4. E/A Schichtenmodell Die Abbildung zeigt die logische Einordnung der Treiber in das Betriebssystem. Beispiel: Die Kommunikation zwischen Treiber und Controller läuft dabei über den Bus. Quelle: [1] 15

16 4. E/A Schichtenmodell 4.3 Geräte-unabhängige E/A SW A. Einheitliche Schnittstellen für Treiber Wäre z.b. jeder Tastaturtreiber völlig unterschiedlich, müsste das Betriebssystem für jede neue Tastatur neu angepasst werden. Deshalb gibt es für Geräteklassen einheitliche Schnittstellen. In Linux wird das physikalische Gerät auf eine oder mehrere so genannte (logische) Gerätedateien abgebildet. Damit eine Applikation einen Treiber identifizieren kann, ist dem symbolischen Gerätenamen (Treibernamen) eine so genannte Majornumber zugeordnet. Die Minornumber gibt i.a. an, das wievielte Gerät den Treiber benutzt. So stellen z.b. /dev/sda1 bis /dev/sda4 vier Partitionen auf einer Festplatte dar. B. Pufferung Zur Verringerung von Overhead werden verschiedene Puffer bereit gestellt: Die Unterbrechungsroutine legt alle ankommenden Zeichen in den Puffer und weckt den Prozess, wenn der Puffer voll ist. 16

17 4. E/A Schichtenmodell 4.4 E/A auf Benutzer-Ebene Nur ein relativ kleiner Teil der E/A-SW für den Zugriff auf E/A durch Anwendungsprogramme erfolgt durch Bibliotheksfunktionen, z. B. count = write(fd, buffer, nbytes); printf(stdout, The Square of %3d is %6d\n, i, i*i); Der Zugriff auf exklusiv zu nutzende Geräte (z. B. Drucker) wird durch Spooling ermöglicht. Dazu nimmt ein Hintergrundprozess (Dämon) Aufträge entgegen, die nacheinander abgearbeitet werden. Die Aufträge werden in einem Spooling-Verzeichnis, auf das nur der Dämon Zugriff hat, zwischen gelagert. 17

18 4. E/A Schichtenmodell Das Zusammenspiel der E/A-Ebenen ist in der folgenden Abbildung zusammen gefasst: Quelle: [1] 18

19 5. E/A mit Plattenspeichern Plattenspeicher umfassen Festplatten, Floppy-Laufwerke, CD Roms, CD-RW, DVD, DVD-RW, Memory Sticks. 5.1 Low-Level Formatierung Bei Festplatten kann der Schreiblesekopf einen bestimmten Bereich (Spur) lesen. Alle Spuren einer Position bilden einen Zylinder. Eine Spur wird in eine Anzahl Sektoren (fester Größe) unterteilt. Diese Aufteilung ist Teil der Low-Level Formatierung. Dagegen umfasst die High-Level Formatierung die Partitionierung, die Blockgröße und die Wahl des File-Systems. Es hat eine Umrechnung von Sektoren in die Blöcke des Dateisystems zu erfolgen. 19

20 5. E/A mit Plattenspeichern Bei Solid State Drives (Flash Memory) gibt es keine Zylinder und Spuren. Statt Sektoren gibt es Seiten (in Analogie zum Hauptspeicher). Auch hier hat eine Abbildung bzw. Umrechnung zwischen den Blöcken des Dateisystems und den Seiten des SSDs zu erfolgen. Dabei ist es oft so, dass die die Seiten größer als die Blöcke sind. 20

21 5. E/A mit Plattenspeichern 5.2 Zylinderversatz Bei einer Festplatte wird die Position des Sektors 0 in jeder Spur versetzt. Die Idee dahinter ist, dass die Platte mehrere Spuren mit einer einzigen Operation einlesen kann, da die Platte rotiert, während der Kopf von einer Spur zur nächsten bewegt wird. Beispiel für Zylinderversatz: 21

22 5. E/A mit Plattenspeichern 5.3 Planung der Kopfbewegungen (Festplatten-Scheduling) Die Zeit zum Finden eines bestimmten Block ergibt sich aus 1. der Suchzeit, bis zu der der Arm über der richtigen Spur steht 2. Rotationsverzögerungen, d. h. Finden des Sektors 3. Dauer der Datenübertragung Dabei dominiert die Suchzeit (1). Offensichtlich ist eine FCFS (First-Come FirstServed) Strategie keine gute Lösung. Daher verwalten viele Plattentreiber eine Tabelle oder verkettete Liste, in der die Zylinder-Nummern der noch auszuführenden Aufträge notiert werden. Beispiel: Folgende Anfragen treffen ein: 11, 1, 36, 16, 34, 9, 12 Wie viele Kopfbewegungen (als Anzahl Zylinder) ergeben sich mit FCFS ausgehend von 11? 22

23 5. E/A mit Plattenspeichern (a) Shortest-Seek First (SSF) Bei der SSF-Strategie wird die jeweils nächstliegende Position angesteuert: Wie viele Kopfbewegungen ergeben sich nun? Nachteil: Bei einer stark frequentierten Platte tendiert der Kopf dazu, sich die meiste Zeit in der Mitte aufzuhalten, so dass Zylinder am Rand benachteiligt werden. 23

24 5. E/A mit Plattenspeichern (b) Aufzug-Algorithmus Der Aufzug-(Elevator)-Algorithmus versucht, die konkurrierenden Ziele von Effizienz und Fairness in Einklang zu bringen. Die Strategie besteht daraus, solange nur in eine Richtung zu fahren, bis es dort keine Anfragen mehr gibt: Wie viele Kopfbewegungen ergeben sich nun? Im Allgemeinen ist der Aufzug-Algorithmus schlechter als SSF aber dafür fairer. 24

25 6. Uhren Uhren (Timer) in Computern werden für verschiedene Dinge gebraucht, besonders aber für Time-Sharing Systeme. Alles, was die Uhr-HW leistet, ist das Auslösen von Interupts in vorgegebenen Intervallen. Die Aufgaben eines Uhrtreibers besteht daraus: die reale Uhrzeit zu verwalten und Alarme zu behandeln Überwachung von Prozesslaufzeiten Profiling und Buchführung 25

26 7. Terminals und Graphische Benutzeroberflächen (GUI) 7.1 Terminals Auf Mainframes arbeit(et)en oft viele Benutzer von einer entfernten Arbeitsstation aus, wobei jede Station eine Tastatur und einen Monitor besitzt. Diese Geräte heißen aus historischen Gründen Terminals und können klassifiziert werden in: Verbindung (zu einem Mainframe) über eine serielle Schnittstelle (RS-232). Anzeigen eines PCs mit grafischer Benutzeroberfläche Netzwerk-Terminals Terminals sind zeichenorientiert. Die grundlegende Arbeit eines TastaturTreibers besteht darin, die Eingaben von der Tastatur zu sammeln und weiter zu reichen, d.h. in ASCII-Code zu übersetzen. Zum Beispiel bedeuten die Sequenzen: SHIFT drücken, A drücken, A loslassen, Shift loslassen und SHIFT drücken, A drücken, SHIFT loslassen, A loslassen beides ein großes A. 26

27 7. Terminals und Graphische Benutzeroberflächen (GUI) 7.2 GUI-Unterstützung GUIs können auf Benutzerebene laufen (Unix) oder im Betriebssystem selbst verankert sein (Windows). Untrennbar sind die Tastatur (s.o.) und Maus (o. Ä.) mit der GUI verbunden. Beide haben eigene Treiber und ggf. eigene Controller. Die Aufgabe des Maus-Treibers ist es, Bewegungen der Maus ( X, Y) mitzuteilen. Daraus muss die GUI die Position auf dem Bildschirm bestimmen. Außerdem werden Klicks bzw. Doppel- oder Dreifachklicks der 2 oder 3 vorhandenen Tasten übermittelt. 27

28 7. Terminals und Graphische Benutzeroberflächen (GUI) Grafikkarten, d.h. Anzeigegeräte der GUI enthalten einen Video-Ram, der einen Teil des Adressbereichs des Computers bildet und genau wie der Rest des Speichers adressiert wird. Bei der Pixeldarstellung werden im RGB (Red, Green, Blue) Modus 24 Bit je Pixel benötigt, 8 je Farbe. Je nach Leistungsfähigkeit der Karte ergeben sich unterschiedliche Auflösungen (z.b. 1024* 768). Hardware-Beschleunigungen der Grafikkarte implementieren Algorithmen aus dem Computer-Grafik-Bereich und unterstützen so beispielsweise das Problem zu erkennen, ob bei einer 3D-Animation ein Objekt vor einen anderen liegt oder nicht. 28

29 7. Terminals und Graphische Benutzeroberflächen (GUI) 7.3 Netzwerkterminals Netzwerkterminals werden dazu verwendet, einen entfernten Benutzer über ein Netzwerk hinweg mit einem Computer zu verbinden, auf dem er dann (fast) wie auf einem PC arbeiten kann. Es gibt zwei grundsätzlich verschiedene Ansätze: 1. Hochentwickelte Systeme Ein Beispiel dafür ist X-Window, welches der Unix-Welt entstammt, und in Linux auch für einen Single-User PC Verwendung findet. 2. Primitive Systeme beabsichtigen in erster Linie nur eine lokale Verbindung zu einem zentralen Rechner herzustellen. Hier wird das Endgerät möglichst einfach gehalten (praktisch nur Tastatur, Maus, Bildschirm) Thin Client, um Kosten zu sparen und die Administration zu vereinfachen. 29

30 7. Terminals und Graphische Benutzeroberflächen (GUI) Das X-Window System stellt eine Client-Server-Architektur dar. Die Ambition dabei ist, nur die absolut notwendigen Daten zu übertragen und trotzdem keine Einschränkungen bezüglich der Funktionalität in Kauf nehmen zu müssen. Dafür wurde ein eigenes Protokoll entwickelt, das X-Protokoll. Das X-Terminal ist ein PC, auf dem X-Window läuft. X-Clients befinden sich auf dem entfernten Rechner, die vom Server Aufträge bekommen, um bestimmte Dinge anzuzeigen. Der X-Server liegt nahe beim Benutzer und tut was man ihm sagt (wie alle Server) z. B. verarbeitete Maus- und Tastatur-Eingaben Ausführung von Anzeige-Befehlen des Clients Es gibt verschiedene Möglichkeiten, X-Window zu einem kompletten GUI auszubauen. Meistens wird bei Linux KDE oder Gnome benutzt. 30

31 8. Geräterverwaltung unter Linux 8.1 Linux Module und Treiber Linux bietet die Möglichkeit, einzelne Funktionalitäten in Form von Modulen auch nach Systemstart nachzuladen bzw. wieder aus dem System zu entfernen. Treiber sind solche Module. Um Module zu laden, die Liste der geladenen Module anzuzeigen und Module wieder zu entfernen stehen folgende Systemprogramme zur Verfügung: insmod, lsmod und rmmod. Außerdem können Module Metainformation, wie den Author, eine Beschreibung, die durch einen Treiber unterstützten Geräte und die Modul-Lizenz enthalten. Unter Linux lässt sich diese Metainformation mit dem Programm modinfo anzeigen. Status-Information über das Laden und Entfernen von Modulen wird in die Logdatei /var/log/messages geschrieben. 31

32 8. Geräterverwaltung unter Linux Da ein Modul kein abgeschlossenes Programm sondern Teil des Programms Betriebssystemkern ist, gibt es keine main-funktion. Stattdessen ruft der Loader (insmod), sobald sich der Modulcode im Speicher befindet, die Funktion init_module auf, bzw. vor dem Entladen wird die Funtkion cleanup_module aufgerufen. Es reicht aus, diese beiden Funktionen zu codieren, um unter Linux ein Modul zu erstellen. Damit eine Applikation einen Treiber identifizieren kann, ist dem symbolischen Gerätenamen (Treibernamen) die Majornumber zugeordnet. Da der Treiber bei der Initialisierung (in der Funktion init_module beim Aufruf der Funktion register_chardev) sich beim Betriebssystem ebenfalls unter einer Majornumber anmeldet, kann das Betriebssystem die Zuordnung zum Treiber durchführen. Treibercode: register_chardev(majorno, Hello-Driver,...) register_chardev(majorno, Hello-Driver,...) BS: $$ mknode mknode NameLogGeraet NameLogGeraet MajorNo MajorNo 32

33 8. Geräterverwaltung unter Linux 8.2 Treiberentwicklung unter Linux Ruft eine Anwendung einen Systemaufruf (z.b. read()) auf, reicht das BS diesen an den Treiber weiter. Um einen Treiber für Linux zu implementieren, muss folgenden Schnittstelle bedient werden: struct file_operations { struct file_operations { struct module *owner; struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char user *, size_t, loff_t *); ssize_t (*read) (struct file *, char user *, size_t, loff_t *); ssize_t (*aio_read) (struct kiocb *, char user *, size_t, loff_t); ssize_t (*aio_read) (struct kiocb *, char user *, size_t, loff_t); ssize_t (*write) (struct file *, const char user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char user *, size_t, loff_t *); ssize_t (*aio_write) (struct kiocb *, const char user *, size_t, loff_t); ssize_t (*aio_write) (struct kiocb *, const char user *, size_t, loff_t); int (*readdir) (struct file *, void *, filldir_t); int (*readdir) (struct file *, void *, filldir_t); unsigned int (*poll) (struct file *, struct poll_table_struct *); unsigned int (*poll) (struct file *, struct poll_table_struct *); int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); int (*mmap) (struct file *, struct vm_area_struct *); int (*mmap) (struct file *, struct vm_area_struct *); int (*open) (struct inode *, struct file *); int (*open) (struct inode *, struct file *); int (*flush) (struct file *); int (*flush) (struct file *); int (*release) (struct inode *, struct file *); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, struct dentry *, int datasync); int (*fsync) (struct file *, struct dentry *, int datasync); int (*aio_fsync) (struct kiocb *, int datasync); int (*aio_fsync) (struct kiocb *, int datasync); int (*fasync) (int, struct file *, int); int (*fasync) (int, struct file *, int); int (*lock) (struct file *, int, struct file_lock *); int (*lock) (struct file *, int, struct file_lock *); }; }; 33

34 8. Geräterverwaltung unter Linux Wird der Treiber geladen, wird zunächst die Treiber-Funktion init_module aufgerufen. Diese Funktion hat die Aufgabe, das zugehörige Gerät zu finden und schließlich den Treiber beim System anzumelden (register_chardev). Anhand des Parameters beim open-call erkennt das BS den von der Applikation gewünschten Treiber (über die Zuordnung zwischen dem symbolischen Gerätenamen und der zugehörigen Majornumber). Die Treiber-Funktion open wird durch das System angestoßen und überprüft, ob die Applikation auf das Gerät zugreifen darf oder nicht. Ist das der Fall, gibt die Treiberfunktion 0 zurück, ansonsten einen sinnvollen Fehlercode. Konnte das Gerät geöffnet werden, greift die Applikation über den beim Öffnen zurückgegebenen Filedeskriptor zu. Die an der Applikation übergebenen Argumente werden der zugehörigen Treiberfunktion übermittelt und dienen späteren read- und write-aufrufen. Schließt die Applikation das Gerät wieder, wird wiederum eine korrespondierende Funktion im Treiber aufgerufen: release. 34

35 8. Geräterverwaltung unter Linux Die Abbildung [5] verdeutlicht die verwendeten Komponenten und Abläufe. 35

Ein- und Ausgabegeräte

Ein- und Ausgabegeräte Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen

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

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung Konzepte von Betriebssystem-Komponenten I/O: von der Platte zur Anwendung SS 05 Igor Engel Igor.Engel@informatik.stud.uni-erlangen.de 1 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien

Mehr

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

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

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

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

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: hellberg@drhellberg.de

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL 1. Aufbau eines Computer-Systems Ein Computersystem besteht aus Hardware (dem eigentlichen Rechner) und Software (den Programmen). Zur Hardware zählen der Prozessor

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ä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

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Betriebssysteme. Tutorium 2. Philipp Kirchhofer Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Wolfram Burgard 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten

Mehr

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 28. Januar 2016 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

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

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

Mehr

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen!

Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen! Klausuraufgaben: Hardware - Seite 1 Klausuraufgaben: Hardware (1.) Notieren Sie die Namen der Schnittstellen! (2.) Beschriften Sie die Namen der Komponenten im PC! 9 Klausuraufgaben: Hardware - Seite 2

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

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

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

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Lösung von Übungsblatt 3

Lösung von Übungsblatt 3 Lösung von Übungsblatt 3 Aufgabe 1 (Rechnerarchitektur) 1. Welche drei Komponenten enthält der Hauptprozessor? Rechenwerk, Steuerwerk und Speicher. 2. Welche drei digitalen Busse enthalten Rechnersysteme

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

Teil 3: Konzepte von Betriebssystemen

Teil 3: Konzepte von Betriebssystemen Teil 3: Konzepte von Betriebssystemen Inhalt: Einführung Prozesse Speicherverwaltung Virtueller Speicher 1 Definition eines Betriebssystems Was ist ein Betriebssystem? einfache Definition: Als Betriebssystem

Mehr

.DSLWHO*%HWULHEXQWHU6&281,;9

.DSLWHO*%HWULHEXQWHU6&281,;9 .DSLWHO* %HWULHEXQWHU 6&281,;9.DSLWHO*%HWULHEXQWHU6&281,;9 *%HWULHEXQWHU6&281,;9 Nachdem in den Kapiteln B und C der Einbau des ICP Controllers bzw. das Einrichten von Host Drives erklärt wurde, wollen

Mehr

Grundlegendes zum PC

Grundlegendes zum PC Grundlegendes zum PC Grundsätzlicher Aufbau eines PC Bild eines PC Beschreibung Eingabegeräte Ausgabegeräte Speicher Sonstige Bild eines PC Beschreibung Sind alle gleich die PC Sind in 3 bereiche eingeteilt:

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

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

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

So funktionieren Computer

So funktionieren Computer So funktionieren Computer Ein visueller Streifzug durch den Computer & alles, was dazu gehört Ron White Illustrationen: Timothy Edward Downs und Sarah Ishida Alcantara Übersetzung aus dem Amerikanischen:

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

Mehr

Einwahl per Modem unter Linux

Einwahl per Modem unter Linux Einwahl per Modem unter Linux David Vajda 25. Juni 2017 1 Das Device-Konzept unter Linux Devices sind zum Beispiel: /dev/hda /dev/hda1 /dev/hda2 /dev/hda3 /dev/hdb /dev/hdb1 /dev/hdb2 /dev/hdc /dev/hdc1

Mehr

Betriebssysteme I WS 2014/2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2014/2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Januar 2015 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

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

Grundsoftware üblicher Computersysteme

Grundsoftware üblicher Computersysteme Informatik 1 für Nebenfachstudierende Grundmodul Grundsoftware üblicher Computersysteme Kai-Steffen Hielscher Folienversion: 22. November 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

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.

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. 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 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981

HW- und SW-Komponenten eines PC. IBM 5150 aus dem Jahre 1981 HW- und SW-Komponenten eines PC IBM 5150 aus dem Jahre 1981 Anfänge des Computers 1941: Zuse Z3 in Deutschland entwickelt erster programmierbarer Rechner mit mechanischen Relais 1944: ENIAC In den USA

Mehr

2. Hilfe! Mein Computer lässt sich nicht mehr starten

2. Hilfe! Mein Computer lässt sich nicht mehr starten 2 Hilfe! Mein Computer lässt sich nicht mehr starten 2. Hilfe! Mein Computer lässt sich nicht mehr starten Von einer entfernten Bekannten habe ich kürzlich erfahren, dass sie sich ein neues Notebook gekauft

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Konzepte von Betriebssystemkomponenten

Konzepte von Betriebssystemkomponenten Konzepte von Betriebssystemkomponenten Systemstart und Programmausführung Seminarvortrag 15.12.2003, Michael Moese Übersicht 2. Systemstart 3. Programmausführung TEIL 1: Systemstart 1.1 Das BIOS 1.2 Der

Mehr

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

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

Mehr

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3.

Mehr

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

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

Parallele und verteilte Anwendungen in Java

Parallele und verteilte Anwendungen in Java Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN-10: 3-446-40714-6 ISBN-13: 978-3-446-40714-5 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40714-5

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

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

Kapitel II. Einführung: Hardware und Software. VO Betriebssysteme Kapitel II Einführung: Hardware und Software V 1 Computersysteme (1) omputer haben viele verschiedene Devices: Input/Output Devices Speicher Prozessor(en) Monitor auteile eines einfachen PCs Bus Computersysteme

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Aufbau eines modernen Betriebssystems (Windows NT 5.0) Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

S.M. Hartmann GmbH IT Solutions

S.M. Hartmann GmbH IT Solutions S.M. Hartmann GmbH 82008 Unterhaching Prager Straße 7 www.smhsoftware.de S.M. Hartmann GmbH IT Solutions Software für den modernen Handel SMH-Connect/400 Version V6.0 Beschreibung SMH-Connect: iseries

Mehr

Ein und Ausgabe. von Neumann Konzept enthält folgende Komponenten: Rechenwerk Steuerwerk Speicher Eingabewerk Ausgabewerk (siehe 1.

Ein und Ausgabe. von Neumann Konzept enthält folgende Komponenten: Rechenwerk Steuerwerk Speicher Eingabewerk Ausgabewerk (siehe 1. Ein und Ausgabe von Neumann Konzept enthält folgende Komponenten: Rechenwerk Steuerwerk Speicher Eingabewerk Ausgabewerk (siehe 1. Vorlesung) v. Neumann Architektur Eingabewerk Speicher Ausgabewerk Rechenwerk

Mehr

XIII. Inhaltsverzeichnis

XIII. Inhaltsverzeichnis Inhaltsverzeichnis 1 Aufbau und Funktion eines Personal Computers.......... 1 1.1 Einführung... 1 1.1.1 Aktuelle Computersysteme........................ 1 1.1.2 Arten von Computern 2 1.1.3 Entwicklungstrends...............................

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a Was machen wir heute? Betriebssysteme Tutorium 10 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

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

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

Mehr

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter...

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

Betriebssysteme. Tutorium 12. Philipp Kirchhofer

Betriebssysteme. Tutorium 12. Philipp Kirchhofer Betriebssysteme Tutorium 12 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 3. Februar 2010 Philipp

Mehr

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

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

ZTP Der kurze Weg zur langen Sicherheit. Vortragender: Clemens Prentner

ZTP Der kurze Weg zur langen Sicherheit. Vortragender: Clemens Prentner ZTP Der kurze Weg zur langen Sicherheit Vortragender: Clemens Prentner Clemens Prentner Alter 22 Ausbildung: IT Informatiker Lehre Aufgabenbereich: IoT- Industrie 4.0 Hobby: Judo / Kindertrainer für Kinder

Mehr

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Foliensatz. Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Foliensatz Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden

Mehr

Inhalte der heutigen Vorlesung

Inhalte der heutigen Vorlesung Inhalte der heutigen Vorlesung Wiederholung und Fortsetzung Hardware Von-Neumann-Architektur (Rechnerarchitektur) Speicher Software Wie groß ist ein Gigabyte? http://www.spiegel.de/netzwelt/tech/0,1518,606308,00.html

Mehr

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr Betriebssysteme FU Berlin SS 2003 Klaus-Peter Löhr 1 Einführung Zur Erinnerung: Informatische Fachbegriffe in Deutsch und Englisch findet man unter http://www.babylonia.org.uk Software zwischen Hardware

Mehr

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

Symbian OS. OS für kleine Endgeräte: Sven Walter OS für kleine Endgeräte: Sven Walter 19.07.2004 1 1. Einleitung Symbian ist ein Software Unternehmen, das ein offenes Betriebssystem für datenfähige Mobiltelefone entwickelt. Es wurde im Juni 1998 von

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

Step by Step Installation von Windows Server von Christian Bartl

Step by Step Installation von Windows Server von Christian Bartl Step by Step Installation von Windows Server 2003 von Installation von Windows Server 2003 1. Zum Starten der Installation legen Sie die Installations-CD in das CD-ROM-Laufwerk. Normalerweise sollte der

Mehr

Der Windows Explorer INITE 7e 2003 Joël François

Der Windows Explorer INITE 7e 2003 Joël François Der Windows Explorer 1 Einleitung Was ist der Explorer? Der Windows Explorer (nicht zu verwechseln mit dem Internet Explorer) ist ein Programm welches zur Datei Verwaltung unter Microsoft Windows verwendet

Mehr

Technische Informatik 3

Technische Informatik 3 Wolfram Schiffmann Helmut Bähring Udo Honig Technische Informatik 3 Grundlagen der PC-Technologie ^y Springer Inhaltsverzeichnis Aufbau und Funktion eines Personal Computers 1 1.1 Einführung 1 1.1.1 Aktuelle

Mehr

Installieren von Betriebssystemen

Installieren von Betriebssystemen Einf. in die Betriebssysteme II Praktikum/4 Seite 1 Installieren von Betriebssystemen Aufteilen einer Festplatte in Partitionen Der Speicherplatz einer Festplatte kann in Partitionen (zusammenhängende

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

7.2 Asynchrone serielle Schnittstellen

7.2 Asynchrone serielle Schnittstellen 7.2 Asynchrone serielle Schnittstellen übertragen Daten byteweise (und auch bitweise seriell). Typische angeschlossene Geräte: Tastatur, Maus, Bildschirm, Modem Pufferung der Bytes per Hardware (Gerätesteuerung)

Mehr

4.1 Datenträger/Partitionen

4.1 Datenträger/Partitionen .1 Datenträger/Partitionen.1.1 Von Festplatten und anderen Speichern Bei der Partitionierung geht es um die Aufteilung von Hintergrundspeichern (auch Massenspeicher genannt). Heute sind das meistens Festplatten

Mehr

Staatlich geprüfter EDV-Führerschein

Staatlich geprüfter EDV-Führerschein Staatlich geprüfter 1. Seit wie viel Jahren gibt es den Personal Computer? seit ~ 50 Jahren seit ~ 30 Jahren seit ~ 20 Jahren seit ~ 5 Jahren Computer gibt es schon immer. 2. Ein Computer wird auch als

Mehr

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX 23 UNIX entwickelt Anfang der 1970er Jahre von Ken Thompson und Dennis Ritchie (Bell Laboratories) Quelle: Wikipedia Zusammen und auf der Basis von

Mehr