Speicherverwaltung III
|
|
- Karola Rothbauer
- vor 6 Jahren
- Abrufe
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 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
MehrEinfü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
MehrKapitel 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
MehrSysteme 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
MehrEnterprise 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
MehrB1 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
MehrKapitel 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
MehrWas 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
MehrTechnische 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
MehrBetriebssysteme 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
MehrSpeicher 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
MehrKREDITVERZEICHNIS 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...
MehrA 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....................................
Mehr6 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.
MehrVortrag 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
MehrBetriebssysteme 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
MehrUnterprogramme, 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
MehrProzesse 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
MehrUniversitä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,
MehrNachholklausur 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
MehrBetriebssysteme. 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
MehrPROGRAMMIEREN 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
MehrJavakurs 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
MehrGrundlagen 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.
MehrOPERATIONEN 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:
Mehrwichtigstes 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
MehrMCRServlet 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
Mehr1. 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
MehrKonzepte 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
MehrBetriebssysteme 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
MehrFreescale 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:
MehrArchitektur 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 =
MehrDomä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
MehrBetriebssysteme. 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
MehrEmbedded-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
MehrMMU 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
MehrGrundlagen 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)
MehrPhysischer 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 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
MehrAufgabenstellung 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
MehrWirtschaftsinformatik 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
MehrBetriebssysteme 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
MehrProseminar 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
MehrDigital 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
MehrBetriebssysteme 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
MehrCVS-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
MehrObjektorientierte 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/
MehrJ.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
MehrPrü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
MehrBedienungsanleitung 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
MehrAnleitung 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...
MehrRealisierung: 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.
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
Mehr13 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,
MehrSiehe 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
MehrReihungen. 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
MehrGrundlagen 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
MehrVorkurs 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:
MehrObjektorientiertes 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
MehrUnterrichtseinheit 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
MehrZugriff 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
MehrKonzepte 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
MehrSystemprogramme 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
Mehr5.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
MehrDaten 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
Mehr5 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
MehrObjektorientierte 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
MehrPerzentile 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
MehrSysteme 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
MehrWindows 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
MehrTechnische 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
MehrAnwendertreffen 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
Mehr17.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
MehrJava 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,
MehrEinstieg 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.
MehrPOSIX 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
MehrName: 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
MehrHardware 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
MehrDie 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
MehrPowerBridge 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...
MehrRechnerarchitektur 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?
MehrWeiterleiten 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
MehrKonzept 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:
MehrDas 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.
MehrHochschule 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
MehrPersö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
MehrOperating 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
MehrDie 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:
MehrModellierung 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; {
MehrUser 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.
MehrTapps 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...
MehrGrundlagen 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
MehrDomä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,
MehrSystemvoraussetzungen und Installation
Systemvoraussetzungen und Installation Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 2 2. Einzelarbeitsplatzinstallation... 3 3. Referenz: Client/Server-Installation... 5 3.1. Variante A:
Mehr1.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
MehrErlernbarkeit. 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
Mehr15 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,
MehrMulticore 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
MehrBenutzerdokumentation 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