Proseminar Konzepte von Betriebssystem-Komponenten Disk-Caches & Dateizugriff von Athanasia Kaisa



Ähnliche Dokumente
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Professionelle Seminare im Bereich MS-Office

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

icloud nicht neu, aber doch irgendwie anders

Verwalten und Organisieren von Fotos,

PC-Umzug: So ziehen Sie Ihre Daten von Windows XP nach Windows 8 um

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Dokumentation zur Versendung der Statistik Daten

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

SICHERN DER FAVORITEN

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Anleitung über den Umgang mit Schildern

Stepperfocuser 2.0 mit Bootloader

Outlook-Daten komplett sichern

ANLEITUNG. Firmware Flash. Seite 1 von 7

Einfügen von Bildern innerhalb eines Beitrages

Datensicherung. Beschreibung der Datensicherung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Bilder zum Upload verkleinern

Eigene Dokumente, Fotos, Bilder etc. sichern

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Neuerungen in den SK-Programmen Version 3.1 Stand: Juni 2004

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Starten der Software unter Windows 7

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Tutorial -

Die Dateiablage Der Weg zur Dateiablage

Leichte-Sprache-Bilder

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Folgeanleitung für Fachlehrer

ICS-Addin. Benutzerhandbuch. Version: 1.0

Folgeanleitung für Klassenlehrer

Lizenzen auschecken. Was ist zu tun?

Step by Step Webserver unter Windows Server von Christian Bartl

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Dateimanagement in Moodle Eine Schritt-für

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Ev. Kirche Hirschlanden

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Nutzung von GiS BasePac 8 im Netzwerk

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

GFAhnen Datensicherung und Datenaustausch

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

ARCO Software - Anleitung zur Umstellung der MWSt

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Schulberichtssystem. Inhaltsverzeichnis

Neue Schriftarten installieren

Verwendung des IDS Backup Systems unter Windows 2000

Tipps und Tricks zu den Updates

Anlegen eines DLRG Accounts

Inkrementelles Backup

Windows 10 > Fragen über Fragen

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

EasyWk DAS Schwimmwettkampfprogramm

Artikel Schnittstelle über CSV

Gruppenrichtlinien und Softwareverteilung

Windows 8 Lizenzierung in Szenarien

Kurzanleitung Verwendung von USB-Sticks

Speichern. Speichern unter

Allgemeine USB Kabel Installation und Troubleshooting

Kleines Handbuch zur Fotogalerie der Pixel AG

zur WinIBW Version 2.3

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Adminer: Installationsanleitung

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

II. Daten sichern und wiederherstellen 1. Daten sichern

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme.

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Installationsanleitung

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

ltlasten in der Registrierdatenbank löschen

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Anwendungsbeispiele Buchhaltung

2. Word-Dokumente verwalten

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Starten der Software unter Windows XP

Eine Anwendung mit InstantRails 1.7

Workshop: Eigenes Image ohne VMware-Programme erstellen

Beheben von verlorenen Verknüpfungen

Lernwerkstatt 9 privat- Freischaltung

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Fotos verkleinern mit Paint

Lizenzierung von SharePoint Server 2013

Transkript:

