Bs-5.4.31 5.4.3 Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von.

Slides:



Advertisements
Ähnliche Präsentationen
Excel – Kurs Philip Clasen
Advertisements

Die Schulkonsole für Lehrerinnen und Lehrer
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen , Beispiel: RW-Systemarchitektur Kap. 3.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
C Tutorium – Semaphoren –
6.6 Persistenter virtueller Speicher
5.5 Virtueller Speicher Wenn der reale Speicher sogar für einzelne Prozesse zu klein ist : Virtueller Speicher (virtual memory),  ist „beliebig“ groß,
Kritische Betrachtung
Informatik Tagesprotokoll vom
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
E / IDE Enhanced / Integrated Device Elektronics
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation.
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK TotalView Debugger Vorgestellt von Marco Dyballa mail:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Linux-HA-Cluster – Heartbeat mit DRBD
Kapitel 14: Recovery Oliver Vornberger
Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli /21.
Kennlinie Lichtregelung in JavaNNS Version 1.1
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Klicken Sie in der Meldungsleiste auf Bearbeitung aktivieren,
Gerade bei Fotobearbeitungen kann es leicht zum Verlust der Dateierweiterung (file extension) kommen. Nach stundenlanger Arbeit lässt sich eine Datei nicht.
Selbsttest zum Modul 2 Informationstechnik
Relationale Datenbanken III
6 Arbeiten in der Datenblattansicht
Übung Datenbanksysteme II Index- strukturen
Publikation auf Knopfdruck Judith Riegelnig Michael Grüebler 19. Oktober 2010 / Statistiktage Neuenburg.
PHP Basic.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
DATEIENDUNGEN SICHTBAR MACHEN Standard ist, dass bekannte Dateierweiterungen Dateiendungen file extension (eng.) unterdrückt werden. Das kann leider zu.
Gruppe: 31 Grundlagen wissenschaftlichen Arbeitens Algorithmen und Datenstrukturen Iris Studeny.
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 28 Version 1.0a Elementare Datenstrukturen –Tables Ansammlung von rows Jede row enthält eine oder mehrere column(s)
Dateiverwaltung Um Mit der Dateiverwaltung zu beginnen klicken Sie zunächst auf den Wiki verwalten Button. Dann klicken Sie auf Dateien.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Gruppe 2 MEMORY MANAGEMENT Jakob Dietschy Arnold Huber
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
5 Speicherverwaltung Pufferspeicher (cache)
Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten.
SAP Seminar 2007 Organisationsobjekte anlegen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
2.3 Implementierung von Prozessen
Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT.
Bs-61 6 Dateiverwaltung. bs-62 Datei (file) = abstraktes Datenobjekt mit folgenden Eigenschaften:  persistent ( = langzeitgespeichert auf Platte oder.
Bs Implementierung der Dateiverwaltung Für hohe Effizienz: Caching – vielfach werden Kopien von Plattendaten für längere Zeit im Arbeitsspeicher.
Bs Dateien als Segmente Idee:Datei = persistentes Segment Konsequenzen:  Datei kann in virtuellen Adressraum eingeblendet werden (memory-mapped.
2.2 Adressraumverwaltung Code und Daten Einfachster Fall: 0 length-1.
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
NE2000: Hardware und Design eines Treibers 1 AKBPII: Abschlusspräsentation NE2000: Hardware und Design eines prototypischen Treibers bearbeitet.
Bs Der Speicherverwalter Speicherverwalter (memory manager) = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page.
6.4.4 Berechtigungen (Capabilities)
Bs Segmentierte Prozesse im virtuellen Speicher Zur Erinnerung:  Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen.
Bs Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist.
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Das Betriebssystem Linux
 Präsentation transkript:

bs Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von Segmenten von Regionen (Code, statische Daten, Keller,...).] Zusätzlich zu den drei Standard-Segmenten kann ein Prozess 1. neue Segmente erzeugen, 2. fremde Segmente in seinen Adressraum einblenden 3. und wieder ausblenden.

bs Systemaufrufe ( shm = shared memory): shmid = shmget(key, size, flags) Segment key der Größe size erzeugen und/oder – abhängig von flags – Segment key öffnen, d.h. einen geschützten Verweis dafür erzeugen, der mit shmid identifiziert wird; die gewünschten Zugriffsrechte werden über flags spezifiziert (ähnlich wie bei Dateien). Fehler: EACCES u.a.

bs addr = shmat(shmid, addr, flags) (attach) Segment shmid an einer freien Stelle in den Adressraum einblenden und seine Anfangsadresse liefern; Rechte bzgl. shmctl (s.u.) gemäß flags setzen. shmdt(addr) (detach) blendet das bei addr beginnende Segment aus. Ein nicht mehr benötigtes Segment muss explizit gelöscht werden (s.u.) !

bs shmctl(shmid, cmd, buffer) auf Segment shmid die Operation cmd ausführen, z.B.- Segment löschen - Daten abfragen - Rechte ändern - u.a. Verwandte Technik: memory-mapped files, d.h. Dateien in Adressraum einblenden ( 6)

bs Imlementierung: shmget :neuer Eintrag in einer um key erweiterten Segmenttabelle (5.4.2 )5.4.2 shmat :neuer Eintrag in Segmentliste des Prozesses oder aber – so in Solaris – mit separater Shared Memory Table:

bs rs w base lengthd backupBase r c Arbeitsspeicher Hintergrundspeicher Segmentlisten Segmenttabelle Segmente resident auslagerbar (aktiver Prozess) x (shmget) (shmat) shmget Shared Memory Table key region attr (shmget) shmid =

bs Umlagerung segmentierter Prozesse ! Beachte:Umlagerung verändert nicht den Adressraum des Prozesses – wenngleich die Deskriptoren marginal modifiziert werden. Einlagern Auslagern Erweitern

bs Einlagern – falls Speicherbelegung es erlaubt: 0. Bereits eingelagerte Segmente bleiben unberücksichtigt, ebenso die in Einlagerung befindlichen (c-Bit). 1. Segmentbereiche im Arbeitsspeicher reservieren. 2. Für jedes Segment base und c-Bit setzen, Segment einlagern, c-Bit löschen. 3.Prozess auswahlfähig machen (Operation start ).

bs Auslagern: 0.Für andere Prozesse noch benötigte gemeinsame Segmente bleiben unberücksichtigt. 1.Prozess stoppen (Operation stop ). 2.Für jedes Segment: base löschen; wenn dirty, dirty löschen, Segment auslagern; Speicherbereich freigeben.

bs Erweitern mit vorgezogener Auslagerung: 1.Neuen Segmentbereich im Auslagerungsbereich belegen. 2.Deskriptor in der Segmenttabelle erzeugen bzw. ändern. 3.Prozess auslagern. Dabei wird im Fall der Segment- erweiterung der alte length-Wert zugrundegelegt. ( Verschiedene Effizienzverbesserungen sind möglich )