Über mich. Betriebssysteme Tutorium 1. Organisatorisches I. Was machen wir heute? Tutorien Wöchentliches Tut-Blatt Vorbereitung auf Theorieblätter

Ähnliche Dokumente
Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Wie groß ist die Page Table?

Grundlagen der Rechnerarchitektur

Grundlagen Rechnerarchitektur und Betriebssysteme

Technische Informatik 1

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

Echtzeit-Multitasking

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Betriebssysteme Vorstellung

Tutorium Rechnerorganisation

Einführung in die technische Informatik

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

UNIX Dateirechte. Michael Hartmann. 7. Oktober Linux User Group Augsburg

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Operating System Kernels

Technische Informatik 2 Speichersysteme, Teil 3

Rechnernutzung in der Physik. Betriebssysteme

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

L3. Datenmanipulation

OPERATIONEN AUF EINER DATENBANK

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Codesigned Virtual Machines

Speicherverwaltung (Swapping und Paging)

Betriebssysteme Kap A: Grundlagen

, SS2012 Übungsgruppen: Do., Mi.,

Betriebssysteme (BS)

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

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

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

Tutorium Rechnerorganisation

Threads and Scheduling

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

5 Speicherverwaltung. bs-5.1 1

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

EIBPORT INBETRIEBNAHME MIT DEM BROWSER / JAVA EINSTELLUNGEN / VORBEREITUNGEN AM CLIENT PC

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16


Kapitel 9 Hauptspeicherverwaltung

Projekt für Systemprogrammierung WS 06/07

4D Server v12 64-bit Version BETA VERSION

Vorlesung Rechnerarchitektur. Einführung

, WS2012 Übungsgruppen: Mo., Do.,

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert 20. Juni 2007

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Softwarelösungen: Versuch 4

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

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

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

Lösungsvorschlag zur 5. Übung

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Prozesse: Prozesskontrollblock, -zustände, -umschaltung

Linux Arbeitsspeicheranalyse

Vorlesung Betriebssysteme I

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Betriebssysteme (BTS)

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

Instruktionssatz-Architektur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Praktikum 1: Parallel Computing Hardware

Rechner Architektur. Martin Gülck

Praktikum Mikrorechner 3 (Adressierungsarten)

Einführung in die Systemprogrammierung

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife

Übung zu Grundlagen der Betriebssysteme. 13. Übung

Informatik für den Satellitenbau. Toolchains und Crosscompiler

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

Grundlagen der Informatik

G Einführung in Betriebssysteme

Prüfungsvorleistung Datenstrukturen

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

Die Mikroprogrammebene eines Rechners

Grundkurs Betriebssysteme

Karlsruher Institut für Technologie

Linux Paging, Caching und Swapping

CA Übung Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at

4.3 Hintergrundspeicher

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

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester

VERSION 5.1/5.2 KURZANLEITUNG FÜR WINDOWS 32-BIT

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006

Systeme 1. Kapitel 10. Virtualisierung

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

1. Übung zu "Numerik partieller Differentialgleichungen"

Daten, Dateien, Datenspeicher

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

FAKULTÄT FÜR INFORMATIK

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Transkript:

Über mich Betriebssysteme Tutorium 1 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 8. Oktober 009 Studium der Informatik (Diplom) 7. Semester Vertiefungsgebiete Betriebssysteme Rechnerarchitektur Eingebettete Systeme Mikro- und Nanoelektronik Bei Fragen: philipp.kirchhofer@student.kit.edu Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 1 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 / 34 Was machen wir heute? Organisatorisches I 1 Organisatorisches Theorieblätter Programmieraufgaben Schein Tutorien Übungsblatt Linux Basics Bits & Bytes OS Basics Hardware Basics Tutorien Wöchentliches Tut-Blatt Vorbereitung auf Theorieblätter Rückgabe der korrigierten Theorieblätter Fragen & en zum Stoff Folien sind unter http://www.stud.uni-karlsruhe.de/ uxbtt/ verfügbar Theorieblätter Erscheinen 14-tägig Bearbeitung in Gruppen möglich, aber einzelne Abgabe Abgabe im Briefkasten am IBDS (Infobau, Erster Stock, Nordflügel) Rückgabe der korrigierten Blätter im Tutorium Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 3 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 4 / 34