Proseminar Konzepte von Betriebssystem-Komponenten Disk-Caches & Dateizugriff von Athanasia Kaisa Massenspeichermedien sind in der Regel gegenüber dem Hauptspeicher eines Rechners viel langsamer. Da Massenspeicher immer größer und billiger werden, können auch immer größere Datenmengen übertragen werden. Um Wartezeiten zu verkürzen, nutzt man schnelle Zwischenspeicher zum vorübergehenden Einlagern von Daten, so genannte Caches, bzw. in diesem Fall Disk-Caches. Grundzüge eines Zwischenspeichers Wenige Zugriffe auf große Datenmengen benötigen in der Regel weniger Zeit, als mehrere Zugriffe auf kleinere Datenmengen. Gelingt es nun, aus irgendwelchen Zusammenhängen zu erschließen, welche Daten in der Zukunft benötigt werden, kann man bei Anforderung einiger weniger Datenblöcke gleich eine große Zahl in den Zwischenspeicher einlesen. Lag man mit der Vorausschau richtig, kann dadurch die Leistung des Computers erhöht werden. War die Annahme falsch, muss man die anderen Datenblöcke erneut einlesen und verliert Leistung. Je besser die Methoden zur Vorausschau sind, desto mehr erhöht ein Zwischenspeicher die Gesamtleistung des Computers. Bei einem Plattenzwischenspeicher werden Zugriffe auf die Festplatte über einen Bereich im Hauptspeicher oder einen Zwischenspeicher oder im Laufwerk selbst gespeichert. Zwischenspeichern ist ein Vorgang bei dem schneller Speicher dazu verwendet wird, einen Teil der Daten eines langsameren Speichers aufzunehmen. Es gibt verschiedene Arten von Zwischenspeichern, normalerweise zwei, manchmal auch drei: 1. Auf der Steuerplatine der Festplatte selbst ist ein Zwischenspeicher vorhanden, der dazu dient mechanische Schreib-/Lesevorgänge von Datenübertragungen durch den Datenbus abzutrennen. Er enthält Daten die kürzlich übertragen wurden. Je größer der Speicher ist, um so schneller erfolgt die Datenübertragung, weil mehr Daten eingelagert werden, und somit die zeitaufwendigen Blocksuchen auf dem Rotationskörper vermieden werden. Bei modernen IDE- und SATA-Festplatten ist der Zwischenspeicher bis zu 8 MB groß. 2. Bei teuren SCSI-Systemen befindet sich auf dem SCSI-Controller ein dritter Zwischenspeicher. Er befindet sich dann zwischen dem Zwischenspeicher der Festplatte und dem Zwischenspeicher der Software. Der Zwischenspeicher kann eine Größe von bis zu 256 MB haben. Werden vom Betriebssystem Daten angefordert die nicht im Software-Zwischenspeicher stehen, können diese im Controller zwischengespeichert sein und von da gelesen werden. Die Festplatte muss dazu nicht angesprochen werden, was auch den SCSI-Bus entlastet. 3. Zusätzlich zu diesen Hardware-Zwischenspeichern, gibt es auch oft einen Software- Zwischenspeicher, der vom Betriebssystem verwaltet wird. Es ist vom Betriebssystem abhängig, wieviele MB des Hauptspeichers bereitgestellt werden. Werden die gleichen Daten ein weiteres mal angefordert, können sie aus dem Hauptspeicher des Rechners gelesen werden, ohne die Festplatte ansprechen zu müssen. Zu den gebräuchlichsten Techniken gehören der Blockcache. Hier werden Seite 1/6

Festplattenblöcke als Abbild im Hauptspeicher des Rechners gehalten. Es müssen dann die Leseaufträge überprüft werden, ob die gewünschten Daten schon im Zwischenspeicher sind. Wenn nicht, werden die Daten von der Festplatte eingelesen und in den Zwischenspeicher kopiert. Ist er voll, muss ein anderer Block entfernt, d.h. auf die Festplatte zurückgeschrieben, werden. Wird ein im Zwischenspeicher befindlicher Block verändert, so muss er wieder auf die Festplatte zurückgeschrieben werden. Dies muss nicht immer sofort geschehen, meist aber in bestimmten Zeitintervallen. Dabei besteht jedoch die Gefahr, dass modifizierte Blöcke nicht auf die Platte zurückgeschrieben werden, wenn z.b. zu schreibende Blöcke zwischengespeichert werden und die Stromzufuhr zum Rechner unterbrochen wird. Das führt zu Datenverlust und im Extremfall ist das Dateisystem beschädigt. Festplatte UltraATA133: 133 MB/s SATA: 150 MB/s Zwischenspeicher der Festplatte Hauptplatine Software Zwischenspeicher Hauptspeicher Zur Festplatte (SCSI Ultra 320 320 MB/s) Festplattencontroller mit Zwischenspeicher Festplattencontroller o. Zwischenspeicher Abbildungen von Festplattenblöcken Datenleitungen Abbildung 1: hier wird die Anordnung der verschiedenen Zwischenspeicher dargestellt Plattenzwischenspeicher in LINUX LINUX nutzt, wie die meisten Betriebssysteme, einen Blockcache. Die Blöcke einer Festplatte werden im Hauptspeicher abgebildet und durch so genannte köpfe referenziert. Ein ist die Abbildung eines Festplattenblocks im Zwischenspeicher. Die Blockgröße beträgt ein Vielfaches von 512 Byte. Ein Block ist zu laden, wenn er noch nicht im Zwischenspeicher vorhanden ist. Er ist zu schreiben, wenn der Inhalt dieses zwischengespeicherten Blocks verändert wurde. Dieser Block wird dann als verändert gekennzeichnet. Oft angeforderte Daten verbleiben länger im Zwischenspeicher, als selten angeforderte. Seite 2/6

