Computerarchitektur und Betriebssysteme
 
Hilfe beim Anmelden
Abgerufen von „https://vfhcab.eduloop.de/loop/Spezial:Anmelden“
Inhalt
  • Computerarchitektur und Betriebssysteme
  • 1 Motivation
    • 1.1 Hinweise für Studierende
    • 1.2 Hinweise für Experten
    • 1.3 Copyright
  • 2 Computerarchitektur
    • 2.1 Vom Anwender zur digitalen Schaltung
      • 2.1.1 Erstmal aufschrauben
      • 2.1.2 Von-Neumann-Rechner
        • 2.1.2.1 Von-Neumann-Architektur
        • 2.1.2.2 Von-Neumann-Flaschenhals
      • 2.1.3 Komponenten eines Von-Neumann-Rechners
        • 2.1.3.1 Zentraleinheit / CPU
          • 2.1.3.1.1 Steuerwerk / Leitwerk
          • 2.1.3.1.2 Rechenwerk
        • 2.1.3.2 Speicherwerk
        • 2.1.3.3 Ein- / Ausgabewerk
        • 2.1.3.4 Gesamtbild eines Von-Neumann-Rechners
        • 2.1.3.5 Von-Neumann-Zyklus
        • 2.1.3.6 Animation der Zusammenarbeit
      • 2.1.4 Eigenschaften eines Von-Neumann-Rechners
      • 2.1.5 Digitale Schaltungen
        • 2.1.5.1 Aufbau und Arbeitsweise eines Registers
        • 2.1.5.2 Aufbau und Arbeitsweise des Speicherwerks
        • 2.1.5.3 Aufbau und Arbeitsweise der ALU
        • 2.1.5.4 Aufbau und Arbeitsweise eines Busses
      • 2.1.6 Gatter
    • 2.2 Prozessoren und ihre Befehle
      • 2.2.1 Vom Quellcode zum Prozessor
      • 2.2.2 Befehlssatz
      • 2.2.3 Befehlsformat
        • 2.2.3.1 Einadressformat
        • 2.2.3.2 Zweiadressformat
        • 2.2.3.3 Dreiadressformat
        • 2.2.3.4 Das Adressformat und der Von-Neumann-Zyklus
        • 2.2.3.5 Aufgaben & Co. zum Befehlsformat
      • 2.2.4 Adressierungsarten
        • 2.2.4.1 Unmittelbare Adressierung
        • 2.2.4.2 Registeradressierung
        • 2.2.4.3 Direkte/absolute Adressierung
        • 2.2.4.4 Registerindirekte Adressierung
        • 2.2.4.5 Indizierte Adressierung mit Verschiebung
      • 2.2.5 Vom Programm zum Prozess
      • 2.2.6 Gesamtbild der Programmausführung
      • 2.2.7 Aufgaben & Co. zu Prozessoren
    • 2.3 Weitere Komponenten der Computerarchitektur
      • 2.3.1 Stackregister
      • 2.3.2 Basisregister
        • 2.3.2.1 Mehrere Prozesse gleichzeitig im Speicher
        • 2.3.2.2 Swapping: Aus- und Einlagern von kompletten Prozessen
      • 2.3.3 Limitregister zum Speicherschutz
      • 2.3.4 Interrupt-Controller
        • 2.3.4.1 Gründe für eine Interrupt-Auslösung
        • 2.3.4.2 Speicherschutzverletzung
        • 2.3.4.3 Quasi-gleichzeitige Ausführung mehrerer Prozesse
        • 2.3.4.4 Kommunikation mit E/A-Geräten
          • 2.3.4.4.1 Allgemeiner Aufbau eines Controllers
          • 2.3.4.4.2 Zeit und Kosten machen den Unterschied
          • 2.3.4.4.3 Datentransfer und Interrupts
      • 2.3.5 DMA-Controller
        • 2.3.5.1 Aufbau und Arbeitsweise eines DMA-Controllers
        • 2.3.5.2 Direkt kann wirklich direkt bedeuten
      • 2.3.6 MMU - Memory Management Unit
      • 2.3.7 Moderne Bussysteme
    • 2.4 Fazit Computerarchitektur
  • 3 Betriebssysteme
    • 3.1 Einführung Betriebssysteme
      • 3.1.1 Geschichtlicher Überblick zu Betriebssystemen
      • 3.1.2 Nur ein Prozessor mit einem Kern
      • 3.1.3 Zwischen Benutzer und Hardware
      • 3.1.4 Betriebsmittel
      • 3.1.5 Betriebsmittel sind Prozessen zugeordnet
      • 3.1.6 Zentrale Aufgabe eines Betriebssystems
      • 3.1.7 Betriebssystemarchitekturen
      • 3.1.8 Betriebssystemarten
      • 3.1.9 Vom Batch-Job zum Multitasking
      • 3.1.10 Kernel-Mode, User-Mode und Systemaufrufe
    • 3.2 Prozessverwaltung
      • 3.2.1 Prozess
      • 3.2.2 Prozesskontext
      • 3.2.3 Kontextwechsel
        • 3.2.3.1 Die Statistik der Kontextwechsel unter Windows
        • 3.2.3.2 Die Statistik der Kontextwechsel unter Linux
      • 3.2.4 Prozesse erzeugen
        • 3.2.4.1 Fork
        • 3.2.4.2 CreateProcess
      • 3.2.5 Prozesskontrollblock
        • 3.2.5.1 Prozesskontrollblock unter Windows
        • 3.2.5.2 Prozesskontrollblock unter Linux
      • 3.2.6 Prozesstabelle
      • 3.2.7 Prozesszustände
      • 3.2.8 Verwalten von Prozessen
        • 3.2.8.1 Prozessverwaltung aus Admin-Sicht unter Windows
        • 3.2.8.2 Prozessverwaltung aus Admin-Sicht unter Linux
      • 3.2.9 Threads
        • 3.2.9.1 Java-Beispiel mit Threads
        • 3.2.9.2 Prozesse und Threads unter Windows
        • 3.2.9.3 Prozesse und Threads unter Unix und Linux
      • 3.2.10 Scheduling
        • 3.2.10.1 Scheduling-Ziele
        • 3.2.10.2 Scheduling-Verfahren
          • 3.2.10.2.1 First Come First Serve
          • 3.2.10.2.2 Shortest Job First
          • 3.2.10.2.3 Shortest Remaining Time Next
          • 3.2.10.2.4 Round Robin
          • 3.2.10.2.5 Priority Scheduling
          • 3.2.10.2.6 Weitere Verfahren
        • 3.2.10.3 Scheduling in gängigen Betriebssystemen
        • 3.2.10.4 Vergleichskriterien
      • 3.2.11 Synchronisation
        • 3.2.11.1 Grundlegende Begriffsdefinitionen zur Synchronisation
          • 3.2.11.1.1 Nebenläufigkeit
          • 3.2.11.1.2 Race Conditions
          • 3.2.11.1.3 Kritischer Abschnitt
        • 3.2.11.2 Aktives Warten
          • 3.2.11.2.1 Aktives Warten mit while
          • 3.2.11.2.2 Das Problem des ungünstigsten Moments
          • 3.2.11.2.3 Aktives Warten mit TSL
        • 3.2.11.3 Semaphore
          • 3.2.11.3.1 Mutex
            • 3.2.11.3.1.1 Wechselseitiger Ausschluss
            • 3.2.11.3.1.2 Reihenfolgedurchsetzung
          • 3.2.11.3.2 Zählsemaphor
            • 3.2.11.3.2.1 Erzeuger- / Verbraucherproblem
            • 3.2.11.3.2.2 Philosophenproblem
        • 3.2.11.4 Monitore
        • 3.2.11.5 Zusammenfassung Synchronisation
        • 3.2.11.6 Synchronisationstechniken moderner Betriebssysteme
        • 3.2.11.7 Synchronisationsmechanismen in Programmiersprachen
      • 3.2.12 Deadlocks
        • 3.2.12.1 Vier Bedingungen nach Coffman
        • 3.2.12.2 Deadlocks erkennen
        • 3.2.12.3 Deadlocks ignorieren
        • 3.2.12.4 Deadlocks vermeiden
        • 3.2.12.5 Deadlocks verhindern
        • 3.2.12.6 Deadlock-Fazit
      • 3.2.13 Interprozesskommunikation
        • 3.2.13.1 Zwei Threads kommunizieren über gemeinsame Variablen
        • 3.2.13.2 Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte
        • 3.2.13.3 Zwei Prozesse kommunizieren über Shared Memory
        • 3.2.13.4 Zwei Prozesse kommunizieren über Pipes
        • 3.2.13.5 Zwei Prozesse kommunizieren über Sockets
        • 3.2.13.6 Interprozesskommunikation-Fazit
    • 3.3 Speicherverwaltung
      • 3.3.1 Virtuelle Speicherverwaltung
        • 3.3.1.1 Arbeitsweise der MMU
        • 3.3.1.2 Seitentabellen
          • 3.3.1.2.1 Einstufige Seitentabellen
          • 3.3.1.2.2 Mehrstufige Seitentabellen
      • 3.3.2 Swapping und Paging
        • 3.3.2.1 Page Fault
        • 3.3.2.2 Seitenersetzung
          • 3.3.2.2.1 Was bei der Seitenersetzung passiert
          • 3.3.2.2.2 Das Modifiziert-Bit
          • 3.3.2.2.3 Seitenersetzungsverfahren
            • 3.3.2.2.3.1 Optimaler Seitenersetzungsalgorithmus
            • 3.3.2.2.3.2 NRU - Not Recently Used Algorithmus
            • 3.3.2.2.3.3 FIFO - First In First Out Algorithmus
            • 3.3.2.2.3.4 Second Chance Algorithmus
            • 3.3.2.2.3.5 Working Set Algorithmus
      • 3.3.3 Shared Memory
      • 3.3.4 Speicherverwaltung moderner Betriebssysteme
        • 3.3.4.1 Speicherverwaltung unter Linux
        • 3.3.4.2 Speicherverwaltung in Windows
        • 3.3.4.3 Speicherverwaltung unter Android
    • 3.4 Geräteverwaltung
      • 3.4.1 Rolle der Geräteverwaltung
      • 3.4.2 Abhängig und gleichzeitig unabhängig
      • 3.4.3 Gerätetreiber
      • 3.4.4 Aufgaben eines Treibers
        • 3.4.4.1 Initialisierung des Geräte-Controllers
        • 3.4.4.2 Gerät dem Betriebssystem bekannt machen
        • 3.4.4.3 Bereitstellen einer Schnittstelle zum Geräte-Controller
        • 3.4.4.4 Interruptbehandlung für ein Gerät
        • 3.4.4.5 Bereitstellen einer Schnittstelle zur Geräteverwaltung
        • 3.4.4.6 Pufferung von Daten
        • 3.4.4.7 Koordination nebenläufiger Zugriffe auf ein Gerät
      • 3.4.5 Geräteklassen
        • 3.4.5.1 Blockorientierte Geräte
        • 3.4.5.2 Zeichenorientierte Geräte
        • 3.4.5.3 Sonstige Geräte
      • 3.4.6 Memory-Mapped-I/O
      • 3.4.7 DMA - Direct Memory Access
      • 3.4.8 Windows-Treiber auf GitHub
    • 3.5 Dateiverwaltung
      • 3.5.1 Datei
      • 3.5.2 Dateisystem
      • 3.5.3 Aufgaben eines Dateisystems
      • 3.5.4 Dateisystemkonzepte
      • 3.5.5 Von Windows unterstützte Dateisysteme
        • 3.5.5.1 FAT - File Allocation Table
        • 3.5.5.2 NTFS - New Technology File System
  • 4 Aufgaben zur Prüfungsvorbereitung
    • 4.1 Aufgaben zum Kapitel Vom Anwender zur digitalen Schaltung
    • 4.2 Aufgaben zum Kapitel Prozessoren und ihre Befehle
    • 4.3 Aufgaben zum Kapitel Weitere Komponenten der Computerarchitektur
    • 4.4 Aufgaben zum Kapitel Einführung Betriebssysteme
    • 4.5 Aufgaben zum Kapitel Prozessverwaltung
      • 4.5.1 Aufgaben zu Prozesse und Threads
      • 4.5.2 Aufgaben zum Scheduling
      • 4.5.3 Aufgaben zur Synchronisation
      • 4.5.4 Aufgaben zu Deadlocks
    • 4.6 Aufgaben zum Kapitel Speicherverwaltung
    • 4.7 Aufgaben zum Kapitel Geräteverwaltung
    • 4.8 Aufgaben zum Kapitel Dateiverwaltung
  • 5 Logbuch
    • 5.1 Jahr 2013
    • 5.2 Jahr 2014
    • 5.3 Jahr 2015
    • 5.4 Jahr 2016
  • 6 Anhang
    • 6.1 Zweier-Potenzen
    • 6.2 Bits und Bytes
    • 6.3 GiB, MiB, KiB im Vergleich zu GB, MB, KB
    • 6.4 Java-Applets
    • 6.5 Inhalt dieses LOOPs ausdrucken
    • 6.6 Impressum
  • Abbildungsverzeichnis
  • Medienverzeichnis
  • Listingverzeichnis
  • Aufgabenverzeichnis
  • Literaturverzeichnis
  • Index
Export
Als PDF herunterladen

Impressum | Datenschutz