Speicherverwaltung III

Größe: px
Ab Seite anzeigen:

Download "Speicherverwaltung III"

Transkript

1 Speicherverwaltung III Andreas Görzen Marius Schultchen Benjamin Kotke Sascha Sternheim 26. Februar 2013 Inhaltsverzeichnis 1 Datenstruktur zur physikalischen Speicherverwaltung Übersicht möglicher Datenstrukturen Bitmap Verkettete Liste Stack Tabelle physical memory management table(pmmtable) Aufteilung des Adressraums Lower Half Kernel Higher Half Kernel Umsetzung Paging Rekursives Paging Directory Aufbau Abläufe Initialisierung des Pagings Ablauf des Mappings neuer Pages Erzeugung und Zerstörung eines Pagingkontextes

2 1 Datenstruktur zur physikalischen Speicherverwaltung Durch die physikalische Speicherverwaltung wird das Allozieren und Freigeben von physikalischem Speicher ermöglicht. Dabei speichert eine Datenstruktur in der physikalische Speicherverwaltung welche Speicherbereiche im physikalischen Speicher frei sind. Die verwalteten Speicherbereiche haben eine Seitengröße von 4kb. 1.1 Übersicht möglicher Datenstrukturen Um eine Datenstrukturen zur physikalischer Speicherverwaltung zu implementieren, gibt es verschiedene Möglichkeiten. Im Folgendem sollen einige kurz vorgestellt werden Bitmap Eine einfache Verwaltung der physikalischen Adressen lässt sich mit einer Bitmap realisieren. Dazu wird 1-Bit an Information für jede Seite gespeichert. Dieses Bit gibt an, ob die Seite belegt oder frei ist. Der Vorteil an der Bitmap ist, dass der von der Bitmap selbst verwendete Speicher zur Laufzeit konstant ist. Dadurch kann es nicht zu einer Endlosschleife kommen, falls der Speicherstruktur selbst der Platz für weitere Informationen ausgeht und sie weiteren von sich selbst anfordern will. Ferner ist es möglich einen kontinuierlichen Speicherbereich zur Verfügung zu stellen. Ein Nachteil der Bitmap ist, dass sie keine zusätzlichen Informationen aufnimmt. Dadurch ist es schwer möglich gemeinsam genutzten Speicher zu realisieren, da nicht verwaltet werden kann, wie viele lineare Adressen auf diesen Speicher verweisen Verkettete Liste Ferner können die Seiten durch eine verkettete Liste verwaltet werden. Dabei verwaltet ein Listenelement den Anfang von freiem Speicher und die Länge des fortlaufenden freien Speichers. 2

3 Beim Anfordern von Speicher müssen diese Elemente entfernt, bzw. verkleinert werden. Beim Freigeben von Speicher werden sie vergrößert oder gegebenenfalls neu angelegt. Ein Nachteil der Struktur ist, dass man für sie dynamisch Speicherplatz allozieren muss und es so zu Problemen mit Endlosschleifen kommen kann Stack Eine weitere Datenstruktur ist der Stack. In ihm werden alle freien Seiten verwaltet. Wird eine Seite angefordert wird sie vom Stack genommen. Beim Freigeben einer Seite wird sie wieder auf den Stack gelegt. Ein Vorteil des Stacks ist, das die Anforderung einer freien Seite in konstanter Zeit geschehen kann. Ein Nachteil ist, dass sich die Struktur dynamisch verändert und nicht immer konstant ist. Dadurch muss sich damit beschäftigt werden, dass die Struktur entsprechend wachsen kann und der Speicher nicht ausgeht. Ebenso wie bei den bisherigen Datenstrukturen können in einem Stack keine Zusatzinformationen verwaltet werden Tabelle Eine weitere Möglichkeit ist die Verwaltung in einer Tabelle. In ihr können alle physikalischen Speicherblöcke mit Zusatzinformationen verwaltet werden. Dies ist z.b. dafür nötig, um zukünftig mehrere Prozesse verwalten zu können. Durch die Zusatzinformationen, können z.b. Speicherblöcke als gemeinsam genutzer Speicher markiert werden. Ferner könnten die Anzahl der Prozesse, die auf den Block zugreifen mitgezählt werden, wodurch gemeinsam genutzer Speicher wieder frei gegeben werden kann. Ansonsten verhält sich eine Tabelle wie eine Bitmap, wobei natürlich, je nach dem Umfang an Zusatzinformationen, die Größe der festen Datenstruktur ansteigt. 1.2 physical memory management table(pmmtable) Um die Implementierung zu erleichtern und nicht mit den Problemen einer dynamisch wachsenden Struktur umgehen zu müssen, wird die Tabelle in Form eines Arrays mit einer festgelegten Größe erzeugt. 3