Die Datenstruktur der köpfe Zu jedem gehört ein. Der enthält u.a. die Speicheradresse an der die Daten des s zu finden sind. Es muss aber nicht jeder verwendet werden, da sich der Kernel immer einen Vorrat von köpfe frei hält, um nicht ständig Speicher für neue köpfe allokieren zu müssen. Dadurch kann Rechenzeit eingespart werden! Abbildung 2: Funktionsweise der köpfe köpfe können in verschiedene Zustände gebracht werden: unbenutzter ist verfügbar, aber Inhalt ist bedeutungslos für einen freien zeigt auf einen leeren ; Nur der ist verfügbar, nicht aber der! für einen verwendeten zeigt auf einen im Zwischenspeicher asynchroner zeigt auf einen temporär verwendeten, der für Ein-/Ausgabe Operationen verwendet wird Bestimmte Kernfäden, die die wieder auf die Festplatte schreiben, sind bdflush und kupdated im 2.4 Kernel. Man kann diese Prozesse mit ps anzeigen lassen. kupdate kupdate schreibt modifizierte die lang nicht mehr benutzt wurden, sowie Superblock- und Inode Informationen im Zeitintervall von 5 Sekunden auf die Platte zurück. Alle 30 Sekunden werden modifizierte zurückgeschrieben. Es werden aber keine "jungen" zurückgeschrieben. bdflush bdflush wird standardmäßig alle 5 Sekunden ausgeführt. Befinden sich zu diesem Zeitpunkt 30% der genutzten, die verändert wurden, im Zwischenspeicher, werden max. 64 zurückgeschrieben. Sind 60% der momentanen köpfe modifiziert, wird nicht auf den 5 sekündigen Aufruf von bdflush gewartet. Wie schon oben erwähnt, schreibt LINUX nicht sofort auf die Platte zurück, denn wenige große Datenübertragungen nehmen weniger Zeit in Anspruch, wie mehrere kleine. Seite 3/6