Organisatorisches II Programmieraufgaben 3 Stück Synchronisation und Deadlocks Speicherverwaltung Systemaufrufe Erweiterung von OS/161 (MIPS basiertes Betriebssystem) Literaturhinweise: C von A bis Z, Galileo Computing (Einführung in C) MIPS R000 Befehlssatz Programming Assignment 0 Abgabe in Zweiergruppen, Anmeldung bis 18. November per Mail an Tutor Name und Matrikelnummer der Gruppenteilnehmer, Gruppenname Lösung (kompletter Sourcecode, kein Diff, komprimiert) vor Ablauf der jeweiligen Deadline an philipp.kirchhofer@student.kit.edu und Kopie (CC) an os161@ira.uka.de Korrektur: Funktionalität & Demonstration Organisatorisches III Punkte Bachelor Schein nötig zum Bestehen des Moduls Mindestens 100 Punkte für Schein notwendig Insgesamt 190 Punkte erreichbar 10 aus Theorieblättern 70 aus Programmieraufgaben Bonusregelung: Mindestens 110 Punkte 1 Bonuspunkt Mindestens 130 Punkte Bonuspunkte Mindestens 150 Punkte 3 Bonuspunkte Mindestens 170 Punkte 4 Bonuspunkte Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 5 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 6 / 34 Organisatorisches IV Tutorien Übungsblatt - Linux Basics Punkte Diplom Kein Schein nötig Klausurbonus wie bei Bachelor Punkte vom Vorjahr: Maximum aus Gesamtbonuspunkten von früheren und aktuellen Gesamtbonuspunkten Frage 1.1.a Was ist eine Shell? Eine Shell ist ein text-basiertes Programm, mit dessen Hilfe der Benutzer mit dem Betriebssystem interagieren kann. Die grundlegenden Funktionalitäten einer Shell beinhalten Funktionen zum Anzeigen und Verändern des Dateisystems sowie der Aufruf von weiteren Anwendungen. Linux Standard-Befehle Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 7 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 8 / 34

Tutorien Übungsblatt - Linux Basics Tutorien Übungsblatt - Linux Basics Frage 1.1.b Wie kann man unter Linux einfach Hilfe für ein Programm erhalten? Mit dem Programm man kann man die Hilfeseiten (man pages) für Programme anzeigen lassen. Frage 1.1.c Wie kann man einfach nach Dateien suchen? Für das Suchen von Dateien, die bestimmte Kriterien erfüllen sollen, kann man das Programm find benutzen. Beispiel Um eine Datei syscalls.c zu suchen wechselt man in das Hauptverzeichnis des Projektes und führt den folgenden Befehl aus: find. -name syscalls.c Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 9 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 10 / 34 Tutorien Übungsblatt - Linux Basics Tutorien Übungsblatt - Linux Basics Frage 1.1.d In einem Projekt sind mehrere C Quelltextdateien in verschiedenen Unterverzeichnissen verteilt. Wie kann man einfach nach dem Makro FOOBAR in diesen Dateien suchen? find. -name *.c xargs grep FOOBAR Mit Hilfe einer Pipe können Ein- und Ausgabe von mehreren Programmen miteinander verkettet werden. Frage 1.1.e Welche Schritte sind für die Erzeugung eines ausführbaren Programms aus mehreren C Quelltextdateien notwendig? 1 Die Quelltextdateien werden einzeln übersetzt, daraus entstehen mehrere Objektdateien. Eine Objektdatei enthält Maschinencode, aber auch noch nicht aufgelöste Verweise auf Symbole (Funktionsaufrufe, Variablen) in anderen Objektdateien. Alle Objektdateien werden zu einem ausführbaren Programm gelinkt. Während dem Linken werden Symbole zu realen Speicher-Adressen oder -Bereichen aufgelöst. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 11 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 1 / 34

Tutorien Übungsblatt - Linux Basics Frage 1.1.f Was macht das Programm make? make vereinfacht das Erstellen von Programmen aus mehreren Quelltextdateien. Informationen über die verschiedenen Erzeugungsschritte und deren Abhängigkeiten werden in der Datei Makefile gespeichert. Beispiel: Makefile Grundlagen der Bitarithmetik Bit-Shift (<< und >>) Bitweise Negation ( ) Bitweises AND ( ) Bitweises OR (&) TARGET: d e p e n d e n c i e s command 1 command command n Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 13 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 14 / 34 (Logischer) Linksshift MSB LSB 7 6 5 4 3 1 0 0 0 0 1 0 1 1 1 (Logischer) Rechtsshift MSB LSB 7 6 5 4 3 1 0 0 0 0 1 0 1 1 1 AND/OR Funktion A B A B A B 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 Abbildung: 00010111 << 1 0 0 0 0 0 0 1 0 1 1 Abbildung: 00010111 >> 1 Bitweises AND/OR Anwendung der AND bzw. OR Funktion bitweise auf zwei gegebene Eingabewerte Bitweise Negation Bitweise Invertierung eines Eingabewertes Beispiel: Bitweises AND 10100101 & 01100011 00100001 Beispiel: Bitweises OR 10100101 01100011 11100111 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 15 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 16 / 34