4 Dabei wird die Größe abhängig von dem zur Verfügung stehenden physikalischen Speicher gewählt. Um die Information über die Speichergröße zu erhalten, werden die Informationen aus einer Boot-Struktur, den E820-Entries, entnommen, die beim Start dem Kernel übergeben werden. Außer den eigentlichen Einträgen der Speicherblöcke, werden Zusatzinformationen wie Speichergröße, Kernelgröße und Blockanzahl erfasst, da sie noch für andere Verwaltungseinheiten benötigt werden. So müssen für die PmmTable an sich lineare Adressen auf den physikalischen Speicher abgebildet werden, da sie selbst ihre Einträge im Speicher ablegen muss. Dazu muss die Größe des Speichers bekannt sein, um die Größe der PmmTable zubestimmen. Die Einträge an sich, die PmmTableEntries, repräsentieren jeweils einen 4kb Speicherblock im physikalischen Speicher und reichern ihn mit Zusatzinformationen an. So kann die Anzahl der linearen Adressen, die auf ihn zeigen, mitgezählt werden. Dadurch lässt sich gemeinsamer Speicher realisieren, der auch wieder freigegeben werden kann. Ferner lassen sich durch weitere Bits Zusatzinformationen anlegen, die sich in der weiteren Entwicklung 1 nützlich erweisen können. In der Tabelle 1 ist die Bitbelegung der Einträge beschrieben. Auf Basis dieser Bitbelegung lassen sich viele verschiede sinnvolle Kombinationationen bilden, um die Blöcke im physikalischen Speicher zu charakterisieren. Einen Überblick dazu gibt Tabelle 2. Bit Beglegung Bedeutung 0 0 Der physikalische Speicherblock ist laut der Boot-Struktur nicht verfügbar. 1 1 Der physikalische Speicherblock ist für den Kernel. 2 1 Der physikalische Speicherblock kann gemeinsam genutzt werden. 3 1 Der physikalische Speicherblock ist frei. Abbildung 1: Bitbelegung der Tabelle zur physikalischen Speicherverwaltung Ferner gibt das Klassendiagramm in Abbildung 3 einen genauen Blick in den Aufbau der Datenstruktur. Die Operationen, die in der Abbildung zu sehen sind, dienen dazu die PmmTable zu initialisieren, Bereiche im physikalischen Speicher als verfügbar oder nicht verfügbar zu deklarieren, sowie Bereiche für den Kernel festzulegen. Ferner werden die wichtigsten Operationen allocblock und freeblock spezifiziert, mit denen Speicher angefordert und freigegeben werden kann. Bei der Implementierung dieser beiden Operationen, veranschaulicht in den Aktivitätsdiagrammen 4 1 Zugriffsmethoden für die Zusatzinformationen wurden noch nicht entwickelt. Es wird sich im weiteren Verlauf des Projektes zeigen, welche Flags für das Multitasking nützlich sind. 4

5 Bit 3 Bit 2 Bit 1 Bit 0 Bedeutung nicht verfügbarer Speicher laut E820-Entries belegter Benutzerspeicher belegter Kernelspeicher belegter teilbarer Benutzerspeicher belegter teilbarer Kernelspeicher freier Benutzerspeicher freier Kernelspeicher freier teilbarer Benutzerspeicher freier teilbarer Kernelspeicher Abbildung 2: sinnvolle Kombinationen der Bitbelegung Abbildung 3: PmmTable und 5, wird die Variable _free_start_search verwendet, um das Suchen nach freien Speicherblöcken zu beschleunigen. Dazu wird ein Pointer auf den untersten freien Speicherblock gesetzt. Wird dieser besetzt, zeigt der Pointer auf den nächsten Eintrag. Dadurch wird das fortlaufende Suchen beschleunigt. Wenn untere physikalische Speicherblöcke wieder frei werden, wird der Zeiger auf diese gesetzt. Dadurch sinkt die Performanze, da nachfolgende Anfragen die Tabelle von dem Pointer aus weiter durchsuchen müssen. Allerdings wird durch das Umsetzen des Pointers vermieden, dass Lücken im physikalischen Speicher entstehen, wodurch dann wieder in konstanter Zeit auf freien Speicher zugegriffen werden kann, wenn die Lücken gefüllt sind. Ist kein freier Speicher verfügbar, wird die als Error definierte Adresse 0x zurückgegeben. 5

