====== Einführung Betriebssysteme ====== ===== Wiederholung Hardware ===== ==== Wortherkunft ==== "Hardware" kommt ursprünglich aus dem Englischen und bedeutet übersetzt Eisenwaren. ==== Hardware vs. Software ==== * Hardware = sind alle greifbaren/sichtbaren Elemente eines PCs * Software = Programme und Daten, also nicht greifbare Elemente eines PCs ==== Komponenten ==== * **Grundbestandteile** * Motherboard/Mainboard - Hauptplatine * Central Processing Unit (CPU) - zentrale Recheneinheit (Prozessor) * Random Access Memory (RAM) - Arbeitsspeicher * **Massenspeicher** * Festplatte (SSD, SATA) * Laufwerke (CD, DVD, Band,..) * **Erweiterungskarten** (optional) * Grafikkarte * Soundkarte * Netzwerkkarte * **Peripheriegeräte** * Eingabegeräte * Maus & Tastatur * Scanner * Ausgabegeräte * Bildschirm * Drucker ===== EVA/IPO Prinzip ===== Das **EVA**-Prinzip ist ein Grundprinzip für die Datenverarbeitung und beschreibt die Reihenfolge in der Daten verarbeitet werden. **E**ingabe (**I**nput) - **V**erarbeitung (**P**rocess) - **A**usgabe (**O**utput) {{:inf:inf7bi_201819:4:eva.png|}} [[ https://upload.wikimedia.org/wikipedia/commons/f/f2/EVA-Prinzip.svg|EVA Prinzip]] ===== Von-Neumann-Architektur (VNA) ===== Die **V**on-**N**eumann-**A**rchitektur ist ein Modell für Computer und bietet die Grundlage für alle heutigen Computer. Das Modell wurde von [[https://de.wikipedia.org/wiki/John_von_Neumann|Johann von Neumann]] im Jahr 1945 entwickelt. Heute ist Johann von Neumann unter seinem amerikanischen Namen John von Neumann bekannt. {{ https://upload.wikimedia.org/wikipedia/commons/0/0a/Modellrechenautomat_TH_Dresden_1958_TSD.jpg?300x300 |Von-Neumann Modellrechner }} Er revolutionierte die bisherigen Computer, da durch seine Architektur verschiedene Programme auf derselben Hardware laufen konnten. Seine Struktur hat es erstmals ermöglicht, dass mehrere Probleme von ein und derselben Hardware gelöst werden können. ==== Komponenten ==== Ein Von-Neumann-Rechner beruht auf folgenden Komponenten, die bis heute in Computern verwendet werden: * [[https://de.wikipedia.org/wiki/Arithmetisch-logische_Einheit|ALU]] (Arithmetic Logic Unit) – Rechenwerk, selten auch Zentraleinheit oder Prozessor genannt, führt Rechenoperationen und logische Verknüpfungen durch. (Die Begriffe Zentraleinheit und Prozessor werden im Allgemeinen in anderer Bedeutung verwendet.) * [[https://de.wikipedia.org/wiki/Steuerwerk|Control Unit – Steuerwerk oder Leitwerk]], interpretiert die Anweisungen eines Programms und verschaltet dementsprechend Datenquelle, -senke und notwendige ALU-Komponenten; das Steuerwerk regelt auch die Befehlsabfolge. * [[https://de.wikipedia.org/wiki/Bus_(Datenverarbeitung)#Bussysteme|Bussystem]]: Dient zur Kommunikation zwischen den einzelnen Komponenten (Steuerbus, Adressbus, Datenbus) * [[https://de.wikipedia.org/wiki/Speicherwerk|Memory – Speicherwerk]] speichert sowohl Programme als auch Daten, welche für das Rechenwerk zugänglich sind. * [[https://de.wikipedia.org/wiki/Eingabe-/Ausgabewerk|I/O Unit – Eingabe-/Ausgabewerk]] steuert die Ein- und Ausgabe von Daten, zum Anwender (Tastatur, Bildschirm) oder zu anderen Systemen (Schnittstellen). {{ http://vfhcab.oncampus.de/mediawiki/images/vfhcab.oncampus.de/0/0b/Von_neumann_architektur.jpg?500x300 |Von-Neumann-Architektur }} {{ http://vfhcab.oncampus.de/mediawiki/images/vfhcab.oncampus.de/d/d6/Vnrgesamt.jpg?1000x400 |Von-Neumann Architektur erweitert }} ==== Register ==== * **Befehlszähler (Program Counter - PC)** Enthält die Speicheradresse vom Speicherwerk des aktuellen Befehls. (Startadresse = 0x0000). Wird nach jedem Befehl um 1 erhöht. * **Befehlsregister (Instruction Register - IR)** Speichert den vom Speicherwerk zurückbekommenen Befehl. * **Speicheradressregister (Memory Address Register - MAR)** Ausschließlich für die Kommunikation zwischen Steuerwerk und Rechenwerk. Im MAR legt das Steuerwerk jeweils die Adresse ab, welche im Speicherwerk angesprochen werden soll. * **Speicherdatenregister (Memory Data Register - MDR)** Ausschließlich für die Kommunikation zwischen Steuerwerk und Rechenwerk. Bei einem Lesezugriff auf die Speicherzelle wird der vom Speicherwerk über den Datenbus bereitgestellte Wert im MDR abgelegt und kann von hier aus weiter verarbeitet werden. Bei einem Schreibzugriff muss sich im MDR der zu schreibende Wert befinden, so dass er über den Datenbus an das Speicherwerk übermittelt werden kann. ==== Prozesszyklus ==== - Initialisiere das Befehlszählerregister (Program Counter- PC) mit 0 (Start) - Sende Adresse des aktuellen Befehls zum Speicherwerk - Empfange aktuellen Befehl vom Speicherwerk und speichere diesen in das Befehlsregister (Instruction Register - IR) - Analysiere aktuellen Befehl und treffe Vorbereitungen für die spätere Ausführung (Welcher Befehl und was ist dazu notwendig?) - Erhöhe den Befehlszähler (PC) um 1 - Rufe zusätzlich benötigte Operanden ab (z.B.: Befehl ADD OP1 OP2) - Führe den Befehl selbst (Steuerwerk) aus oder beauftrage das Rechenwerk für die Ausführung - Schreibe das Ergebnis des ausgeführten Befehls an die vorgesehene Stelle {{ http://vfhcab.oncampus.de/mediawiki/images/vfhcab.oncampus.de/8/83/Steuerwerk02.jpg?700x700 | Befehlszyklus }} {{youtube>Zsreix2gLkc?small|Arbeitsweise des Steuer- und Rechenwerks}}\\ {{youtube>pefqk2C7wgw?small|Arbeitsweise des Speicherwerks}}\\ {{youtube>2IxOCLy5jms?small|Befehlszähler und Befehlsregister im Zusammenspiel mit dem Bus-System}}\\ {{youtube>eEZIlmMHl7c?small|Arbeitsweise des Steuerwerks}}\\ ==== Die 7 Prinzipien der Von-Neumann-Architektur ==== * Rechner besteht aus fünf Funktionseinheiten * Struktur des Rechners ist unabhängig vom zu bearbeitenden Problem. Zur Lösung eines Problems muss Programm im Speicher abgelegt werden. * Programme, Daten und Ergebnisse werden im selben Speicher abgelegt. * Der Speicher ist in fortlaufenden nummerierten Zellen unterteilt. Über die Adresse einer Speicherzelle kann auf den Inhalt zugegriffen werden. * Aufeinanderfolgende Befehle eines Programms werden in aufeinanderfolgende Speicherzellen abgelegt. * Durch Sprungbefehle kann von der gespeicherten Befehlsreihenfolge abgewichen werden. * Es gibt zumindest * arithmetische Befehle (Addition, Subtraktion, Multiplikation) * logische Befehle (EQUAL, NOR, AND, OR) * Transportbefehle, z.B. von Speicher zu Rechenwerk und für Ein- und Ausgabe * Alle Daten (Befehle, Adressen, usw.) werden binär kodiert