Prozesse und Threads, Scheduling Flashcards
Was ist ein Programm?
Eine verfahrensvorschrift für el. Datenverarbeitung (ausführbare Datei)
Was ist ein Prozess?
Ist ein Programm in ausführung inkl.
- Laden des Codes, initialwerte etc. im Hauptspeicher
- Aufsetzen einer prozessumgebung
- Ausführen des Codes in Umgebung
Prozess nutzt Hauptspeicher, Peripherie, Register etc.
Was sind Threads?
Parallel ablaufende Aktivitäten innerhalb einer gemeinsamen Prozessumgebung. Jeder Thread gehört zu einem Prozess
Wie viele Adressräume hat ein Prozess?
ein Prozess entspricht einem Adressraum
wie viele Threads kann ein Prozess minimal und maximal haben?
von 1 bis beliebig viele. Ein Prozess stellt die Umgebung inerhlab der die Threads exisiteren können
Was versteht man unter HW- und SW Parallilität?
Hardware- und Software-Parallelität sind zwei unterschiedliche Ansätze, um die Leistung und Effizienz von Computersystemen zu verbessern.
Die Kombination von Hardware- und Software-Parallelität kann zu erheblichen Leistungssteigerungen führen. Durch den Einsatz von mehreren Prozessoren oder Rechenkernen auf der Hardwareseite und der Implementierung von parallelen Algorithmen und Aufgabenaufteilung auf der Softwareseite können komplexe Aufgaben schneller und effizienter gelöst werden.
Erzählen sie was zur HW-Parallilität
Hardware-Parallelität bezieht sich auf die Verwendung von physischen Hardwarekomponenten, um Aufgaben gleichzeitig auszuführen. Dies kann durch den Einsatz mehrerer Prozessoren oder Rechenkerne erreicht werden, die unabhängig voneinander arbeiten und verschiedene Teile eines Problems parallel lösen können. Durch die parallele Verarbeitung können Aufgaben schneller abgeschlossen werden, da mehrere Berechnungen gleichzeitig durchgeführt werden können.
Beispielhaft für Hardware-Parallelität ist die Verwendung von Multiprozessorsystemen oder Mehrkernprozessoren, bei denen mehrere Prozessoren oder Kerne gleichzeitig an der Ausführung von Aufgaben beteiligt sind. Jeder Prozessor oder Kern kann eigenständig arbeiten und Berechnungen durchführen, was zu einer erheblichen Steigerung der Rechenleistung führen kann.
Erzählen sie was zur SW-Parallilität
Software-Parallelität hingegen bezieht sich auf die Organisation von Aufgaben innerhalb der Software, um sie parallel ausführen zu können. Dies wird in der Regel durch die Verwendung von Threads oder Prozessen erreicht, die unabhängig voneinander arbeiten und verschiedene Teile eines Problems gleichzeitig bearbeiten können.
Software-Parallelität erfordert spezielle Programmierkonzepte und -techniken, um Aufgaben zu identifizieren, die parallel ausgeführt werden können, und diese effizient zu koordinieren. Dies kann zum Beispiel durch die Verwendung von Thread-Pools, Synchronisationsmechanismen und parallelen Algorithmen erreicht werden.
welche Darstellungsformen für parallele abläufe kennen sie?
Ablaufgraphen und Petrinetze
was ist die MMU und was ist ihre Rolle?
Die Memory Management Unit (MMU):
- Physische Komponente im Computersystem( Teil des Prozessors oder eigenständige Einheit )
- Verwaltet den Speicher und dessen Zugriff und übersetzt virtuelle Adressen in physische Adressen mithilfe von Seitentabellen.
- Arbeitet eng mit dem Betriebssystem zusammen
- Enthält Adressumsetzungstabellen, Cache-Speicher und Steuerlogik
- Konfiguration und Funktionalität werden durch das Betriebssystem gesteuert
- Betriebssystem legt Speicherzuordnung, Seitentabellen und Zugriffsrechte fest
- Wichtige Rolle bei der Implementierung von virtuellem Speicher und Speichertrennung/-sicherheit in Betriebssystemen
wo befindet sich der Program Counter und was ist seine Rolle?
Der PC ist Teil der CPU und speichert die Adresse des nächsten auszuführenden Befehls.
wie arbeitet das Betriebssystem mit der MMU?
Betriebssystem: Festlegt Regeln für Speicherallokation und verwaltet den Speicher als Ganzes, inklusive Zuordnung von Speicherblöcken an Prozesse und Überwachung der Speichernutzung.
MMU (Memory Management Unit): Ermöglicht Adressumsetzung und Speicherzugriff, verwendet Datenstrukturen wie Seitentabellen und arbeitet im Einklang mit den Regeln des Betriebssystems.
welche Rolle hat der virtuelle Speicher?
- Virtueller Speicher schafft eine Abstraktionsschicht zwischen physischem Speicher und Prozessen.
- Prozesse haben normalerweise einen begrenzten adressierbaren Speicherbereich.
- Virtueller Speicher erlaubt Prozessen, einen größeren Speicherbereich zu nutzen als der physische Speicher.
- Der virtuelle Speicher wird in Seiten aufgeteilt, die bei Bedarf in den physischen Speicher geladen oder ausgelagert werden.
- Virtueller Speicher ermöglicht die effiziente Nutzung des Speichers, da nicht alle Daten gleichzeitig im physischen Speicher vorhanden sein müssen.
- Virtueller Speicher erweitert den adressierbaren Bereich und ermöglicht die illusionäre Nutzung eines größeren Speichers.
wer verwendet virtuelle und wer verwendet physische Adressen?
Virtuelle Adressen werden von Prozessen verwendet, physische Adressen werden von der CPU und MMU verwendet.
erzählen sie was zum virtuellen Prozessmodell
Jeder Prozess hat den ganzen Rechner für sich zur Verfügung:
- Adressräume können frei belegt werden und
- sämtliche CPU Register können frei genutzt werden