6 Abbildung 5: Speicher freigeben Abbildung 4: Speicher allokieren 2 Aufteilung des Adressraums Neben der Verwaltung des freien und belegten physikalischen Speichers wurde überlegt, wie die Kommunikation zwischen Prozessen und Kernel stattfinden kann. Dabei wurde auch berücksichtigt, dass ein Kontextwechsel 2 sehr viel CPU Zeit benötigt und wie ein unnötiger Wechsel nur für den Scheduler vermieden werden kann. Ein Kontextwechsel findet statt, wenn das CR3 Register (das Register das die Adresse des Page Directorys enthält) mit einer neuen Adresse belegt wird. Üblicherweise wird der 4GB große lineare Adressraum, der mit 32-Bit adressiert werden kann, in zwei Teile aufgeteilt: Kernel- und User-Space. Am häufigsten ist die Aufteilung mit 1GB für den Kernel-Space und 3GB für den User-Space. Dabei ergibt sich, dass Prozesse nur maximal 3G Speicher exklusiv 2 Unterbrechung des aktuellen Prozesses inklusive Speicherung des Kontext und Wechsel zu einer anderen Routine 6

7 für sich adressieren können. 3 Für die Aufteilung diese Bereiche haben sich folgenden zwei Vorgehensweisen etabliert: 2.1 Lower Half Kernel Abbildung 6: Lower Half Kernel 0 1 GB sind für den Kernel vorgesehen und 1 4 GB folglich für den Userspace. Durch die Zuweisung des Adressraums 0x x3F F F F F F F für den Kernel kann dieser 1 zu 1 gemappt werden. Dies ermöglicht eine einfachere Implementierung, kann allerdings auch zu Problemen führen. So müssen Anwendungsprogramme so kompiliert werden, dass sie erst bei einer 1 GB Startadresse beginnen. 2.2 Higher Half Kernel Abbildung 7: Higher Half Kernel Der Higher Half Kernel zeichnet sich beim 32-Bit System dadurch aus, dass der Kernel Space nun im Bereich 0xC xF F F F F F F F liegt. Bis zu Initialisierung des Pagings muss der Kernel in diesem Fall zunächst mit physikalischen und später mit virtuellen Adressen arbeiten. Diese zunächst als unnötig aufwendig erscheinende Vorgehensweise bringt allerdings diverse Vorteile mit sich. 3 In der Regel weniger, denn auch bei 4GB physikalischen Speicher müssen diverse Geräte auf diesen gemappt werden. Dieser Speicher kann also nicht angesprochen werden, obwohl er physikalisch vorhanden ist. 7

