Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler
|
|
- Silke Hafner
- vor 7 Jahren
- Abrufe
Transkript
1 Medienpraktikum Medienpsychologie Seminar für Pädagogik, Universität Ulm Sommersemester 2005 Anne Wilzek Doreen Eichler Betreuer: Dr. Markus Dresel, Frank Schumacher Thema: Erarbeitung multimedialer Inhalte zum Thema Speicherverwaltung für eine feedbackorientierte, multimediale Lernplattform
2 1 Einführung 1.0 Lernziele Lernziele - Wissen warum in einem Computer meist drei verschiedene Speicher benutzt werden. - Den Begriff Speicherverwaltung in den Kontext des Betriebssystems einordnen können. - Ein grundlegendes Verständnis für die Aufgaben der Speicherverwaltung in einem Betriebssystem haben.
3 1.1 Die Speicherhierarchie Jeder Computernutzer hätte am liebsten einen schnellen, großen, dauerhaften und billigen Speicher. Leider ist dies so nicht realisierbar, da die Eigenschaften in einer wechselseitigen Abhängigkeit stehen. Dies bedeutet, dass automatisch die Kosten steigen, wenn man einen Speicher größer, schneller oder dauerhaft macht. (Trade-Off-Problem). Um ein Optimum zwischen den Eigenschaften zu erreichen, ist in heutigen Rechnern eine so genannte 3-stufige Speicherhierarchie zu finden (siehe Abbildung). Diese besteht aus einem Hintergrundspeicher, einem Arbeitsspeicher und einem Pufferspeicher. Mit jeder Stufe wird die Zugriffszeit schneller, aber die Speicherkapazität kleiner und die Kosten je Speicherbyte werden größer.
4 Festplatten und CDs sind Beispiele für den Hintergrundspeicher. Dieser verfügt über eine große Speicherkapazität (deshalb wird er auch oft Massenspeicher genannt). Außerdem speichert der Hintergrundspeicher Daten dauerhaft und ist billig. Allerdings ist der Hintergrundspeicher bedingt durch hohe Zugriffszeiten vergleichsweise langsam (Latenzzeit). Der Arbeitsspeicher wird auch Hauptspeicher genannt. In ihn müssen alle Dateien und Programme zur Ausführung aus dem Hintergrundspeicher geladen werden. Der wesentliche Vorteil dabei ist, dass so auf die Daten schneller zugegriffen werden kann. Auf Grund seiner physikalischen Beschaffenheit ist der Arbeitsspeicher teurer als der Hintergrundspeicher. Deshalb ist er in den meisten Computern kleiner und als flüchtiger Speicher realisiert.
5 Um eine noch schnellere Verarbeitung der Daten zu erreichen, wird häufig ein zusätzlicher Pufferspeicher verwendet der so genannte Cache. Dieser befindet sich meist im Prozessor und arbeitet im Gegensatz zum Arbeitsspeicher mit Prozessortakt (mehrere Gigahertz im Vergleich zu mehreren Megahertz). Der Pufferspeicher ist typischerweise kleiner und teurer als der Arbeitsspeicher. In ihn werden die Teile des Arbeitsspeichers eingelagert auf die häufig zugegriffen wird. Ebenso wie beim Arbeitsspeicher ist die Einspeicherung in den Pufferspeicher flüchtig. Das Zusammenspiel von Hintergrundspeicher, Arbeitsspeicher und Pufferspeicher muss koordiniert und verwaltet werden. Diese Aufgabe übernimmt die Speicherverwaltung des Betriebssystems. Einen Überblick über die Aufgaben der Speicherverwaltung liefert das folgende Kapitel.
6 1.2 Aufgaben der Speicherverwaltung Speicherverwaltung Bindeglied zwischen Programmen und Arbeitsspeicher Schauen wir uns zunächst an einem Beispiel an, wie die verschiedenen Speicher zusammenarbeiten: Ein Benutzer möchte eine Mail schreiben und startet ein Mailprogramm. Die Bedienoberfläche des Programms öffnet sich und der Benutzer kann beginnen. Was genau passiert im Detail? Das Betriebssystem lädt das Programm von der Festplatte in den Arbeitsspeicher und führt es aus. Häufig benutzte Teile des Programms, zum Beispiel die Routinen zum Senden von s, werden im Pufferspeicher abgelegt. Wesentlich beim Laden eines Programms in den Arbeitsspeicher ist die Speicherverwaltung des Betriebssystems. Durch sie ist ein effizienter und komfortabler Zugriff auf den Arbeitsspeicher eines Computers möglich. Die Speicherverwaltung ist sozusagen das Bindeglied zwischen auszuführenden Programmen auf der Festplatte und Arbeitsspeicher (siehe Abbildung).
7 Die Speicherverwaltung übernimmt vier grundlegende Aufgaben: 1. Sie teilt den verfügbaren Arbeitsspeicher zwischen den Benutzerprogrammen auf. 2. Sie verwaltet, welcher Speicher gerade benutzt wird und welcher nicht. Weiterhin teilt sie Programmen Speicher zu, wenn sie ihn benötigen. 3. Wenn der Arbeitsspeicher zu klein wird, um alle Programme gleichzeitig darin zu halten, kann die Speicherverwaltung Programme auf die Festplatte auslagern und auch wieder einlagern. 4. Jedes Programm im Arbeitsspeicher befindet sich an einem Speicherort mit Adressen. Was passiert, wenn ein Programm für ein anderes Platz machen muss und dadurch an eine andere Stelle im Arbeitsspeicher verschoben wird? Das Programm benötigt neue Adressen im Arbeitsspeicher. Die Anpassung der alten Adressen an die neuen Adressen übernimmt ebenfalls die Speicherverwaltung. In den folgenden Kapiteln werden die Aufgaben der Speicherverwaltung näher betrachtet und anhand von Beispielen erklärt.
8 2 Speicheraufteilung 2.0 Lernziele Lernziele - Verstehen, warum Speicheraufteilung notwendig ist. - Statische und dynamische Speicheraufteilung erklären und bewerten können. - Die Begriffe externer Verschnitt" und interner Verschnitt verstehen.
9 2.1 Speicheraufteilung Einleitung Jeder Rechner benötigt, um Programme ausführen zu können, einen verfügbaren Arbeitsspeicher. Verschiedene Benutzerprogramme und das Betriebssystem belegen gemeinsam diesen Arbeitsspeicher, wenn sie ausgeführt werden (siehe Abbildung). Wichtig dabei ist, dass sich Betriebssystem und Benutzerprogramme nicht gegenseitig im Arbeitsspeicher beeinträchtigen. Zwei Programme sollten also nicht an dieselbe Stelle gespeichert werden. MS Word beispielsweise darf nicht in den Speicherbereich des Betriebssystems geladen werden. Eine gut durchdachte Aufteilung des Speichers zwischen den verschiedenen Programmen durch die Speicherverwaltung ist deshalb notwendig. Es gibt zwei grundlegende Ansätze, Arbeitsspeicher aufzuteilen und an Programme zu vergeben: Statische Speicheraufteilung und Dynamische Speicheraufteilung. Diese werden auf den nächsten Seiten erklärt. Ein komplexerer Ansatz das Paging baut auf der statischen Speicheraufteilung auf und wird in dem Lernmodul Virtueller Speicher näher betrachtet. In den folgenden Kapiteln sprechen wir nicht mehr von Programmen, die im Arbeitsspeicher ausgeführt werden, sondern von Prozessen (siehe Lernmodul Nebenläufigkeit). Betriebssystem und Programme im Arbeitsspeicher
10 2.2 Statische Speicheraufteilung Statische Speicherauteilung bedeutet, dass der Speicher in Bereiche mit festen Grenzen sogenannte Partitionen aufgeteilt wird. Diese Partitionen sind ähnlich den Partitionen auf einer Festplatte, nur dass hier die Partitionsgrößen viel kleiner gewählt werden. Die Partitionen werden bei der Systemgenerierung festgelegt und lassen sich zur Laufzeit nicht mehr ändern. Jedem Prozess wird im Arbeitsspeicher genau eine Partition zugewiesen. Außerdem darf sich in jeder Partition höchstens ein Prozess befinden. Dadurch wird verhindert, dass sich Prozesse gegenseitig beeinträchtigen. Wählt man gleich große Partitionen, kann ein Prozess in jede freie Partition geladen werden. Einzige Bedingung ist, dass der Prozess nicht größer als die Partition ist. Es gibt zwei Probleme bei der Aufteilung in gleich große Partitionen: 1. Ein Prozess kann zu groß für eine Partition sein. Dann kann das Programm nicht geladen und auch nicht ausgeführt werden. 2. Ein Prozess ist wesentlich kleiner als eine Partition und es bleibt ungenutzter Speicher in der Partition übrig. Dieser Speicher kann nicht mehr genutzt werden, da eine Partition immer nur einem Prozess zugeteilt wird.
11 Beide Probleme können teilweise durch die Verwendung von unterschiedlich großen Partitionen behoben werden. Dabei bekommt ein Prozess immer die kleinste Partition, die passt. Einem großen Prozess wird dann eine große Partition zugeteilt und einem kleinen Prozess eine Kleine. So verringert sich der ungenutzte Speicher innerhalb einer Partition. Trotzdem kann es Prozesse geben, die für jede verfügbare Partition zu groß sind. Dies führt dazu, dass diese Prozesse nicht ausgeführt werden können, obwohl sie vielleicht in den gesamten Arbeitsspeicher passen würden. Außerdem kann nicht immer eingeschätzt werden, wie viel Speicher ein Prozess benötigen wird. Benötigt beispielsweise ein Prozess zur Laufzeit mehr Speicher als vorgesehen, kommt es zu einem Fehler. Somit führt die statische Zuteilung des Speichers in vielen Fällen zu Problemen. Auf Grund dessen unterstützen nur noch wenige Betriebsysteme das Modell der statischen Speicheraufteilung. Vollständig gelöst werden diese Probleme durch die dynamische Speicheraufteilung im nächsten Kapitel.
12 Interaktive Animation
13 2.3 Dynamische Speicheraufteilung Bei der dynamischen Speicheraufteilung wird der Arbeitsspeicher nicht mehr statisch, sondern dynamisch aufgeteilt: Eine Partition für einen Prozess wird erst zur Laufzeit erstellt. Dadurch kann jedem Prozess genau so viel Speicher zugewiesen werden, wie er benötigt. Der Vorteil gegenüber der statischen Speicheraufteilung liegt darin, dass innerhalb der Partitionen kein Speicherplatz verschenkt wird. Jeder Prozess ist genau so groß wie seine Partition. Geben allerdings Prozesse ihren Arbeitsspeicher wieder frei, entstehen unterschiedlich große Lücken im Arbeitsspeicher. Diese Lücken können zwar von anderen Prozessen genutzt werden, sind aber meistens nicht genau so groß wie die neuen Prozesse. Dadurch entstehen zwischen den Partitionen Freiräume, die oft so klein sind, dass sie nicht mehr genutzt werden können. Diesem Problem kann man entgegenwirken, indem man die Prozesse im Speicher verschiebt (Kompaktifizieren). Durch richtiges Verschieben wird aus vielen kleinen Freiräumen ein großer Freispeicherbereich. Dieser kann dann von Prozessen wieder genutzt werden. Das Kompaktifizieren kostet aber viel Prozessorleistung.
14 Interaktive Animation
15 2.4 Was versteht man unter Speicherverschnitt? Bei beiden Strategien kommt es mit der Zeit zu Speicherverschnitt: Die Aufteilung des Speichers in immer kleinere Teile (Fragmentierung). Speicherverschnitt entsteht durch das Ein- und Auslagern von Datenblöcken. Man unterscheidet grundsätzlich zwei verschiedene Arten: Internen und externen Verschnitt. Interner Verschnitt - ungenutzer Speicherplatz in den Partitionen Bei der statischen Speicheraufteilung werden Prozesse in feste Einheiten des Speichers geladen. Meist füllen die Prozesse die Partitionen allerdings nicht vollständig aus. Dieser ungenutzte Speicher in einer Partition wird als interner Verschnitt bezeichnet. Wird beispielsweise in eine 8 KByte-Partition ein 7 KByte großer Prozess gespeichert, entsteht ein interner Verschnitt von 1 KByte. Interner Verschnitt kann nicht zusammengefasst werden, da eine Partition immer nur an einen Prozess vergeben werden kann und die Größe von statischen Partitionen nicht veränderbar ist.
16 Bei der dynamischen Speicheraufteilung kann es zwischen zwei belegten Partitionen freien Speicher geben (siehe Abbildung). Ist dieser freie Speicher außerhalb der Partitionen so klein, dass er wahrscheinlich nicht mehr genutzt werden kann, spricht man von externem Verschnitt. Das Problem der zu kleinen Freispeicherbereiche lässt sich durch Kompaktifizieren des Speichers beheben. Im nächsten Kapitel werden verschiedene Vergabestrategien betrachtet. Diese Strategien versuchen den Speicher optimal zu vergeben und den externen Verschnitt zu verringern. Externer Verschnitt ungenutzer Speicherplatz zwischen den Partitionen
17 3 Speichervergabe 3.0 Lernziele Lernziele - Wissen auf welche Art und Weise Speicher verwaltet werden kann. - Die Vergabestrategien erklären, bewerten und anwenden können.
18 3.1 Wie kann Speicher verwaltet werden? Bei der dynamischen Speicheraufteilung teilt die Speicherverwaltung zur Laufzeit jedem Prozess soviel Speicherplatz zu, wie er benötigt. Beansprucht demnach ein Prozess 10 Byte Arbeitspeicher, werden ihm diese 10 Byte zur Verfügung gestellt. Folglich muss die Speicherverwaltung wissen, wo freie und belegte Speicherstellen im Arbeitsspeicher sind. Nur so kann sie Speicher an Prozesse vergeben. Für die Verwaltung der Speicherstellen gibt es zwei Möglichkeiten: Bitlisten und Verkettete Listen. Bitliste Bei der Verwendung von Bitlisten wird der Arbeitsspeicher in Einheiten gleicher Größe verwaltet. Jede Einheit wird in einer Bitliste durch ein Bit repräsentiert. Ein Bit hat zwei Zustände. Der Zustand 1 bedeutet, dass die Einheit gerade benutzt wird und der Zustand 0, dass sie gerade frei ist. Angenommen der Speicher wird in Einheiten zu je 1 Byte verwaltet. Benötigt nun ein Prozess 10 Byte Arbeitsspeicher, sucht die Speicherverwaltung nach 10 zusammenhängenden Einheiten in der Bitliste und teilt diese zu. Die Speicherverwaltung vergibt also mehrere Speichereinheiten an einen Prozess und realisiert so die dynamische Speicherzuteilung. Arbeitsspeicher verwaltet mit einer Bitliste
19 Verkettete Liste Eine weitere Möglichkeit zur Verwaltung des Arbeitsspeichers sind verkettete Listen. Jeder Listeneintrag repräsentiert einen freien oder belegten Speicherbereich im Arbeitsspeicher. Die Speicherbereiche werden im folgenden als Segmente bezeichnet. Ein Listeneintrag enthält ein Bit, welches angibt, ob das Segment frei oder belegt ist, die Startadresse im Arbeitsspeicher, die Größe des Segmentes und einen Zeiger auf den nächsten Listeneintrag (siehe Abbildung). Benötigt ein Prozess 10 Byte Arbeitsspeicher, sucht die Speicherverwaltung in der Liste nach einem passenden Segment, das mindestens 10 Byte groß ist. Von diesem Segment teilt sie genau 10 Byte zu und der übrige Bereich bleibt frei. In der Liste entstehen zwei neue Listeneinträge - ein Eintrag mit dem nun belegten Segment von 10 Byte und einer mit dem übrig gebliebenen Restsegment. Gibt der Prozess die 10 Byte wieder frei, entsteht ein freies Segment. Dieses wird mit angrenzenden freien Segmenten zusammengefasst, um eine Fragmentierung des Speichers zu verhindern. Die Vergabestrategien im nächsten Kapitel nutzen verkettete Listen, um freie Speichersegmente zu vergeben. Arbeitsspeicher verwaltet mit einer verketteten Liste
20 3.2 Vergabestrategien Die Speicherverwaltung sollte den verfügbaren Speicher möglichst optimal an Prozesse vergeben, um externen Verschnitt zu vermeiden. Für die Vergabe von Speicher gibt es mehrere Vergabestrategien. Man kann das Problem der Speichervergabe auf folgendes Beispiel übertragen: Karl benötigt ein Brett von 2 m Länge. Auf einem Stapel vor ihm liegen drei unterschiedlich lange Bretter. Das oberste ist 4 m lang, das mittlere 2,10 m und das unterste 6 m. Keines der Bretter besitzt die richtige Länge. Er muss also eines der Bretter zusägen. Dabei hat er verschiedene Möglichkeiten: First Fit Karl nimmt das erste Brett, das er findet und welches mindestens 2 m lang ist. (Im Beispiel das 4 m Brett) Best Fit Karl sucht das kürzeste Brett, das mindestens 2 m lang ist. (Im Beispiel das 2,10 m Brett) Worst Fit Karl sucht das längste Brett und zersägt dieses. (Im Beispiel das 6 m Brett)
21 Würde Karl sich für die First Fit Strategie entscheiden, müsste er nicht lange suchen. Bei der Best Fit Strategie hätte er nur wenig Abfallholz und er müsste kein langes Brett zersägen, das er vielleicht noch für andere Zwecke benötigt. Das Abfallholz könnte er aber wahrscheinlich nicht wiederverwenden, da es zu kurz für ein neues Brett ist. Würde Karl hingegen die Worst Fit Strategie wählen und das große Holz zersägen, blieben große Reste übrig, die er mit großer Wahrscheinlichkeit wiederverwenden kann.
22 Analog zum Beispiel verhält sich die Vergabe von Speicher an einen Prozess. Die Bretter entsprechen den freien Speichersegmenten und das gesucht Brett dem einzulagernden Prozess: Bei First Fit geht die Speicherverwaltung die Liste der Speichersegmente der Reihe nach durch, bis sie auf ein ausreichend großes und freies Segment stößt. Das Speichersegment wird in zwei neue Segmente geteilt eines für den Prozess und eines für den weiterhin ungenutzten Speicherplatz. Eine Nebenform von First Fit ist Next Fit. Next Fit funktioniert ebenso wie First Fit, merkt sich aber die Position des zuletzt gefundenen Speichersegments und beginnt die Suche erst ab dieser Position. Best Fit durchsucht die gesamte Liste nach dem kleinsten passenden Speichersegment. Bei dieser Methode entstehen viele kleine Speicherreststücke, in die mit großer Wahrscheinlichkeit kein Prozess mehr reinpasst. Worst Fit versucht dieses Problem zu beheben, indem es in der Liste nach dem größten verfügbaren Speichersegment sucht. Das Speicherreststück ist dann meist viel größer als bei Best Fit und kann häufig noch sinnvoll genutzt werden.
23 Interaktive Animation
24 3.3 Vergabestrategien Bewertung Nachdem einige Vergabestrategien erklärt wurden, stellt sich nun die Frage, welches dieser Verfahren wohl am Besten geeignet ist. Welches Brett soll Karl denn nun durchsägen? First Fit basiert auf einem sehr einfachen Algorithmus. Somit ist die Strategie schnell zu implementieren und wird deshalb oft verwendet. Sie kann aber dazu führen, dass große Speichersegmente, die sich am Anfang befinden, für kleine Prozesse angeschnitten werden. Aus diesem Grund passen eventuell, große Prozesse nicht mehr in den Speicher. Außerdem kommt es zu einer Häufung unbenutzbarer Bereiche am Anfang des Speichers, die jedes Mal mit durchsucht werden müssen. Next Fit vermeidet diese lange Suche, indem es an der zu letzt gefundenen passenden Speicherstelle weitersucht. Allerdings werden dabei immer wieder neue Speicherbereiche angeschnitten anstatt die Alten, wie bei First Fit erst einmal aufzubrauchen. Führen wir unser Beispiel fort: Karl braucht nun drei 2 m-bretter und anschließend ein 5 m-brett. Bei Next Fit würde er für die 2 m-stücke von allen drei Brettern (4 m, 2,10 m und 6 m) 2 m abschneiden. Nachdem er alle Bretter angeschnitten hat, wäre aber kein Brett mehr vorhanden aus dem Karl sein 5 m-stück gewinnen könnte. Durch First Fit hätte er das vermeiden können, da er mit dieser Strategie gleich zwei 2 m-stücke aus dem ersten Brett geschnitten hätte. So hätte er sich aus dem 6 m-brett sein gewünschtes 5m-Stück noch erhalten. Durch das Anschneiden aller Speicherbereiche erzielt Next Fit etwas schlechtere Ergebnisse als FirstFit.
25 Im Gegensatz zu First Fit und Next Fit versucht man mit Best Fit möglichst wenig Verschnitt zu produzieren und Speicherplatz möglichst optimal zu vergeben. Dies führt allerdings zu vielen kleinen und dadurch meist nutzlosen Reststücken im Speicher. Deshalb ist die Best Fit Strategie trotz ihres Namens meist die schlechteste Wahl. Dieses Problem der nutzlosen Reststücke versucht die Worst Fit Strategie zu lösen. Hier sind die verbleibenden Reste in der Regel noch so groß, dass sie an weitere Prozesse vergeben werden können. Aber auch Worst Fit erzielt bei Tests und in der Praxis schlechte Ergebnisse. Die schlechten Ergebnisse von Best Fit und Worst Fit sind dadurch bedingt, dass im Gegensatz zu First Fit oder Next Fit - immer die ganze Liste nach dem kleinstmöglichen bzw. größtmöglichen Stück durchsucht werden muss. Alle Vergabestrategien haben also ihr Vor- und Nachteile. Es lassen sich deshalb keine allgemeingültigen Aussagen zur besten Vergabestrategie treffen, da die Effizienz der Strategien von der Reihenfolge und der Größe der einzulagernden Prozesse abhängt.
26 4 Einlagerungsstrategien 4.0 Lernziele Lernziele - Die Entwicklung der Einlagerungsstrategien verstanden haben. - Die Overlay-Technik und das Swapping erklären können. - Die Vor- und Nachteile der einzelnen Techniken gegeneinander abwägen können.
27 4.1 Einleitung Programme in den Arbeitsspeicher einzulagern, zählt zu den Aufgaben der Speicherverwaltung. Aber wie genau funktioniert diese Einlagerung? Wird ein Prozess immer als Ganzes in den Arbeitsspeicher geladen oder nur Teile davon? Wie lange bleibt ein Prozess im Arbeitsspeicher? Kann sich nur ein Prozess im Arbeitsspeicher befinden oder auch mehrere? Der einfachste und auch der älteste Lösungsansatz ist die vollständige Einlagerung. Dabei werden Prozesse vor dem Start komplett in den Arbeitsspeicher geladen und bleiben dort bis zu ihrer Beendigung. Konkret bedeutet das, dass beim Starten eines Programms (z.b. eines Internetbrowsers) dessen Programmcode zuerst vollständig in den Arbeitsspeicher geladen wird. Erst danach wird das Programm für den Benutzer sichtbar geöffnet. Ausgelagert wird der Code nur, wenn der Benutzer das Programm wieder schließt.
28 Durch diese Einlagerungsstrategie entstehen zwei wesentliche Probleme. Das erste Problem tritt auf, wenn ein Prozess größer als der gesamte Arbeitsspeicher ist. Dann kann er nicht vollständig eingelagert und so dessen Programm nicht ausgeführt werden. Photoshop-Prozess in der Warteschlange kann nicht ausgeführt werden, da er größer ist, als der gesamte verfügbare Arbeitsspeicher
29 Es können sich nicht-aktive Prozesse im Arbeitsspeicher befinden. Zum Beispiel ist der Internetbrowser auch dann im Arbeitsspeicher, wenn er im Hintergrund geöffnet ist und der Benutzer gerade im ICQ chattet. Diese nichtaktiven Prozesse benötigen keine Prozessorleistung, können aber in der Zeit - bei der vollständigen Einlagerung - nicht aus dem Arbeitsspeicher ausge-lagert werden. Der Internetbrowser blockiert also den Arbeitsspeicher für andere Prozesse (z.b. MS Word ). Dieses zweite Problem der vollständigen Einlagerung führt dazu, dass nur wenige Prozesse gleichzeitig ausgeführt werden können. Im Folgenden werden zwei Techniken zur Lösung dieser Probleme betrachtet. Nicht-aktiver Browserprozess im Arbeitsspeicher blockiert Platz für Word-Prozess in der Warteschlange
30 4.2 Overlay-Technik Die Overlay-Technik ermöglicht es, einen Prozess auszuführen, der größer ist als der verfügbare Arbeitsspeicher. Die Idee dabei ist, einen Prozess in Teile zu zerlegen, die nicht alle gleichzeitig im Arbeitsspeicher vorhanden sind. Prozessteile, die benötigt werden und sich nicht im Arbeitsspeicher befinden, werden nachgeladen. Dabei wird im Speicher ein Prozessteil, der nicht mehr benötigt wird, überschrieben (überlagert). Auf Grund dieser Überlagerung spricht man von Overlay-Technik. Ein für den Arbeitsspeicher zu großer Prozess wird in mehrere unabhängige Prozessteile zerlegt. Diese werden wiederum zu verschiedenen Overlays kombiniert. Der Programmierer legt bei dieser Technik nicht nur die Prozessteile fest, sondern auch, in welchen Kombinationen sie im Arbeitsspeicher ausgeführt werden sollen. Denn nur er weiß, wie verschiedene Prozessteile zusammenarbeiten. Eine Kombination verschiedener Prozessteile nennt man Overlay (siehe Abbildung).
31 Die Koordination, wann welches Overlay geladen werden soll, übernimmt bei der Ausführung des Programms ein speicherresidenter Prozessteil, das so genannte Wurzelsegment (root program). Speicherresident bedeutet, dass das Wurzelsegment während der ganzen Prozesslaufzeit im Arbeitsspeicher bleibt. Damit bei der Überlagerung der Overlays durch das Wurzelsegment keine Daten verloren gehen, greifen alle Prozessteile auf einen gemeinsamen Datenbereich zu. Dieser bleibt auch während der gesamten Ausführung des Programms im Speicher. Ein Prozess besteht aus einem Wurzelsegment, einem Daten- und einem Overlaybereich. Die Overlays werden je nach Bedarf von der Festplatte in den Arbeitsspeicher geladen. Das schon vorhandene Overlay wird dabei überlagert.
32 Die Speicherverwaltung hat mit der Koordination der Overlays durch das Wurzelsegments nichts zu tun und muss sich nicht um das Nachladen der Overlays kümmern. Sie hat lediglich die Aufgabe den benötigten Speicherbereich dem Prozess beim Programmstart mit Hilfe von Vergabestrategien zuzuteilen. Allerdings ist dieser Hauptspeicherbedarf vom Programmierer nicht genau abschätzbar. Ein weiterer Nachteil der Overlay-Technik ist die Festlegung der Prozessteile und Overlays durch den Programmierer. Es entsteht ein sehr hoher Programmierund Denkaufwand, der sehr viel Zeit in Anspruch nimmt.
33 4.3 Swapping Ein Problem der vollständigen Einlagerung ist, dass Prozesse, die gerade nicht aktiv sind, den Arbeitsspeicher für andere Prozesse blockieren. Betrachten wir das Problem anhand eines Beispiels: Angenommen Sie möchten MS Word starten, während auf Ihrem Rechner noch ein Internetbrowser geöffnet ist. Ihr Browser ist in dem Moment, in dem Sie MS Word starten, nicht aktiv. Trotzdem ist der Prozess Ihres Browsers im Arbeitspeicher und nimmt Platz in Anspruch. Aus diesem Grund ist es möglich, dass Ihr Word-Prozess nicht eingelagert werden kann, da nicht genügend Speicher vorhanden ist. Ein nicht-aktiver Prozess blockiert somit den Arbeitsspeicher für einen bereiten Prozess. Nicht-aktiver Browserprozess im Arbeitsspeicher blockiert Platz für Word-Prozess in der Warteschlange
34 Praktischer ist es, wenn der Browserprozess mit seinem aktuellen Zustand an eine andere Stelle, zum Beispiel auf die Festplatte, ausgelagert wird. Der Word-Prozess hätte dann Platz im Arbeitspeicher und Sie können Ihren Text schreiben. Wenn Sie weitersurfen wollen, würde zuerst der Word-Prozess auf die Festplatte ausgelagert und anschließend der Prozess Ihres Browsers in den Hauptspeicher geladen werden. Diese Ein- und Auslagerung von Prozessen nennt man Swapping. Wie die Übersetzung des Begriffes Swapping bereits veranschaulicht, werden die Prozesse also zwischen Festplatte und Arbeitsspeicher ausgetauscht. Dabei müssen Prozesse nicht unbedingt fertig ausgeführt worden sein. Auch blockierte Prozesse können für kurze Zeit ausgetauscht werden. Durch Swapping ist es möglich, dass mehr Prozesse gleichzeitig ausgeführt werden können, als physikalisch in den Arbeitsspeicher passen. Ein weiterer Vorteil von Swapping ist, dass beim Programmieren deutlich weniger Aufwand betrieben werden muss, da nun die Speicherverwaltung des Betriebssystems die Ein- und Auslagerung von Prozessen übernimmt.
35 Interaktive Animation
36 4.4 Einlagerungsstrategien - Zusammenfassung Früher konnten Programme nur vollständig in den Arbeitsspeicher eingelagert werden. Sie wurden dabei vor dem Start komplett in den Arbeitsspeicher geladen und blieben dort bis zum Ende ihrer Ausführung. Es traten zwei wesentliche Probleme auf: 1. Ein Prozess eines Programms war zu groß für den Arbeitsspeicher und konnte nicht geladen werden. 2. Ein Prozess blockierte den Arbeitsspeicher für andere Prozesse, da er zum Beispiel gerade auf eine Eingabe warten musste. Die Overlaytechnik löst das erste Problem, indem sie es ermöglicht Prozesse auszuführen, die größer als der Arbeitsspeicher sind. Hierbei wird ein zu großer Prozess vom Programmierer in mehrere Overlays zerlegt, die nach und nach in den Arbeitsspeicher geladen und ausgeführt werden. Erst durch Swapping kann das zweite Problem gelöst werden. Swapping bezeichnet die komplette Ein- und Auslagerung von Prozessen. Hierdurch ist es möglich, nichtaktive Prozesse im Arbeitsspeicher auf die Festplatte zwischenzuspeichern und so Arbeitsspeicher für andere Prozesse freizugeben. So können mehr Prozesse gleichzeitig ausgeführt werden, als physikalisch in den Arbeitsspeicher passen.
37 Die Overlaytechnik ist vor allem für den Programmierer sehr zeitaufwändig. Es dauerte also nicht lange, bis sich jemand etwas ausdachte, um auch diese Aufgabe durch den Computer erledigen zu lassen. Diese Methode wurde als virtueller Speicher bekannt. Mehr zu diesem Thema erfahren Sie im Modul "Virtueller Speicher". Im Modul "Virtueller Speicher" wird ebenfalls eine spezielle Art der Speicherverwaltung die Segmentierung vorgestellt. Swapping ist ein Teil der Segmentierung.
38 5 Adressierung 5.0 Lernziele Lernziele - Verstehen, was Adressen sind, warum sie benötigt werden und was ein Adressraum ist. - Den Unterschied von Speicheradresse und Programmadresse kennen. - Wissen, welche drei Adressierungsmöglichkeiten es gibt. - Diese drei Adressierungsarten erklären können. - Verstehen, warum der logische Adressraum eingeführt wurde. - Den Begriff Relokation verstehen.
39 5.1 Einleitung Im vorhergehenden Kapitel wurde der Begriff Swapping erläutert. Swapping ist eine Strategie der Speicherverwaltung, die es ermöglicht, Prozesse aus dem Arbeitsspeicher auszulagern und später an eine andere Stelle wieder einzulagern. Ein Prozess ist also, während er ausgeführt wird, nicht unbedingt immer am gleichen Ort im Arbeitsspeicher. Je nachdem, wie oft er ausgelagert und wieder eingelagert wird, ändern sich auch seine Positionen und somit seine Adressen im Arbeitsspeicher. Aufgabe der Speicherverwaltung ist somit auch die Adressierung von Prozessen im Arbeitsspeicher. Bevor wir uns mit diesem Thema beschäftigen, ist zu klären was man überhaupt unter einer Adresse versteht. Was ist eine Adresse? Jeder Brief, der mit der Post versandt wird, benötigt eine eindeutige Anschrift eine Adresse. Nur so kann die Post den Brief zustellen. Diese Postadressen bestehen in der Regel aus Name, Hausnummer, Straße, Postleitzahl und Wohnort.
40 Adressen im Speicher Auch im Computer braucht man Adressen. Unter anderem hat jede Speicherzelle eine eindeutige Adresse. So kann auf Speicherzellen zugegriffen und Information gespeichert werden. Im Sinne des Beispiels von oben kann man eine Information nur an eine Speicherzelle verschicken, wenn man auch ihre Adresse kennt. Speicheradressen bestehen aus einer Folge von Bits, die meist als Hexadezimalzahl ausgedrückt werden. In einer 32-Bit Architektur wird eine Adresse mit 32 Bit codiert. Das entspricht dem Adressbereich x x FF FF FF FF in hexadezimaler Schreibweise. Die Speicheradressen des Arbeitsspeichers bezeichnet man als physikalische Adressen. In den Beispielen verwenden wir allerdings zur besseren Übersichtlichkeit nur Adressen im Bereich von x xff FF FF. Ein Adressraum bezeichnet alle möglichen Speicheradressen in einem bestimmten Bereich. Beispielsweise hätte eine 2-Bit-Architektur einen 2-Bit-Adressraum und somit vier Adressen (00, 01,11,10). Alle physikalischen Adressen des Arbeitsspeichers bilden den physikalischen Adressraum (siehe Abbildung). Physikalische Adressen des Arbeitsspeichers
41 Adressen im Programm Ein Programm kann verschiedene Adressen haben: Zum einen die eigene Speicheradresse auf der Festplatte und weiterhin interne Programmadressen. Jeder Befehl im Programm hat eine solche Programmadresse mit der er von anderen Stellen des Programms referenziert werden kann. Anweisungen wie zum Beispiel Springe nach Ausführung des Print-Befehls an die Stelle BA 01 01, um die Variable a zu erhöhen können so realisiert werden (siehe Abbildung). Sprungbefehl "goto" kann nur mit Programmadressen realisiert werden
42 Adressierung - Aufgabe der Speicherverwaltung Wenn nun ein Programm zur Ausf?hrung kommt, werden alle Programmbefehle in den Arbeitsspeicher geladen. Die Frage ist, wohin werden sie geladen? Das Kapitel Speichervergabe hat auf diese Frage bereits eine Antwort geliefert: Die Speicherverwaltung sucht nach freiem Speicher und vergibt diesen an ein Programm. Das Programm inklusive seiner Befehle wird in den freien Bereich geladen und kann ausgeführt werden. Wenn wir diese Thematik im Detail betrachten, benötigt also jeder Befehl im Programm eine bestimmte Adresse im Speicherbereich. Aufgabe der Speicherverwaltung ist es somit, jedem Befehl eine bestimmte Adresse zuzuweisen. Hierbei muss sie darauf achten, dass auch im Arbeitsspeicher die Sprungbefehle im Programm noch funktionieren (siehe Abbildung). Im folgenden werden drei Möglichkeiten für die Adressierung von Programmen vorgestellt. Dabei orientieren wir uns an der historischen Entwicklung und beginnen mit der Direkten Adressierung, wo der Programmierer selbst die Adressierung übernimmt. Im Anschluss folgen dann die Adressierungsarten der Speicherverwaltung: Relative Adressierung und Gestreute Adressierung.
43 5.2 Direkte Adressierung Bei der direkten Adressierung legt der Programmierer fest, welche physikalischen Adressen seine Prozesse bekommen. Im Code haben dann alle Programm-befehle durch ihre Programmadresse eine feste Position im Arbeitsspeicher. Bei der direkten Adressierung sind die Programmadressen also identisch mit den physikalischen Adressen. Programm wird direkt adressiert. Die Programmadresse sind identisch mit den physikalischen Adressen.
44 Im Einprogrammbetrieb kann jeder Prozess den gesamten zur Verfügung stehenden Adressraum (gesamter Speicher ohne reservierten Bereich für das Betriebssystem) allein nutzen. Laufen allerdings mehrere Prozesse gleichzeitig, kann es passieren, dass sie denselben Speicherplatz adressieren. Es kommt zu einem Konflikt zwischen den Prozessen, der dazu führt, dass nicht alle Prozesse geladen werden können. Direkte Adressierung im Mehrprogrammbetrieb funktioniert nur, wenn alle Adressräume der Prozesse voneinander verschieden sind. Dies ist schwer zu realisieren, da sich Programmierer nicht immer absprechen können. Programm 2 kann nicht in den Arbeitsspeicher geladen werden, da derselbe Speicherbereich adressiert wird wie von Programm 1.
45 5.3 Relative Adressierung Bei der direkten Adressierung treten Konflikte zwischen Prozessen auf, wenn die Programmierer sich nicht bezüglich der Adressierung abstimmen. Dieses Problem kann gelöst werden, wenn anstatt des Programmierers die Speicherverwaltung die physikalischen Adressen für die Programmbefehle festlegt. Doch wie realisiert die Speicherverwaltung diese Adressfestlegung? Nehmen wir hierzu einige Überlegungen vorweg: Ein Programm besitzt nach wie vor eigene Programmadressen. Diese Programmadressen verweisen bei der relativen Adressierung nicht mehr auf physikalische Speicherstellen im Arbeitsspeicher. Vielmehr sind sie rein logische Adressen, die nur zur internen Referenzierung im Programm notwendig sind (siehe Abbildung). Alle logischen Adressen eines Programms bilden den logischen Adressraum. Dieser beginnt für jedes Programm bei 0 und darf höchstens so groß sein, wie es die Architektur des Systems erlaubt (siehe Abbildung). Es wird deutlich, dass jedes Programm seinen eigenen logischen Adressraum hat. Der Programmierer kann in diesem Schalten und Walten, wie er möchte und muss keine Rücksicht auf andere Programmierer nehmen. Logische Programmadressen
46 Wird ein Programm geladen, berechnet die Speicherverwaltung für jeden Programmbefehl mit einer logischen Adresse eine physikalische Adresse im Arbeitsspeicher. Anhand eines Beispiels soll diese Aufgabe skizziert werden: Auf die logischen Programmadressen wird die Basisadresse des freien Speicherbereichs adddiert, um die endgültigen Adressen des Programms im Arbeitsspeicher zu erhalten Ein Programm mit dem Befehl print a an der logischen Adresse soll ausgeführt werden. Hierzu sucht die Speicherverwaltung zuerst nach einem zusammenhängenden freien Speicherbereich und berechnet dann die physikalische Adresse. Dazu addiert sie die Anfangsadresse des freien Speicherbereichs B auf die logische Adresse der Variable und a und erhält für die physikalische Adresse C Die Variable a wird dann an den Speicherplatz mit der physikalischen Adresse C geladen (siehe Abbildung). Ebenso verfährt die Speicherverwaltung mit den übrigen Befehlen des Programms.
47 Die Anfangsadresse des freien Speicherbereichs nennt man auch Basisadresse. Für jede logische Adresse berechnet die Speicherverwaltung somit relativ zur Basisadresse eine neue physikalische Adresse. Auf Grund dessen bezeichnet man diese Methode der Adressierung auch als relative Adressierung.
48 5.4 Gestreute Adressierung Im Gegensatz zur relativen Adressierung muss sich bei der gestreuten Adressierung ein Prozess nicht zusammenhängend im Arbeitsspeicher befinden. Ein Prozess kann vielmehr in mehrere Bereiche eingelagert werden. Für jeden Bereich gibt es eine eigene Basisadresse. Diese Basisadressen sind in einer so genannten Adressumsetzungstabelle gespeichert. Die logischen Adressen werden bei der gestreuten Adressierung in zwei Teile zerlegt: in einen Index und einen Offset. Anhand des Indexes kann man in der Adress- umsetzungstabelle die zugehörige Basisadresse finden. Auf diese Basisadresse wird dann, um die physikalische Adresse zu erhalten, nicht die gesamte logische Adresse sondern nur der Offset addiert (siehe Abbildung). Umrechnung anhand gestreuter Adressierung von logischen in physikalische Adressen
49 Ein Vorteil der gestreuten Adressierung ist, dass man kleine, freie Speicherbereiche nutzen kann, da der Prozess nicht zusammenhängend eingelagert werden muss. Nachteilig ist, dass man einen höheren Verwaltungsaufwand bezüglich der Basisadressen und der Umrechnung hat. Eine Art dieser Adressierung wird später im Lernmodul virtueller Speicher beim Paging und bei der Segmentierung verwendet.
50 5.5 Relokation Ein großer Vorteil des logischen Adressraums, sowohl bei der relativen als auch bei der gestreuten Adressierung ist, dass Prozesse durch die Speicherverwaltung sehr leicht verschoben werden können. Wird ein Prozess im Arbeitsspeicher verschoben, muss man nur die dazugehörigen Basisadressen ändern, um die neuen physikalischen Adressen berechnen zu können. Bei der relativen Adressierung beispielsweise muss pro Prozess, der verschoben wird, nur eine einzige Basisadresse ausgetauscht werden, damit die Umrechnung vom logischen in den physikalischen Adressraum noch funktioniert. Diese Verschiebung von Programmen anhand einer Basisadresse bezeichnet man auch als Relokation. Durch die Relokation werden Strategien wie Swapping ermöglicht. Interaktive Animation
51 5.6 Zusammenfassung In einem Speicher muss es möglich sein, jede einzelne Zelle zu lokalisieren. Dies wird durch eine eindeutige Adressierung realisiert. Die Speicherverwaltung sorgt dabei dafür, dass die Programmadressen beim Einlagern in den Arbeitsspeicher physikalische Adressen bekommen. Man unterscheidet dabei drei verschiedene Arten: die direkte, die relative und die gestreute Adressierung. Bei der direkten Adressierung werden die angegebenen Adressen eins zu eins an die Arbeitsspeicheradressen gebunden: physikalische Adresse = Programmadresse Diese physikalischen Adressen können nicht geändert werden. Das führt beim Mehrprogrammbetrieb zu Problemen, wenn verschiedene Prozesse auf denselben Speicherbereich zugreifen.
52 Um dies zu vermeiden, wurde ein logischer Adressraum für jedes Programm eingeführt. Dies vereinfacht gleichzeitig die Programmierung, da keine anderen Programme berücksichtigt werden müssen. Jede logische Programmadresse wird über eine bestimmte Basisadresse auf eine neue physikalische Arbeitsspeicheradresse abgebildet: physikalische Adresse = logische Adresse + Basisadresse Mit Hilfe dieser Basisadressen ist es sehr einfach Prozesse im Arbeitsspeicher zu verschieben (Relokation). Bei der relativen Adressierung wird ein Prozess zusammenhängend eingelagert. Die gestreute Adressierung teilt hingegen einem Prozess mehrere Bereiche im Arbeitsspeicher zu, in die der Prozess geladen wird.
Freispeicherverwaltung Martin Wahl,
Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen
MehrLeichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
MehrBesprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben
Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 13.01.2015 1 Klausur Termin: 10. März 2016, 13:00 Uhr Raum: Audimax, KG 2 4 ECTS Punkte 3 Klausuranmeldung Anmeldefrist: 31.01.2016 (Ausnahme:
MehrSpeicherverwaltung (Swapping und Paging)
Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
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
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrEchtzeitbetriebssysteme
Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom
Mehr5 Kernaufgaben eines Betriebssystems (BS)
5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard
Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrDATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)
DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3.
MehrProseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging
Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten
Mehr(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone
MehrPaging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
Mehr2.3 Prozessverwaltung
Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären
MehrProseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert
Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung
MehrFachbericht Thema: Virtuelle Speicherverwaltung
Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER
Mehr(Cache-Schreibstrategien)
Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei
Mehr1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?
Sommersemester 009 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 05 Abgabe am 0.07.009 (Kästen D) Aufgabe : Speicherzuteilung (6++=8 Punkte) Es sei der
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch
MehrSpeicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann
Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien
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
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrBetriebssysteme Teil 10 B: Fragen rund um Seitenfehler
Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden
MehrLösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
MehrÜbung zu Einführung in die Informatik # 10
Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),
MehrIn heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher
Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
MehrBasisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme
Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III
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
MehrGrundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
MehrLinker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrGrundlagen Algorithmen und Datenstrukturen Kapitel 13
Grundlagen Algorithmen und Datenstrukturen Kapitel 13 Christian Scheideler + Helmut Seidl SS 2009 18.07.09 Kapitel 6 1 Speicherverwaltung Drei Ansätze: Allokiere neue Objekte auf einem Keller. Gib nie
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
MehrDefinitionen zum Verschnitt
Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener
MehrKonzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005
Konzepte von Betriebssystem- Komponenten Olessia Usik olessia@freenet.de 20. Juni 2005 1 GROß 2 SCHNELL UNENDLICH Gliederung 1. Einleitung 2. Swapping 3. Virtuelle Speicherverwaltung 3.1 Segmentorientierter
MehrWunschvorstellung der Entwickler vom Speicher
Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrTechnische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
MehrKlausur zum Kurs Betriebssysteme (1802) am 18. September 2010
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 31.01.08 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches Anmeldung Hauptklausur : allerspätestens
MehrKonzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
MehrÜberschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012
Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
Mehr6. Zeiger Allgemeines Definition eines Zeigers
6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.
MehrBeim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:
1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address
Mehr5.5.5 Der Speicherverwalter
5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)
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
MehrNotizen-Neuerungen PC- HAUPTSPEICHER
PC- HAUPTSPEICHER Einleitung...2 Erklärung... 2 Technische Grundlagen... 3 Die Vorläufer der heutigen Speicherarten...4 Von SDRAM zu DDR RAM und RDRAM... 5 Die Unterschiede zwischen SDRAM und DDR RAM...
Mehr(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
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
MehrLösung von Übungsblatt 5
Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus
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
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
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
Mehr(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
Mehr9) Speicherverwaltung
Inhalte Speicherhierarchien Speicherzuteilung Adressbildung Lineare Adressbildung mit statischer/dynamischer Zuteilung (Segmentierung) Kompaktifizierung Lineare Adressbildung mit virtueller Adressierung
MehrBetriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404
Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme
Mehré Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus
4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts
Mehr4.3 Hintergrundspeicher
4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower
Mehre) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?
Aufgabe 1: (1) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
Mehr6.Vorlesung Grundlagen der Informatik
Christian Baun 6.Vorlesung Grundlagen der Informatik Hochschule Darmstadt WS1112 1/42 6.Vorlesung Grundlagen der Informatik Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de
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 4 Cache el0100 copyright W.
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
Mehr2.3.2 Fenster verschieben Fenster überlappen
PC EINSTEIGER Das Betriebssystem 2.3.2 Fenster verschieben Wenn das Fenster nicht durch MAXIMIEREN in den Vollbildmodus gestellt wurde, können Sie das Fenster auf Ihrem Desktop frei verschieben. Platzieren
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrSysteme 1. Kapitel 3 Dateisysteme WS 2009/10 1
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrGrundlagen der Informatik
Grundlagen der Informatik Logische und mathematische Grundlagen Digitale Daten Computerprogramme als Binärdaten von Neumann-Rechnerarchitektur Einführung in Maschinen-Code Speicherorganisation Betriebssysteme
MehrVorlesung Rechnerarchitektur. Einführung
Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher
MehrBetriebssysteme (BS) Speicherverwaltung. Olaf Spinczyk 1.
Betriebssysteme (BS) Speicherverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk 1 olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os 1 In Zusammenarbeit mit Franz Hauck,
MehrBetriebssysteme (BS) Inhalt. Speicherverwaltung. Olaf Spinczyk 1.
Betriebssysteme (BS) Speicherverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk 1 olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os 1 In Zusammenarbeit mit Franz Hauck,
MehrA ProgrAmmer s Guide to KIM Programming
A ProgrAmmer s Guide to KIM Programming by Erik Bartmann - Vers. 0.1 2 - Erste Befehle Erste Befehle Nun wird es aber Zeit, dass wir unser erstes Programm schreiben und wir werden hier einiges über die
MehrRAM - Random Access Memory
RAM - Random Access Memory Random Access Memory (dt. Speicher mit wahlfreiem Zugriff), abgekürzt RAM, ist ein Speicher, der besonders bei Computern als Arbeitsspeicher Verwendung findet. RAMs werden als
MehrTechnische Informatik 1 - HS 2017
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen
MehrVorlesung Betriebssysteme
Kapitel VI Speicherverwaltung Vorlesung Betriebssyst 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes
MehrVorlesung Programmieren
Vorlesung Programmieren 17 Vom Programm zur Maschine Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrAufgabe 4 : Virtueller Speicher
Sommer 216 Technische Informatik I Lösungsvorschlag Seite 16 Aufgabe 4 : Virtueller Speicher (maximal 27 Punkte) 4.1: Generelle Funktionsweise (maximal 5 Punkte) (a) (1 Punkt) Nennen Sie zwei Gründe, weshalb
MehrHauptspeicherverwaltung - Memory Management
Hauptspeicherverwaltung - Memory Management Operating Systems I SS21 Prof. H.D.Clausen - unisal 1 Speicherhierarchie Verarbeitung cache Sekundär- Speicher Primär- Speicher ALU SS21 Prof. H.D.Clausen -
MehrKlausur zum Kurs Betriebssysteme (1802) am 19. September 2009
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake FernUniversität in Hagen 58084 Hagen Vorname Name Straße Hausnr. Informatikzentrum Universitätsstr. 1 58084
MehrSchreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
MehrLösungsvorschlag für Übung September 2009
Universität Mannheim Vorlesung Betriebssysteme Lehrstuhl für Praktische Informatik 1 Herbstsemester 2009 Prof. Dr. Felix Freiling Dipl.-Inform. Jan Göbel Lösungsvorschlag für Übung 2 25. September 2009
MehrIn diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.
1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrÜbung zu Grundlagen der Betriebssysteme. 11. Übung
Übung zu Grundlagen der Betriebssysteme 11. Übung 08.01.2012 Organisation Anmeldung zur Klausur Klausur Grundlagen der Betriebssysteme Datum: 05.02.2013 Raum F414 (steht aber noch nicht sicher fest) Anmeldung
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen
MehrKonzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.
Proseminar KVBK Programmstart dynamische Bibliotheken Konzepte von Betriebssystem-Komponenten Programmstart & dynamische Bibliotheken SS 05 Wladislaw Eckhardt Wladi23@gmx.net 1 1 Einleitung 1.1 Problematik
MehrKapitel. Platzhalter. Was sind Platzhalter?
Kapitel 3 Was sind? sind ganz wichtige Elemente bei der Programmierung. Alle Programme, die du schon kennst (wie beispielsweise die Textverarbeitung WORD oder ein Programm zum Verschicken von E-Mails),
MehrEarly first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement
Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Max Haslbeck Technische Universität München 20.01.2015 Zusammenfassung 1 Einleitung 2 Begriffsklärung Heutzutage
MehrLösungsskizzen zur Abschlussklausur Betriebssysteme
Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,
MehrBetriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme
Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist
Mehr