Frage 1..a Weshalb ist es manchmal notwendig einzelne Bits in einem Integer Wert zu setzen oder zu löschen? Hardwaregeräte definieren oft Gruppen von Speicherbereichen, in denen jedes Bit eine besondere Bedeutung hat. Durch das Setzen und Löschen von Bits kann das Hardwaregerät vom Betriebssystem gesteuert werden. Auch im Betriebssystem selber kommen Bitgruppen vor: In der Speicherverwaltung wird z.b. der Schreibschutz einer Seite im Hauptspeicher von einem einzelnen Bit aktiviert oder deaktiviert. Weiterhin kann Speicherplatz für die Verwaltung von Informationen gespart werden, bei einer einfachen Block-basierten Speicherverwaltung reicht ein Bit aus, um einen bestimmten Block als frei oder belegt zu kennzeichnen. Frage 1..b Wie kann man ein Bit eines Integer Wertes setzen? result value (1 << i); Frage 1..c Wie kann man ein Bit eines Integer Wertes löschen? result value & ~(1 << i); Die verschiedenen Speicherverwaltungsformen werden in einem späteren Tutorium genauer behandelt. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 17 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 18 / 34 Tutorien Übungsblatt - OS Basics Frage 1..d Wie kann man die Bits bis 5 eines Integer Wertes erhalten? result value & (0xF << ); Frage 1.3.a Was ist der Unterschied zwischen einer Strategie (policy) und einem Mechanismus (mechanism)? Eine Strategie beschreibt, wie ein bestimmtes Ziel erreicht werden soll. Mechanismen werden eingesetzt um eine Richtlinie umzusetzen. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 19 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 0 / 34

Tutorien Übungsblatt - OS Basics Beispiel: Supermarkt Ziele Personalkosten minimieren Kunden dürfen nicht zu lange an der Kasse warten Strategie Solange an der Warteschlange nur wenige Kunden anstehen wird eine Kasse geöffnet. Wenn die Warteschlange zu lang werden sollte wird eine weitere Kasse geöffnet. Mechanismus Mit einem Mikrofon können weitere Mitarbeiter an die Kassen gerufen werden. Tutorien Übungsblatt - OS Basics Frage 1.3.b Was sind die Hauptaufgaben eines Betriebssystems? Abstraktion Ein Betriebssystem soll Hardwareeigenheiten vor Anwendungen/Anwendungsprogrammierer/Benutzer verbergen. Ressourcen-Management Ressources müssen in einer fairen Art und Weise zwischen Anwendungen/Benutzern verteilt werden. Sicherheit & Schutz Unterschiedliche Anwendungen dürfen sich nicht gegenseitig stören. Private Daten eines Benutzers dürfen nicht ohne Genehmigung anderen Benutzern zugänglich gemacht werden. Bereitstellung einer Umgebung für die Ausführung von Programmen Dieser Punkt ist das zentrale Ziel von Betriebssystemen, die vorher genannten Punkte werden für die Erfüllung vorrausgesetzt. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 1 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 / 34 Frage 1.4.a Was sind die Unterschiede zwischen den Prozessormodi Kernel-Modus (kernel mode) und Benutzer-Modus (user mode)? Weshalb werden beide Modi gebraucht? Im Benutzer-Modus können nur nichtprivilegierte Befehle ausgeführt werden. Das Ausführen eines privilegierten Prozessor-Befehls führt im Benutzer-Modus zu einer Ausnahme (exception) des Typs privileged instruction violation. In den meisten Fällen wird bei der Ausnahmebehandlung das Programm, das die Ausnahme verursacht hat abgebrochen. Im Kernel-Modus erlauben die meisten Prozessoren die Ausführung aller Befehle. Manche Aktivitäten, die das System kontrollieren und verwalten, können nur im Kernel-Modus ausgeführt werden. Der Kernel-Modus ist notwendig, damit verhindert werden kann, dass Programme das System für ihre eigenen Zwecke umkonfigurieren können und damit andere Programme benachteiligen können. Ergänzungsfrage Was sind typische privilegierte Befehle? Weshalb sind diese privilegiert? Privilegierte Befehle fallen häufig in folgende Klassen: Kontroll-Register verändern Interrupts an- oder ausschalten Geräte, die privilegiert sind, ansprechen Wenn diese Befehle nicht privilegiert wären könnte ein Anwendungsprogramm kritische Systemzustände verändern, seine Privilegien erhöhen, Sicherungen umgehen oder Systemeigenschaften wie Stabilität kompromitieren. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 3 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 4 / 34