Die Listenstrukturen des Zwischenspeichers LINUX verwaltet die köpfe in einer Vielzahl von verschiedenen Listen. köpfe freier werden in doppelt verketteten Ringlisten verwaltet. Zu jeder Blockgröße gehört eine extra Liste. Zusätzlich wird im eingetragen, dass der gerade nicht benutzt wird. köpfe benutzter werden in einer Reihe spezieller LRU-Listen (least recently used, zuletzt verwendet) verwaltet. Auch hier gibt es zu jeder Blockgröße eine separate Liste. BUF_CLEAN Nimmt köpfe nicht modifizierter auf. Das muss nicht gleichzeitig heißen, dass die dem Inhalt der Platte entsprechen! Die Liste dient also nur dazu, um ihre vor Zugriffen von Funktionen zu schützen, die das Zurückschreiben von n übernehmen BUF_DIRTY, deren Inhalt nicht mit den zugehörigen Blöcken auf der Festplatte übereinstimmen BUF_LOCKED Enthält köpfe, deren zugehörige modifiziert sind und gewählt wurden, um auf die Platte zurückgeschrieben zu werden. Benutzte köpfe werden in doppelt verkettete Hashlisten gespeichert. Anhand der Geräte- und Blocknummer werden die ausfindig gemacht. Das Verfahren ist in diesem Fall offenes Hashing. Durch Hashing werden die möglichst schnell verwaltet. Verdrängungsstrategien Wenn ein Block in einen vollen Cache geladen werden muss, ist ein Block zu entfernen und auf die Platte zu schreiben wenn er veränderdert wurde. Dazu gibt es Verdrängungsstrategien, die denen der Seitenauslagerung ähnlich sind. Es sind zum Beispiel FIFO, Second-Chance und LRU einsetzbar. FIFO: Hier wird der älteste im Cache befindliche Block entfernt. Second-Chance: Ist eine FIFO Variation. LRU: Hier wird der am längsten unbenutzte Block entfernt. LINUX benutzt die Strategie des LRU-Verdrängungsalgorithmus. Verwendung des Zwischenspeichers Soll ein Block von einem Gerät gelesen werden, wird zu erst überprüft, ob für den Block nicht schon ein entsprechender Block im Zwischenspeicher vorhanden ist. Ist das nicht der Fall muss der durch das Lesen von einem externen Medium angefordert werden. Seite 4/6

Der Prozess, der die Daten angefordert hat, muss allerdings so lange warten, bis die gewünschten Daten im vorhanden sind. Zum Zurückschreiben modifizierter Blöcke, incl. Inodes und Superblöcke gibt es die Funtkion sync. Bei dieser Funktion, werden Prozesse nicht angehalten, bis ein Schreibvorgang erfolgreich beendet wurde. Durch die Funktion wird der gesamte Zwischenspeicher nach modifizierten n durchsucht und für jeden Gefundenen eine Schreibanforderung an einen entsprechenden Gerätetreiber geschickt. Dateizugriff unter LINUX Unter LINUX wird der Dateizugriff durch den Verzeichniscache beschleunigt. Er ist Teil des Virtuellen Dateisystems und kann daher durch alle Dateisystemimplementierungen genutzt werden. Das Problem, dass Benutzer mit Dateinamen arbeiten, der Kernel aber mit Inodes arbeitet, wird durch den Verzeichniscache gelöst. Ohne diesen Verzeichniscache müsste der Kernel, bei jedem Zugriff auf die gleiche Datei, erneut die Inodes ermitteln, was Zeit kosten würde. Sobald eine Datei angefordert wird, werden in den Verzeichniscache die Informationen des Ganzen Verzeichnisses, in der sich die angeforderte Datei befindet, geladen. Solche Einträge in den Verzeichniscache werden DEntry genannt. Gespeichert wird u.a. der Dateiname, die zugehörige Inode, der zugehörige Superblock, Unterverzeichnisse usw. Der Verzeichniscache ist eine globale Hashliste in der doppelt verketteten Listen eingetragen sind. Die Position der Unterliste in der globalen Hashliste bestimmt sich aus dem Hashwert des Namens und der Adresse des DEntry-Eintrages des übergeordneten Verzeichnisses. Zusammenfassung Anhand von Zwischenspeichern lässt sich die Gemessenheit der Festplatte zwar ansatzweise kompensieren, doch Bussysteme wie SATA und SCSI könnten einen weit größeren Datendurchsatz bewältigen. Zwischenspeicher lassen sich nicht nur sinnvoll in einem Rechner einsetzen, sondern bringen auch im Internet oder Netzwerken einen ernormen Leistungszuwachs. Seite 5/6

Literaturverzeichnis: LINUX Kernelprogrammierung, Algorithmen und Strukturen der Version 2.4 (6. Auflage) Michael Beck, Harald Böhme, Mirko Dziadzka Ulrich Kunitz, Robert Magnus, Claus Schröter, Dirk Verworner, 2001, Addison Wesley Verlag Betriebssysteme Tanenbaum Andrew S., 1990, Hanser Verlag Architektur von Betriebssystemen (3. Auflage) H. Wettstein, 1987, Hanser Verlag Seite 6/6