8 Bei einem 64-Bit System mit einem Higher Half Kernel (Kernel Space also oberhalb von 0xF F F F F F F F ) ermöglicht diese Aufteilung weiterhin, dass 32-Bit Anwendungen den gesamten 32-Bit Adressraum nutzen können, was bei einem Lower Half Kernel nicht möglich wäre. 2.3 Umsetzung Bei der Umsetzung wird nur der Higher Half Kernel betrachtet. Jeder Prozess erhält ein eigenes Page Directory im physikalischen Adressraum. Die letzten PDE Einträge (768 bis 1023) im Page Directory verweisen dabei auf den Kernel-Space und sind bei allen Prozessen gleich. Diese Einträge sollten dann durch die im Prozessor vorhanden Schutzmechanismen geschützt werden. Die restlichen PDEs adressieren den User-Space-Bereich. So können die selben PDE Einträge für jeden Prozess für die Adressierung des Kernel-Spaces verwendet werden. Wenn man so vorgeht, benötigt der Kernel kein eigenes Page Directory, er wird stattdessen als Teil jedes Prozesses angesehen und nicht als ein eigenständiger Prozess. Außerdem kann man die PDEs und die dazugehörigen PTEs mehrfach verwenden, spart also Speicher ein. Ohne die Aufteilung in Kernel- und User-Space würde man pro Prozess die gleichen PDEs erstellen müssen. Bei einem Prozesswechsel muss das CR3 nur auf das Page Directory für den neuen Prozess gesetzt werden. Für den Scheduler muss also kein extra Kontextwechsel stattfinden. Zusätzlich ergibt sich, dass die IDT, bestimmte Funktionen und Einsprungadressen für Kernelfunktionen, wie z.b. das Anfordern von Speicher oder Auswahl des nächsten Prozesses, an der gleichen linearen Adresse für jeden Prozess liegen. Die PDEs für den Kernel-Space müssen erstellt werden, damit diese in jedem Page Directory der Prozesse verwendet werden können. Denn ansonsten müssten die Page Directorys aller Prozesse aktualisiert werden, wenn für den Kernel Speicher adressiert wird. Für die PTEs gibt es zwei Möglichkeiten: 1. Man merkt sich welche PDE zuletzt verwendet worden ist und legt die PTEs dann bei Bedarf an, wenn mehr Speicher nötig ist. 2. Man legt auch alle PTEs für die PDEs von vornherein an. Das kostet allerdings mehr physikalischen Speicher. 1MB für alle PDEs und dazugehörigen PTEs. Die folgende Abbildung verdeutlicht wie der lineare Adressraum (User- und 8

9 Kernel-Space) von zwei Prozessen im physikalischen Speicher vorliegen kann: Abbildung 8: User- und Kernel-Space im physikalischen Speicher Nach der Aufteilung in Kernel- und User-Space können Prozesse nun nur noch den Speicher im linearem Adressraum exklusiv für sich reservieren, der unterhalb 3GB liegt, also bis Adresse 0xC h. Das Anfordern von Speicher oberhalb dieser Adresse muss zu einem Fehler führen. Im Zuge der Gestaltung des linearen Adressraums wurde der Videospeicher auf die Adresse 0xFFBF.F000 bis 0xFFBF.FFFF gelegt. Dies wurde nötig um das volle Higher Half Kernel Konzept umzusetzen. 3 Paging Das Paging setzt die linearen Adressen auf physikalische Adressen um. Somit ist der Zugriff auf den Speicher nur noch indirekt über das Paging beziehungsweise über lineare Adressen möglich. Das bedeutet auch, dass zur Verwaltung der Paging Directory und der Page Tables ein vorhandenes Mapping auf die beiden Pagingstrukturen existieren muss, da keine direkte Verwaltung über physische Adressen mehr möglich ist. Da aber die physikalischen Adressen unterschiedlich zu den linearen Adressen sein können, ist es nötig dieses Problem bei der Implementierung der Pagingverwaltung zu beachten. Zur Lösung dieses Problem wurden zwei Herangehensweisen betrachtet die im folgenden kurz erläutert werden: 1. Bei der ersten Herangehensweise wird ein Teil des physikalischen Adressraums 1:1 auf den linearen Adressraum gemappt oder bzw. mit einem bekannten Offset. 9

10 2. Die zweite Herangehensweise ist das Page Directory rekursiv zu Mappen. Das bedeutet, dass ein Eintrag im Page Directory auf die physikalische Adresse des Page Directory verweist. Somit kann dann über einen bestimmten Bereich im linearen Adressraum auf die Pagingstrukturen zugegriffen werden. Von den beiden zur Auswahl stehenden Herangehensweisen wurde die Zweite ausgewählt. Zwar ist die erste Herangehensweise vom Verständnis des Algorithmus einfacher zu verstehen und zu implementieren, die Herangehensweise hat aber den Nachteil, dass schon im Vorfeld sehr viel Speicher für die Pagingstrukturen reserviert werden muss, obwohl der Speicher noch nicht benötigt wird. Ein weiterer Vorteil der ersten Herangehensweise ist es, dass mehrere Pagingstrukturen gleichzeitig verwaltet werden können. Da aber meißtens verwaltende Tätigkeiten nur auf der aktiven Pagingstruktur durchgeführt werden, wie zum Beispiel das Mappen einer Page, ist dieser Punkt eher zu vernachlässigen. Ein weiterer Punkt gegen die erste Herangehensweise, ist die Anforderung, dass es jeweils eine andere Pagingstrukturen für einen Prozesse geben soll. Denn bei falscher Dimensionierung des 1:1 gemappten Bereiches kann es passieren, dass in diesem Bereich schnell kein Speicher mehr zur Verfügung steht oder falls immer nur die aktuelle Pagingstruktur in diesem Bereich vorgehalten werden soll die neue Pagingstruktur in den 1:1 gemappten Bereich kopiert werden muss. 3.1 Rekursives Paging Directory Beim rekursiven Paging Directory wird ein Eintrag auf die physikalische Anfangsadresse des Paging Directories gesetzt. In der Implementierung des FHDW-OS wurde der letzte der Eintrag des Paging Directories dazu verwendet. Dies hat zur Folge, dass wenn auf eine lineare Adresse im Bereich von 0xF F C00000 bis einschließlich 0xF F F F F F F F zugegriffen wird der letzte Eintrag im Paging Directory genutzt wird. Da dieser wieder auf das Page Directory verweist, wird nun das Page Directory nochmals genutzt, aber diesmal in der Rolle einer Page Table. Die Page Table über nimmt dann die Rolle der Page auf die zugegriffen wird. In Abbildung 9 ist Beispielhaft der Ablauf für den Zugriff auf die Adresse 0xF F C dargestellt, mit der man den Zugriff auf den dritten Eintrag in der zweiten Page Table erhält. Somit ist es möglich im linearen Adressraum von 0xF F C00000 bis 0xF F F F F F F F auf die Pagingstrukturen zuzugreifen. In Abbildung 10 ist exemplarisch dargestellt mithilfe welcher linearen Adressen, durch die Benutzung des rekursiven Paging Directory Ansatzes, ein Zugriff auf die Pagingstrukturen möglich ist. 10

