Podcast Beta
Questions and Answers
Was war der Preis pro Gigabyte für Festplatten im Jahr 2005?
John von Neumann wurde als Begründer der modernen Rechnerarchitektur angesehen.
True
Nennen Sie die vier Hauptkomponenten des ‚Universalrechners‘.
Steuerwerk, Rechenwerk, Speicherwerk, Ein/Ausgabewerk
Der __________-Bus wird zur Steuerung der Zusammenarbeit der einzelnen Baugruppen verwendet.
Signup and view all the answers
Ordnen Sie die Bustypen ihren Eigenschaften zu:
Signup and view all the answers
Was beschreibt die Von Neumann Architektur?
Signup and view all the answers
Alle Busse eines Computers sind bidirektional.
Signup and view all the answers
Was war der Preis pro Gigabyte für RAM im Jahr 2010?
Signup and view all the answers
Was ist ein Hauptbestandteil der monolithischen Architektur?
Signup and view all the answers
Bei einer Mikrokern Architektur werden die Systemdienste in einem einzigen Programm zusammengeführt.
Signup and view all the answers
Nennen Sie einen Nachteil des Client-Server-Modells im Zusammenhang mit der Mikrokern Architektur.
Signup and view all the answers
Die _____________ isoliert die Eigenschaften einer Rechenplattform.
Signup and view all the answers
Ordnen Sie die folgenden Speicherbereiche den richtigen Beschreibungen zu:
Signup and view all the answers
Was macht die Funktion 'write' in Unix?
Signup and view all the answers
Der Laufzeitstack ist ein statisch reservierter Speicherbereich für Variablen.
Signup and view all the answers
Welche Funktion wird im Zusammenhang mit der monolithischen Architektur verwendet, um die Bildschirmausgabe aufzurufen?
Signup and view all the answers
Was passiert, wenn alle fünf Philosophen gleichzeitig die Stäbchen greifen wollen?
Signup and view all the answers
Verklemmungen treten auf, wenn keine exklusiven Ressourcen mehr zur Verfügung stehen.
Signup and view all the answers
Nenne eines der Bedingungen, die erfüllt sein müssen, damit eine Verklemmung auftritt.
Signup and view all the answers
Ein _____________ ist ein Graph, der aus Prozess- und Ressourcenknoten besteht.
Signup and view all the answers
Ordne die Begriffe ihren Erklärungen zu:
Signup and view all the answers
Welcher Algorithmus wird als Vogel-Strauß-Algorithmus bezeichnet?
Signup and view all the answers
Das 'Alles oder nichts'-Verfahren erlaubt es Prozessen, Ressourcen einzeln anzufordern.
Signup and view all the answers
Was sind die Nachteile des exklusiven Zugriffs auf Ressourcen?
Signup and view all the answers
Was geschieht bei der Übersetzungszeit?
Signup and view all the answers
Dynamisches Laden bedeutet, dass Programmteile bei Bedarf in den Hauptspeicher geladen werden.
Signup and view all the answers
Was ist eine Relokations-Tabelle?
Signup and view all the answers
Die CPU arbeitet mit __________, während der Hauptspeicher mit __________ arbeitet.
Signup and view all the answers
Ordne die folgenden Begriffe den passenden Beschreibungen zu:
Signup and view all the answers
Was ist eine wichtige Voraussetzung für die Adressbindung zur Ausführungszeit?
Signup and view all the answers
Die MMU wandelt physikalische Adressen in logische Adressen um.
Signup and view all the answers
Was passiert, wenn ein Prozess zur Ausführungszeit im Hauptspeicher verlagert wird?
Signup and view all the answers
Was ist ein Seitenfehler?
Signup and view all the answers
Die Segmente im Hauptspeicher sind immer gleich groß.
Signup and view all the answers
Was ist die Aufgabe einer Seitentabelle?
Signup and view all the answers
Die ___________ beschreibt eine Strategie, bei der die am längsten nicht verwendete Seite ausgelagert wird.
Signup and view all the answers
Ordne die Auslagerungsstrategien den entsprechenden Beschreibungen zu:
Signup and view all the answers
Was beschreibt das Working-Set Modell?
Signup and view all the answers
Trashing beschreibt einen Zustand, in dem der Betriebssystem ständig Seiten ein- und auslagert.
Signup and view all the answers
Nenne eine Strategie der globalen Auslagerung.
Signup and view all the answers
Study Notes
Technische Fortschritte
- Die Kosten pro Gigabyte für Festplatte und RAM sind innerhalb der letzten 25 Jahre enorm gesunken.
- Im Jahr 1990 betrugen die Kosten für 1 Gigabyte Festplattenspeicher 53.000 US-Dollar.
- Im Jahr 2015 kostete 1 Gigabyte nur noch 0.04 US-Dollar.
- Die Entwicklungen bei RAM zeigen ein ähnlich starkes Absinken der Kosten.
Von Neumann Architektur
- Die Von Neumann Architektur beschreibt den Aufbau eines Computers, der als „Universalrechner", bezeichnet wird.
- Das Konzept wurde in den 1940er Jahren von John von Neumann, einem ungarischen Mathematiker, entwickelt und ist bis heute die Grundlage für fast alle Computer.
- Ein „Universalrechner" besteht aus folgenden Komponenten:
- Steuerwerk
- Rechenwerk
- Speicherwerk
- Ein-/Ausgabewerk
- Die Komponenten werden über ein Verbindungssystem (Bus) miteinander verknüpft.
Bustypen
- Es gibt drei Arten von Bussen:
- Adress-Bus (A-Bus): unidirektional, zur Auswahl von Speicherzellen, Bausteinen und E/A-Registern
- Daten-Bus (D-Bus): bidirektional, 8-64 Leitungen, zum Datentransport
- Steuer-Bus (Control-Bus, S-Bus): verschiedene Übertragungsrichtungen, jede Leitung für sich, unidirektional, zur Steuerung der Zusammenarbeit der einzelnen Baugruppen
Busse
- Ein Bus ist ein System mehrerer paralleler Leitungen, wobei die „Busbreite", durch die Anzahl der Leitungen definiert ist.
- An einen Bus können mehrere Funktionseinheiten angeschlossen werden, die über den Bus miteinander kommunizieren.
- Der Informationsaustausch erfolgt zeitmultiplex, d.h. zu jedem Zeitpunkt sind nur zwei Einheiten, ein Sender und ein Empfänger, verbunden.
Interne und Externe Busse
- Eine Hierarchie unterschiedlicher Busse verbindet die verschiedenen Komponenten eines Computersystems.
- Ein CPU-internes Bussystem verbindet die CPU-Komponenten.
- Der Systembus verbindet die CPU, den Hauptspeicher und E/A-Komponenten.
- Weitere Busse ermöglichen den Anschluss von Geräten die Bus-kompatibel sind, z.B. USB (Universal Serial Bus) und PCI (Peripheral Component Interconnect).
Von Neumann Architektur
- Die Von Neumann Architektur ermöglicht es, dass sowohl Daten als auch Befehle im gleichen Speicher abgelegt werden.
- Der Computer kann so effizienter Daten verarbeiten.
Aufbau eines Betriebssystems
- Es gibt zwei Architekturmodelle für Betriebssysteme:
- Monolithische Architektur
- Mikrokern Architektur
Monolithische Architektur
- Die klassische Architektur für Betriebssysteme, bei der alle Funktionen in einem einzigen Programm zusammengefasst sind.
- Anwender können Funktionen wie aus einer Standardbibliothek aufrufen.
- Ein Beispiel: Ein Programm ruft eine Bildschirmausgabe-Funktion auf, welche über einen „Supervisor Call", kurz SCV oder „Trap", das Betriebssystem aufruft.
- Der „Systemaufruf", bewirkt eine Hardware-Unterbrechung der Anwendungsausführung, die an das Betriebssystem übergeben wird.
- Der Kernelmodus, der nun die CPU im privilegierten Modus kontrolliert, führt die Funktion aus und gibt die Kontrolle schließlich wieder an den Usermodus zurück, der keinen privilegierten Zugriff hat.
Mikrokern Architektur
- Ein modernerer Ansatz, bei dem Systemdienste auf mehrere Programme aufgeteilt werden.
Vor- und Nachteile der Architekturmodelle
- Die Modularisierung von Betriebssystemen in Richtung Mikrokern macht sie übersichtlicher, flexibler und einfacher zu verwalten.
- Allerdings kann die Effizienz durch die zusätzlichen Aufrufe im Client-Server-Modell beeinträchtigt werden.
Schichtmodell
- Innerhalb von monolithischen Betriebssystemen gibt es oft mehrere, aufeinander aufbauende Schichten.
- Die unteren Schichten sind hardwarespezifisch, während die oberen Schichten anwendungsorientiert und hardwareunabhängig sind.
Hardware-Abstraktionsschicht HAL (Hardware Abstraction Layer)
- Diese Schicht isoliert Funktionen und Eigenschaften des Computersystems.
- Die HAL ermöglicht so, verschiedene Hardware-Plattformen zu unterstützen.
Hardwaretreiber
- Ein Hardwaretreiber ist ein Software-Modul, das zur Steuerung von spezifischen Hardware-Komponenten dient.
- Hardwaretreiber ermöglichen dem Betriebssystem, mit der entsprechenden Hardware zu kommunizieren.
C -- Programm
- In einem C-Programm kann die Ansi-C-Bibliotheksfunktion „printf", für die Ausgabe verwendet werden.
- Diese Funktion ist unabhängig vom Betriebssystem.
- Die Funktion „write", die beispielsweise unter Unix verwendet wird, ist jedoch betriebssystemspezifisch.
- „Write" ruft Funktionen des Dateisystems auf und überträgt Daten in einen Cache-Bereich.
Prozesse
- Prozesse beschreiben die Ausführung eines Programms.
- Prozesse sind die kleinste Einheit, die Ressourcen vom Betriebssystem zugewiesen bekommt.
Prozesse und Threads -- Programmspeicher
- Der Programmspeicher enthält die folgenden Bereiche:
- Code: Maschienenbefehle, die aus dem Programmquelltext erzeugt wurden
- Statische Daten: Statisch reservierte Speicherbereiche für Variablen und Konstanten
- Laufzeitstack: Dynamisch verwalteter Speicher, der für die Aktivierung von Unterprogrammen benötigt wird
- „Programmkontext", oder „Enviroment": Enthält Argumente und Umgebungsvariablen
Verklemmungen
- Verklemmungen treten auf, wenn mehrere Prozesse gleichzeitig auf Ressourcen zugreifen wollen, die jedoch nur begrenzt verfügbar sind.
- Jeder Prozess wartet darauf, dass ein anderer Prozess die benötigte Ressource freigibt.
Bedingungen für Verklemmungen
- Verklemmungen entstehen, wenn alle folgenden Kriterien erfüllt sind:
- Ausschliesslichkeit: Eine Ressource kann nur von einem Prozess gleichzeitig genutzt werden.
- Reservieren und Warten: Ein Prozess behält die Ressource, auch wenn er sie gerade nicht benötigt.
- Keine Wegnahme: Ressourcen können nicht vom Betriebssystem entnommen werden.
- Gegenseitiges Warten: Prozesse warten aufeinander, bis die benötigte Ressource frei wird.
Ressourcenzuordnungsgraph
- Ein Ressourcenzuordnungsgraph veranschaulicht die Zuordnung von Ressourcen zu Prozessen.
- Wenn der Graph einen Zyklus enthält, liegt eine Verklemmungsituation vor.
Verklemmungsverfahren
- Es gibt verschiedene Verfahren, die Verklemmungen verhindern oder beheben sollen.
- Der „Vogel-Strauß-Algorithmus", oder „Ostrich"-Algorithmus wird von den meisten Betriebssystemen angewendet.
- Dieser Algorithmus verhindert Verklemmungen nicht aktiv, sondern ignoriert das Problem.
Vermeiden von Verklemmungen
- Um Verklemmungen zu vermeiden, sollen die Voraussetzungen für Verklemmungen nicht alle gleichzeitig erfüllt werden.
Exclusivzugriff
- Prozesse sollten Ressourcen, die nicht exklusiv genutzt werden, nicht blockieren.
Reservieren und Warten
- Ein Prozess sollte keine Ressourcen anfordern, wenn er bereits Ressourcen belegt hat.
Alles-oder-Nichts-Prinzip
- Ein Prozess sollte alle benötigten Ressourcen gleichzeitig anfordern.
Nachteile des Alles-oder-Nichts-Prinzips
- Ressourcen können unnötig lange belegt bleiben.
- Prozesse können auf Ressourcen warten und somit „verhungern".
Beispiel: Philosophenproblem
- Fünf Philosophen sitzen an einem runden Tisch und benötigen zwei Stäbchen zum Essen, die sich zwischen ihnen befinden.
- Wenn jeder Philosoph gleichzeitig das linke Stäbchen nimmt, werden nie zwei Stäbchen für einen Philosophen frei.
- Mit einem Mutex für gegenseitigen Ausschluss kann das Problem gelöst werden.
Programmausführung
- Bei der Ausführung eines Programms wird der Programmspeicher initialisiert.
- Der Programmzähler des Prozessors wird mit der Adresse der ersten Instruktion des Programms initialisiert.
- Die Kontrolle wird dann an das Programm übergeben.
Adresszuordnung
- Die Adresszuordnung, oder Adressbindung, kann zu verschiedenen Zeiten erfolgen.
- Es gibt drei Arten der Adresszuordnung:
- Übersetzungszeit
- Ladezeit
- Ausführungszeit
Übersetzungszeit
- Wenn die Position des Programms im Hauptspeicher zur Übersetzungszeit bekannt ist, können Compiler und Binder absolute Adressen erzeugen.
Ladezeit
- Der Binder erzeugt relozierbare Adressen, die sich auf den Beginn des Programmspeichers beziehen.
- Zur Ladezeit wird festgelegt, wohin das Programm plaziert wird.
- Die relozierbaren Adressen werden in absolute Adressen konvertiert.
- Die Programmdatei muss eine Relokationstabelle enthalten, die die Positionen der relozierbaren Adressen angibt.
Ausführungszeit
- Wenn ein Prozess während der Ausführungszeit im Hauptspeicher verschoben werden kann, muss die Adressbindung bis zur Ausführungszeit verzögert werden.
- Diese Methode erfordert spezielle Hardware.
Grundlagen
- Dynamisches Laden: Programmteile werden erst bei Bedarf in den Hauptspeicher geladen.
- Dynamisches Binden: Programmteile werden früher statisch gebunden, d.h. mehrfach übersetzt im Speicher. Moderne Systeme verwenden Platzhalter für Programmteile, die dynamisch gebunden werden.
- Überlagerungen (Overlays): Der Programmierer zerlegt ein Programm in mehrere Phasen, die weitgehend separate Funktionen und Strukturen aufweisen.
- Bei dieser Methode muss das Programm zur Ausführungszeit nicht vollständig im Hauptspeicher vorhanden sein.
- Der Austausch erfolgt durch das Programm selbst, ohne die Unterstützung des Betriebssystems.
Logischer und physikalischer Austausch
- Die CPU arbeitet mit logischen Adressen, während der Hauptspeicher mit physikalischen Adressen arbeitet.
- Die Memory Management Unit (MMU) bildet die logischen Adressen auf physikalische Adressen ab.
- Die logischen Adressen werden auch als virtuelle Adressen bezeichnet.
Multitasking Modelle mit speicherresistenten Programmen
- Bei Multitasking-Systemen stehen mehrere Anwenderprogramme gleichzeitig im Hauptspeicher.
- Das Betriebssystem organisiert die Aufteilung des Hauptspeichers und verwaltet die Umrechnung von logischen auf physikalische Adressen.
- Dabei legt das Betriebssystem eine Rahmentabelle an, die die folgenden Informationen enthält:
- Rahmen frei/belegt
- Welchem Prozess der Rahmen zugeordnet ist
- Zugriffshäufigkeit
Paging
- Paging erlaubt die Ausführung von Prozessen, die nicht vollständig im Hauptspeicher vorhanden sind.
- Wenn der ausführende Prozess auf eine ausgelagerte Seite zugreift, tritt ein Seitenfehler (Page Fault) auf.
- Die zugreifende Instruktion wird abgebrochen und die Seite wird eingelagert.
- Anschließend wird die Instruktion wiederholt.
- Die Buchführung über die ausgelagerten Seiten erfolgt in der Seitentabelle des Prozesses.
Segmentierung
- Der Hauptspeicher wird in Segmente unterschiedlicher Größe und Zwecken unterteilt:
- Programmcode vom Programmierer
- Laufzeitstack
- Statisch reservierter Speicherbereich für Variablen
- Programmcode einer dynamisch geladenen Bibliothek
- Speicherbereich, der von zwei Prozessen gemeinsam zur Kommunikation verwendet wird
- Speicherbereich, in den der Inhalt einer Datei eingeblendet wird
- Bei der Segmentierung werden Adressen zweigeteilt in Segment und Distanz.
- Es existiert auch eine Segmenttabelle des Prozesses.
Segmentierung mit Paging
- Ein Prozess besteht aus einigen wenigen Segmenten, jedes Segment ist in Seiten eingeteilt.
- Es existiert eine Seitentabelle pro Segment.
- Eine Adresse besteht aus der Segmentnummer und der (Segment-)Distanz.
Auslagerungsstrategien
- Es gibt zwei Arten von Auslagerungsstrategien:
- Globale Auslagerungsstrategie
- Prozessbezogene Auslagerungsstrategie
Globale Auslagerungsstrategie
- Die Wahl der auszulagernden Seiten spielt keine Rolle für die Auslagerungsstrategie.
- Es gibt verschiedene Algorithmen für die globale Auslagerungsstrategie:
- FIFO: „First In First Out", die Seite, die am längsten im Hauptspeicher ist, wird ausgelagert.
- LRU: „Least Recently Used", die Seite, die am längsten nicht genutzt wurde, wird ausgelagert.
- LFU: „Least Frequently Used", die am wenigsten benutzte Seite wird ausgelagert.
- Second Chance: Verbindet FIFO mit einem Referenzbit.
Prozessbezogene Auslagerungsstrategie
- Bei der prozessbezogenen Auslagerungsstrategie wird die Prozesszugehörigkeit bei der Auswahl der auszulagernden Seiten berücksichtigt.
Trashing
- Trashing treten auf, wenn das Betriebssystem ständig beschäftigt ist, Daten ein- und auszulagern.
Working-Set Modell
- Das Working-Set Modell garantiert, dass jeder Prozess eine vernünftige Anzahl von Seiten im Speicher halten kann.
Prozessorverwaltung: CPU-Scheduling
- Früher gab es keine interaktiven Programme und kein Multitasking, sondern nur Stapelverarbeitungen („Batch Jobs", die hintereinander ausgeführt wurden).
- Heute führt man in Multitasking-Systemen Programme parallel aus.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Testen Sie Ihr Wissen über Computerarchitektur, die Von Neumann Architektur und historische Preise von Festplatten und RAM. Beantworten Sie Fragen zu den Hauptkomponenten eines Universalrechners und den Bus-Typen. Ideal für Technikbegeisterte und Studenten der Informatik.