Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler

Größe: px
Ab Seite anzeigen:

Download "Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler"

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, 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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse 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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung 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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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

Mehr

RO-Tutorien 15 und 16

RO-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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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:

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (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

Mehr

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

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

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme 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

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme 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

Mehr

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

DATEIVERWALTUNG 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.

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar 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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme 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?

(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

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. 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

Mehr

2.3 Prozessverwaltung

2.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

Mehr

Proseminar 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 Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht 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)

(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

Mehr

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

1. 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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 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

Mehr

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Speicher- 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

Mehr

Einführung in die technische Informatik

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

Mehr

RO-Tutorien 17 und 18

RO-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

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme 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

Mehr

Lösung von Übungsblatt 2

Lö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 Ü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),

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In 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

Mehr

Virtueller Speicher und Memory Management

Virtueller 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

Mehr

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Basisinformationstechnologie 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

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

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

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen 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,

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: 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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Grundlagen Algorithmen und Datenstrukturen Kapitel 13

Grundlagen 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

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

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

Mehr

Definitionen zum Verschnitt

Definitionen 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

Mehr

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

Konzepte 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

Mehr

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung 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

Mehr

Echtzeit-Multitasking

Echtzeit-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

Mehr

Echtzeit-Multitasking

Echtzeit-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

Mehr

Technische 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 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

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Klausur 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:

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik 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

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte 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 Ü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

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Ü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

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

6. 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.

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim 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

Mehr

5.5.5 Der Speicherverwalter

5.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)

Mehr

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

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

Mehr

Notizen-Neuerungen PC- HAUPTSPEICHER

Notizen-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)

(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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Lösung von Übungsblatt 5

Lö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 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Wie groß ist die Page Table?

Wie 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

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

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

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(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

Mehr

9) Speicherverwaltung

9) Speicherverwaltung Inhalte Speicherhierarchien Speicherzuteilung Adressbildung Lineare Adressbildung mit statischer/dynamischer Zuteilung (Segmentierung) Kompaktifizierung Lineare Adressbildung mit virtueller Adressierung

Mehr

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme 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

é 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

Mehr

4.3 Hintergrundspeicher

4.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

Mehr

e) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?

e) 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

Mehr

6.Vorlesung Grundlagen der Informatik

6.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

Mehr

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

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

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung 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

Mehr

2.3.2 Fenster verschieben Fenster überlappen

2.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

Mehr

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. 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

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 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

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

Grundlagen der Informatik

Grundlagen 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

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung 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

Mehr

Betriebssysteme (BS) Speicherverwaltung. Olaf Spinczyk 1.

Betriebssysteme (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,

Mehr

Betriebssysteme (BS) Inhalt. Speicherverwaltung. Olaf Spinczyk 1.

Betriebssysteme (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,

Mehr

A ProgrAmmer s Guide to KIM Programming

A 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

Mehr

RAM - Random Access Memory

RAM - 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

Mehr

Technische Informatik 1 - HS 2017

Technische 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

Mehr

Vorlesung Betriebssysteme

Vorlesung 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

Mehr

Vorlesung Programmieren

Vorlesung 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),

Mehr

Aufgabe 4 : Virtueller Speicher

Aufgabe 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

Mehr

Hauptspeicherverwaltung - Memory Management

Hauptspeicherverwaltung - 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 -

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 19. September 2009

Klausur 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

Mehr

Schreiben 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). 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

Mehr

Lösungsvorschlag für Übung September 2009

Lö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

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In 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?

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei 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 Ü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

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen 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

Mehr

Konzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.

Konzepte 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

Mehr

Kapitel. Platzhalter. Was sind Platzhalter?

Kapitel. 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),

Mehr

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement

Early 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

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lö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,

Mehr

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Betriebssysteme. 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