11 Abbildung 9: Rekursiver Verweis im Paging Directory Abbildung 10: Lineare Adressen zum Zugriff auf die Pagingstrukturen 3.2 Aufbau Die zur Verwaltung der Pagingstruktur erstellte Klassen-Struktur ist in zwei Bereiche eingeteilt. Der erste Bereich enthält die Schnittstellen um verwaltende Aufgaben im Paging auszuführen. Dazu zählen hauptsächlich die Funktionen zum Mappen oder Freigeben von Seiten, der Wechsel des aktuell genutzten Page Directories 4, sowie Erzeugung und Zerstörung eines Pagingkontextes. Diese Aufgaben werden durch die Klasse PageContext bereitgestellt. Weiterhin repräsentiert ein Objekt dieser Klasse einen spezifischen Pagingkontext und stellt Operationen zur Verfügung, die die einmalige Initialisierung des Pagings durchführt. Aufgrund der Benutzung des rekursiven Paging Directories Ansatzes ist die Benutzung von Operationen die ein spezifischen Pagingkontext ändern, wie zum Beispiel das Mappen nur möglich, wenn 4 Im weiteren Verlauf als Pagingkontext bezeichnet 11

12 der zu ändernde Pagingkontext aktiv ist 5. In Abbildung 11 ist die Klasse PageContext dargestellt. Abbildung 11: Klasse PageContext Im zweiten Bereich sind mehrere Klassen die zur intern Verwaltung der Pagingstrukturen benutzt werden. Ein Zugriff auf diese Klassen ist von außerhalb nicht vorgesehen. Eine Übersicht über die Klassen dieses Bereiche ist in Abbildung 12 abgebildet. PageEntry ist entweder ein Eintrag in der PageTable oder im Page Directory. Die Klasse bietet Operationen zum Ändern der Flags oder zum Setzen der physikalischen Adresse an. Die Klassen PageDirectoryEntry und PageTableEntry, die von der Klasse PageEntry ableiten, enthalten spezielle Implementierungen für den Ablauf des Mappings. PageTable repräsentiert eine Page Table und bietet Operationen um einen Eintrag für einen bestimmte lineare Adresse auszuwählen. PageDirectory spiegelt ein Page Directory wieder. Die Klasse bietet Operationen wie die Klasse PageTable an, um einen Eintrag auszuwählen. Des weiteren gibt es Operationen um Mappings zu erstellen oder aufzuheben, zum Setzen des rekursiven Eintrages und Operationen die zum Erstellen eines neuen Page Directories benötigt werden. 3.3 Abläufe In diesem Abschnitt sind die wichtigsten Abläufe des Paging sowie deren Besonderheiten beschrieben Initialisierung des Pagings Die Initialisierung des Paging findet vor der Initialisierung der physikalischen Speicherverwaltung statt. Dabei wird zunächst der Eintrag fürs rekursive Paging gesetzt. Darauf werden die Page Tables für den Kernel Space erstellt auf die 5 isenabled() == true 12