Ergänzungsfrage Bei einem Systemaufruf werden Parameter an den Betriebssystem-Kern übergeben. Wie kann dies umgesetzt werden? Die Übergabe der Parameter eines Systemaufrufs funktioniert ähnlich wie bei dem Aufruf einer Funktion in einem Anwendungsprogramm. Parameter können deshalb in Registern, vordefinierten Speicherbereichen oder dem Stack übergeben werden. Die Übergabe via Register ist der schnellste Weg, allerdings ist die Anzahl der Register limitiert. Bei der Übergabe via Hauptspeicher können mehr Parameter übergeben werden, allerdings kommen zusätzliche Speicherzugriffe dazu. Frage 1.4.b Was sind die Grundlagen und Vorteile einer Speicherhierarchie? Eine Speicherhierarchie bezeichnet die Anordnung von Arbeits- und Datenspeichern verschiedener Technologie nach sinkender Zugriffsgeschwindigkeit und steigender Speicherkapazität in einer Rechnerarchitektur. Der Hauptvorteil ist die bessere Organisation des Speichers, es können z.b. zur Optimierung der Zugriffszeiten auf häufig benötigte Daten Speicherinhalte innerhalb der Hierarchie verschoben werden. Beispiel: Speicherhierarchie 1 L1-Cache L-Cache 3 Arbeitsspeicher 4 Massenspeicher Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 5 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 6 / 34 Frage 1.4.b Welches typische Programmverhalten deckt sich mit den Vorteilen einer Speicherhierarchie? Programme besitzen häufig die folgenden Lokalitätseigenschaften: Zeitliche Lokalität: In einem gewissen Zeitabschnitt werden Bereiche der Befehls- oder Datenmenge häufig durchlaufen. Örtliche Lokalität: Befehls- oder Datenzugriffe finden auf einem kleinen Bereich des gesamten Adressraums statt. Beispiel: Stack für lokale Variablen Beim Aufruf einer Funktion wird der Stack für die lokalen Variablen der Funktion erweitert. Diese lokale Variablen liegen im Speicher nebeneinander ( Örtliche Lokalität) werden häufig verändert ( Zeitliche Lokalität) Frage 1.4.c Die kleinste Verwaltungseinheit innerhalb des Caches eines Prozessors ist ein Cache-Block (oder Cache-Line). Dieser Cache-Block ist häufig mehrere Wörter groß. Weshalb ist der Cache in diese Cache-Blöcke geteilt? Aufgrund der Lokalitätseigenschaften von Programmen ist es geschickt, große Mengen an Daten gleichzeitig neu im Cache zu speichern. Zusätzlich können bei großen Blockgrößen Daten schneller aus dem Hauptspeicher übertragen werden als mit vielen Zugriffen mit kleinen Blockgrößen. Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 7 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 8 / 34

Einführung Cache-Organisation (weitere Informationen in TI II bzw. Rechnerorganisation) Cache-Blöcke werden in Cache-Zeilen zusammengefasst Cache-Zeilen werden in Sätzen geordnet Für die Anordnung gibt es verschiedene Ansätze. 31 Beispiel: Vollassoziativer Cache Adresse 0 8 Tag Tag Wort-Anwahl V D Byte-Auswahl im Wort 0 1 Kapazität: 56 Byte Block 4 Wörter 16 Byte Block 15 Tag-Hit Valid-Hit UND 3 3 3 3 3 von/zum Datenbus Institut für Technische Informatik (ITEC) Prof. Dr. W. Karl & Dr.-Ing. T. Asfour 14-9 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 9 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 30 / 34 Beispiel: Direct-mapped-Cache 31 Adresse 0 Kapazität: 56 Byte Block 4 Wörter 16 Byte Tag Index Byte-Auswahl im Wort 4 4 Zeilen-Auswahl Wort-Anwahl Beispiel: -way-set-assoziativer Cache 31 Adresse 0 Kapazität: 56 Byte Block 4 Wörter 16 Byte Tag Index Byte-Auswahl im Wort 5 3 Satz-Anwahl Wort-Anwahl 0 Tag V D 1 Block Set 0 Tag V D Block Set 1 15 Set 7 Valid-Hit Tag-Hit UND 3 3 3 3 3 von/zum Datenbus Valid-Hit Tag-Hit UND 3 3 3 3 3 von/zum Datenbus Institut für Technische Informatik (ITEC) Prof. Dr. W. Karl & Dr.-Ing. T. Asfour 14-34 Institut für Technische Informatik (ITEC) Prof. Dr. W. Karl & Dr.-Ing. T. Asfour 14-38 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 31 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 3 / 34

Fragen & Kommentare Ende Fragen & Kommentare? xkcd: Can t Sleep Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 33 / 34 Philipp Kirchhofer (UKA/SysArch) Betriebssysteme 8. Oktober 009 34 / 34