13 Abbildung 12: Klassenstruktur des internen Bereiches dann von jedem Page Directory verwiesen wird. Außerdem werden dabei gleichzeitig die minimalen Mappings für den Kernel Space angelegt. Dazu zählen zum Beispiel die Mappings für den Kernel, für die physikalische Speicherverwaltung als auch den Bereich für den Videospeicher. In diesem Zustand ist das Paging funktionsfähig, aber es existieren noch Mappings die durch den Bootloader erzeugt wurden. Diese werden nach der grundlegende Initialisierung des Kernels entfernt Ablauf des Mappings neuer Pages Da das Mappen neuer Pages die Hauptfunktion der Pagingverwaltung ist, ist in Abbildung 13 dargestellt wie das Mappen bzw. Reservieren einer bestimmten linearen Adresse abläuft. Das Freigeben von Pages läuft analog dazu Rückwarts ab, nur mit dem Unterschied, dass eine Page Table die keine aktiven Einträge mehr enthält nicht freigegeben wird. Die Überprüfung ob die angeforderte lineare Adresse nicht in einem gesperrten Bereich liegt ist dafür zuständig, dass nicht zum Beispiel im linearen Bereich des rekursiven Paging Directories eine Page reserviert wird oder das der Kernel Code freigegeben wird. 13

14 Abbildung 13: Ablauf des Mappings Erzeugung und Zerstörung eines Pagingkontextes Um einen neuen Pagingkontext zu erzeugen wird sich zunächst eine physikalische Seite reserviert. Darauf wird die physikalische Seite temporär auf eine beliebige nicht vergebene lineare Adresse gemappt. An dieser temporären Stelle wird nun ein Page Directory mit seinen Grundstrukturen, den Page Tables für den Kernel Space und dem Eintrag für das rekursive Page Directory, erstellt. Nach diesem Vorgang wird Abschließend noch das temporäre Mapping aufgehoben und das CR3 Register auf die physikalische Adresse des neuen Page Direcotries gesetzt. Die Zerstörung eines Pagingkontextes ist nur möglich falls dieser aktiv ist. Dafür ist es nötig den Pagingkontext anzugeben, der nach der Zerstörung des aktuellen Pagingkontext aktiviert werden soll. Bevor zum nachfolgende Pagingkontext gewechselt wird, werden zunächst alle reservierten Seiten für den User Spaces freigegeben und auch die Seiten die von der Pagingstruktur selbst belegt wurden. 14

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

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in

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

Technische Informatik 2 Speichersysteme, Teil 3

Technische Informatik 2 Speichersysteme, Teil 3 Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer

Mehr

Betriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.

Betriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform. BS-V Betriebssysteme SS 2015 Dipl.-Math., Dipl.-Inform. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls v1.0, 2015/05/28 (klassische Dokumentation) Folie V-1 Übersicht: BS Praxis und BS Theorie

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

6 Speicherverwaltung

6 Speicherverwaltung 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in mehreren Schritten zu modifizieren.

Mehr

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr

Betriebssysteme KU - Bewertung A2 - WS 15/16

Betriebssysteme KU - Bewertung A2 - WS 15/16 Betriebssysteme KU - Bewertung A2 - WS 15/16 TEAM:... Mögliche Punkte: 50 + Bonus Allgemein Design Design / PoC Implementation... Sonstiges/Abzüge +X Sonstiges / : Bewertung der einzelnen Gruppenmitglieder

Mehr

Unterprogramme, Pointer und die Übergabe von Arrays

Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme Wie schon im Abschnitt über Funktionen erwähnt, versteht man unter einem Unterprogramm im engeren Sinn eine Prozedur, welche die Werte

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B. Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,

Mehr

Nachholklausur Informatik II

Nachholklausur Informatik II Technische Universität Darmstadt Teil Informatik II Fachbereich Informatik Frühjahr 2001 Fachgebiet Graphisch-Interaktive Systeme Prof. Dr. J. L. Encarnação Dr. J. Schönhut Nachholklausur Informatik II

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux

Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux Adressräume, Page Faults, Demand Paging, Copy on Write Seminar am 24.11.2003, Referent: Johannes Werner Speicherverwaltung ist bei heutigen

Mehr

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs 12. Oktober 2011 1 LV-Übersicht 2 Versionskontrolle Zentrale Versionskontrolle Dezentrale Versionskontrolle Git - Best practice

Mehr

Freescale 68HCS12X Aufbau eines Linker Commandfiles für den 68HCS12XDP512 (ohne XGATE)

Freescale 68HCS12X Aufbau eines Linker Commandfiles für den 68HCS12XDP512 (ohne XGATE) COSMIC Software GmbH Rohrackerstr. 68 D-70329 Stuttgart Tel. ++49 (0) 711 42040 62 Fax. ++49 (0) 711 42040 68 Email sales@cosmic-software.de Internet www.cosmic-software.com Seite 1 von 13 Tech. Note:

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

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1 MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Physischer Datenbankentwurf: Datenspeicherung

Physischer Datenbankentwurf: Datenspeicherung Datenspeicherung.1 Physischer Datenbankentwurf: Datenspeicherung Beim Entwurf des konzeptuellen Schemas wird definiert, welche Daten benötigt werden und wie sie zusammenhängen (logische Datenbank). Beim

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Aufgabenstellung und Zielsetzung

Aufgabenstellung und Zielsetzung Aufgabenstellung und Zielsetzung In diesem Szenario werden Sie eine Bestellung, vorliegend im XML-Format, über einen Web-Client per HTTP zum XI- System senden. Dort wird die XML-Datei mittels eines HTTP-Interfaces

Mehr

Wirtschaftsinformatik I

Wirtschaftsinformatik I Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation

Mehr

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen 1 Files als lineare Liste File angeordnet als verkette Liste von Blöcken Jeder Block enthält Zeiger zum Nachfolger Zeiger = Adresse des Blocks

Mehr

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek

Proseminar C-Programmierung. Strukturen. Von Marcel Lebek Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11

Mehr

Digital Forensics. Slackspace. 2011 DI Robert Jankovics DI Martin Mulazzani

Digital Forensics. Slackspace. 2011 DI Robert Jankovics DI Martin Mulazzani Digital Forensics Slackspace Slackspace Übersicht: Slack allgemein NTFS Slack FAT Slack mit Steganographie Slack allgemein Slack Space: Bezeichnet den Speicherplatz zwischen Ende der Datei und Ende des

Mehr

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs Teamwork Arbeitsaufteilung? Zeiteinteilung? Codeeinteilung? Kommunikation! Kommunikation Kommunikation mit dem Team Gruppentreffen

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Bedienungsanleitung DP3 Report

Bedienungsanleitung DP3 Report Bedienungsanleitung DP3 Report 1. Voraussetzungen Messgerät ecom-dp3 PC mit Kartenlesegerät und Betriebssystem ab Win2000 SD-Karten oder MM-Karten von rbr Kartengröße min. 32 MB - max. 2 GB Karte auf 16

Mehr

Anleitung zum Schulmaster Wartungsportal. Inhalt

Anleitung zum Schulmaster Wartungsportal. Inhalt Anleitung zum Schulmaster Wartungsportal Inhalt Anleitung zum Schulmaster Wartungsportal... 1 1. Einleitung... 2 2. Anmelden am Wartungsportal... 2 3. Zusätzliche Informationen... 2 4. Der Wartungskalender...

Mehr

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS) 1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten

Mehr

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind. Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung.

Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung. Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung. 9. Analyse Muster 1 Der Unterschied von Analyse und Design Pattern besteht auch in der zeitlichen Abfolge. Analyse Muster werden in der Analyse

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Unterrichtseinheit 7

Unterrichtseinheit 7 Unterrichtseinheit 7 Freigegebene Ordner: Durch freigegebene Ordnern können Benutzer Zugriff auf Dateien und Ordner innerhalb eines Netzwerkes (auch bei verstreut gespeicherten Daten, mit Hilfe des Distributed

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

Mehr

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff

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

5.Vorlesung Betriebssysteme Hochschule Mannheim

5.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 5.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/41 5.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Daten am USB Stick mit TrueCrypt schützen

Daten am USB Stick mit TrueCrypt schützen Daten am USB Stick mit TrueCrypt schützen Das Programm installieren und einrichten ACHTUNG: In der nachfolgenden Anleitung wird der USB Stick immer mit USB-STICK (H:) angegeben! Diese Bezeichnung wurde

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Objektorientierte Programmiersprachen

Objektorientierte Programmiersprachen Objektorientierte Programmiersprachen 1960 Algol 1970 Simula Pascal 1980 Smalltalk C Ada 1990 C++ Eiffel Eine ovale Box symbolisiert eine objektorientierte Programmiersprache. Eine rechteckige Box steht

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

Mehr

Technische Informatik 2 Speichersysteme, Teil 2

Technische Informatik 2 Speichersysteme, Teil 2 Technische Informatik 2 Speichersysteme, Teil 2 Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher Virtueller Seitenspeicher Seitenregister

Mehr

Anwendertreffen 20./21. Juni

Anwendertreffen 20./21. Juni Anwendertreffen Forum Windows Vista Warum Windows Vista? Windows Vista wird in relativ kurzer Zeit Windows XP als häufigstes Betriebssystem ablösen. Neue Rechner werden (fast) nur noch mit Windows Vista

Mehr

17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014

17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014 17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 12.Übung 13.1. bis 17.1.2014 1 BEFRAGUNG http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

Einstieg in die Kommunikationsplattform educanet 2

Einstieg in die Kommunikationsplattform educanet 2 Einstieg in die Kommunikationsplattform educanet 2 Die folgende kurze Anleitung soll den Einstieg in die Kommunikationsplattform educanet 2 erleichtern. Zudem werden einige der Funktionen kurz erläutert.

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory Rechnerarchitektur und Betriebssysteme (CS2): Virtual Memory 19 November 23 Prof Dr Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1 Was ist ein inode?

Mehr

Weiterleiten von Bildern und Texten zum Abruf mit einem Browser

Weiterleiten von Bildern und Texten zum Abruf mit einem Browser EBÜS WebExport Weiterleiten von Bildern und Texten zum Abruf mit einem Browser Status: Freigegeben Dieses Dokument ist geistiges Eigentum der Accellence Technologies GmbH und darf nur mit unserer ausdrücklichen

Mehr

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen Konzept für eine Highperformance- und Hochverfügbarkeitslösung für Anforderungen : einen Anbieter von Krankenhaus Abrechnungen Es soll eine Cluster Lösung umgesetzt werden, welche folgende Kriterien erfüllt:

Mehr

Das Arbeitsbuch. ÜK Modul 305. Aufgaben des Betriebssystems

Das Arbeitsbuch. ÜK Modul 305. Aufgaben des Betriebssystems Modulbezeichnung: Ük Modul 305 ÜK Modul 305 Kompetenzfeld: Betriebssysteme installieren und für den Multiuserbetrieb konfigurieren System mit Betriebssystem-Befehlen und Hilfsprogrammen administrieren.

Mehr

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Verwendung der bereitgestellten Virtuellen Maschinen»Einrichten einer Virtuellen Maschine mittels VirtualBox sowie Zugriff auf

Mehr

Persönliche Ordner (*.pst) Persönliche Ordner Best practice für Desktop-Nutzer Best practice für Laptop-Nutzer

Persönliche Ordner (*.pst) Persönliche Ordner Best practice für Desktop-Nutzer Best practice für Laptop-Nutzer Persönliche Ordner (*.pst) Ist die Postfachgröße (z.b. 30 MB) begrenzt, kann es notwendig sein, die E-Mail-Ablage aus dem Exchange-Bereich in Persönliche Ordner (hier Archiv 2006-2008) zu verlagern. Persönliche

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

User Level Device Driver am Beispiel von TCP

User Level Device Driver am Beispiel von TCP September 17, 2004 Einleitung Motivation für Userlevel Device Driver Probleme von Userlevel Device Driver Motivation für Userlevel Device Driver Modularität, leichterer Austausch/Erneuerung von Komponenten.

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur 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

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Systemvoraussetzungen und Installation

Systemvoraussetzungen und Installation Systemvoraussetzungen und Installation Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 2 2. Einzelarbeitsplatzinstallation... 3 3. Referenz: Client/Server-Installation... 5 3.1. Variante A:

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

Mehr

Multicore Programming: Transactional Memory

Multicore Programming: Transactional Memory Software (STM) 07 Mai 2009 Software (STM) 1 Das Problem 2 Probleme mit 3 Definitionen Datenspeicherung Konflikterkennung Granularität Optimierungsmöglichkeiten Software (STM) 4 Software (STM) Beispielimplementation

Mehr

Benutzerdokumentation Hosted Backup Services Client

Benutzerdokumentation Hosted Backup Services Client Benutzerdokumentation Hosted Backup Services Client Geschäftshaus Pilatushof Grabenhofstrasse 4 6010 Kriens Version 1.1 28.04.2014 Inhaltsverzeichnis 1 Einleitung 4 2 Voraussetzungen 4 3 Installation 5

Mehr