Prozesse und Threads

Diese Karteikarten bieten eine Übersicht über die grundlegenden Konzepte von Prozessen und Threads in der Informatik und deren Unterschiede sowie Anwendungsgebiete.

Sophie42·32 flashcards·32 questions
Studiumcomputer_sciencecomputer_basics
0
Known
1 / 32
0
Learning
Front

Was ist ein Prozess?

Tap to flip
Back

Ein Prozess ist eine instanziierte Ausführung eines Programms, das im Arbeitsspeicher läuft und Ressourcen benötigt.

Tap to flip
Got it
Still learning

Quiz(32 questions)

Question 1 of 32

1. Was ist die Hauptfunktion eines Prozesses?

Terms in this Study Set(32)

Prozesse(16)

Was ist ein Prozess?

Ein Prozess ist eine instanziierte Ausführung eines Programms, das im Arbeitsspeicher läuft und Ressourcen benötigt.

Merkmale von Prozessen

- Speicherbereich - Prozess-ID - Status - Kontext - Priorität

Prozesszustände

Ein Prozess kann folgende Zustände haben: bereit, laufend, wartend, beendet.

True or False: Ein Prozess kann mehrere Threads beinhalten.

True. Ein Prozess kann aus mehreren Threads bestehen, die parallel ausgeführt werden.

Wie wird ein Prozess erstellt?

Ein Prozess wird durch einen Systemaufruf, wie fork() in Unix, erstellt. Dabei wird ein neuer Prozess erzeugt.

Fill in the blank: Ein __________ ist der Identifier eines Prozesses.

Prozess-ID (PID) ist der Identifier eines Prozesses.

Vergleich: Prozess vs. Programm

Ein Programm ist statisch und auf der Festplatte gespeichert, während ein Prozess dynamisch ist und im Arbeitsspeicher läuft.

Was beschreibt der Prozesskontext?

Der Prozesskontext beinhaltet alle Informationen über den Zustand eines Prozesses, einschließlich Register und Speicheradressierung.

Wozu dient der Scheduler?

Der Scheduler verwaltet die Ausführung von Prozessen, indem er entscheidet, welcher Prozess wann läuft.

Was ist der Unterschied zwischen Benutzer- und Systemprozessen?

Benutzerprozesse werden von Anwendern gestartet, während Systemprozesse vom Betriebssystem zur Verwaltung von Ressourcen erstellt werden.

Ursache → Effekt: Prozess wird beendet.

Der Prozess gibt Ressourcen frei und wird aus dem Arbeitsspeicher entfernt.

Wie viele Prozesse können gleichzeitig laufen?

Die Anzahl hängt von der Systemarchitektur und den verfügbaren Ressourcen ab.

True or False: Prozesse können direkt miteinander kommunizieren.

False. Prozesse kommunizieren typischerweise über IPC (Inter-Process Communication) Mechanismen.

Was ist ein Zombie-Prozess?

Ein Zombie-Prozess ist ein beendeter Prozess, dessen Eintrag noch im Prozess-Tabellen des Systems vorhanden ist, bis er abgefragt wird.

Prozessverwaltung umfasst:

- Prozessschaffung - Prozessplanung - Prozessbeendigung - Ressourcenmanagement

Einen Prozess terminieren: Was tun?

Ein Prozess kann beispielsweise durch den Befehl kill <PID> in Unix beendet werden.

Threads(16)

Was ist ein Thread?

Ein Thread ist der kleinste Ausführungseinheit in einem Prozess, der unabhängig von anderen Threads im gleichen Prozess arbeiten kann.

Vorteil von Threads?

Threads ermöglichen parallele Ausführung, was zu besserer Ressourcennutzung führt und die Reaktionsfähigkeit von Anwendungen erhöht.

Wahr oder Falsch: Threads teilen sich den Speicher.

Wahr: Threads innerhalb eines Prozesses teilen sich den gleichen Adressraum und Ressourcen.

Nenne eine Anwendung von Threads.

Threads werden häufig in Webservern verwendet, um mehrere Anfragen gleichzeitig zu verarbeiten.

Threads vs. Prozesse: Hauptunterschied?

Prozesse sind unabhängig und haben eigenen Speicher; Threads teilen sich den Speicher eines Prozesses.

Was ermöglicht Multithreading?

Multithreading ermöglicht es, mehrere Threads innerhalb eines Prozesses gleichzeitig auszuführen, wodurch Effizienz und Geschwindigkeit erhöht werden.

Vor- und Nachteile von Threads?

- Vorteile: Geringer Speicherverbrauch, schnellere Kommunikation. - Nachteile: Komplexität bei Synchronisation und Fehlerbehandlung.

Fülle die Lücke: Threads sind leichtgewichtiger als ______.

Prozesse, da sie weniger Overhead haben und schneller erstellt werden können.

Was passiert bei einer Thread-Kollision?

Eine Thread-Kollision tritt auf, wenn zwei Threads gleichzeitig auf dieselbe Ressource zugreifen, was zu Inkonsistenzen führt.

Wie wird Thread-Sicherheit erreicht?

Thread-Sicherheit wird durch Techniken wie Mutexes, Semaphoren und kritische Abschnitte erreicht, um den Zugriff auf gemeinsame Ressourcen zu kontrollieren.

Nenne ein Beispiel für asynchrones Programmieren.

Ein Beispiel ist eine Benutzeroberfläche, die weiterhin reagiert, während im Hintergrund Daten geladen werden. Dies erfolgt oft durch Threads.

Was ist ein Daemon-Thread?

Ein Daemon-Thread ist ein Hintergrund-Thread, der keine kritische Aufgabe hat. Er wird beendet, wenn alle nicht-daemon-Threads abgeschlossen sind.

Wahr oder Falsch: Threads können ihre eigenen Speicherbereiche haben.

Falsch: Threads innerhalb eines Prozesses teilen sich den gleichen Speicherbereich.

Nenne ein Beispiel für Thread-Pooling.

Thread-Pooling ist die Wiederverwendung von Threads aus einem Pool, um die Leistung bei der Verarbeitung von Anfragen zu verbessern.

Was ist eine Race Condition?

Eine Race Condition tritt auf, wenn mehrere Threads gleichzeitig auf eine Ressource zugreifen, was unvorhersehbare Ergebnisse verursachen kann.

Vorteil der Synchronisation?

Synchronisation schützt gemeinsam genutzte Ressourcen und verhindert Konflikte zwischen Threads, wodurch die Datenintegrität gewahrt bleibt.

Questions in this Study Set(32)

1. Was ist die Hauptfunktion eines Prozesses?

A.Ein Prozess führt Anweisungen eines Programms aus.
B.Ein Prozess speichert Daten auf der Festplatte.
C.Ein Prozess sorgt für die Benutzeroberfläche.
D.Ein Prozess verwaltet nur den Arbeitsspeicher.

2. Was beschreibt den Hauptvorteil von Threads im Vergleich zu Prozessen?

A.Geringerer Ressourcenverbrauch
B.Unabhängigkeit
C.Größere Speicheranforderungen
D.Erhöhte Komplexität

3. Welches Merkmal gehört nicht zu einem Prozess?

A.Prozess-ID
B.Speicherbereich
C.Hardwareadresse
D.Status

4. In welchem Szenario sind Threads besonders nützlich?

A.Wenn ein Prozess auf eine Datei zugreift
B.Wenn mehrere Aufgaben gleichzeitig ausgeführt werden müssen
C.Wenn keine Benutzerinteraktion erforderlich ist
D.Wenn nur eine Aufgabe zu erledigen ist

5. Welcher Zustand beschreibt einen Prozess, der auf eine Ressource wartet?

A.Wartend
B.Laufend
C.Bereit
D.Beendet

6. Welches der folgenden Merkmale ist FALSCH in Bezug auf Threads?

A.Threads haben ihre eigenen Speicherbereiche.
B.Threads können parallel ausgeführt werden.
C.Threads teilen Ressourcen innerhalb eines Prozesses.
D.Threads haben geringeren Overhead.

7. True or False: Ein Prozess kann nur einen Thread enthalten.

A.True
B.False
C.Kann nicht bestimmt werden
D.Hängt vom Betriebssystem ab

8. Was ist ein typisches Beispiel für die Anwendung von Threads?

A.Dateiverwaltung
B.Webserver-Anfragen
C.Datenbank-Abfragen
D.Systemupdates

9. Wie nennt man den Vorgang, bei dem ein neuer Prozess erstellt wird?

A.Process Forking
B.Process Reporting
C.Process Scheduling
D.Process Termination

10. Was passiert bei einer Deadlock-Situation?

A.Threads warten aufeinander und können nicht fortfahren.
B.Ein Thread wird sofort beendet.
C.Threads arbeiten schneller zusammen.
D.Threads teilen ihre Speicherbereiche.

11. Welches Element identifiziert einen Prozess eindeutig?

A.Prozess-ID
B.Prozessname
C.Speicherort
D.Priorität

12. Wie wird die Thread-Sicherheit gewährleistet?

A.Durch Verwendung von Mutexes und Semaphoren
B.Durch Erhöhung der Anzahl der Threads
C.Durch Reduzierung der Prozessanzahl
D.Durch das Erhöhen des Speichers

13. Was ist der Unterschied zwischen einem Prozess und einem Programm?

A.Ein Programm ist aktiv, ein Prozess ist passiv.
B.Ein Programm wird im Arbeitsspeicher ausgeführt, ein Prozess ist auf der Festplatte gespeichert.
C.Ein Prozess ist aktiv, ein Programm ist passiv.
D.Ein Prozess wird nie gespeichert.

14. Was ist die Hauptursache für Race Conditions?

A.Mehrere Threads versuchen gleichzeitig auf dieselbe Ressource zuzugreifen.
B.Threads haben nicht genügend Speicher.
C.Prozesse kommunizieren nicht effizient.
D.Threads werden nicht synchronisiert.

15. Was umfasst der Prozesskontext?

A.Alle Daten über den aktuellen Prozess
B.Nur die Prozess-ID
C.Die Benutzeroberfläche des Prozesses
D.Die Ressourcennutzung des Systems

16. Was ist eine wichtige Eigenschaft von Daemon-Threads?

A.Sie laufen im Hintergrund und haben keine kritische Aufgabe.
B.Sie benötigen mehr Speicher als normale Threads.
C.Sie können nicht beendet werden.
D.Sie führen nur Aufgaben im Vordergrund aus.

17. Wozu dient der Scheduler im Betriebssystem?

A.Er verwaltet die Prozessprioritäten.
B.Er entscheidet, welcher Prozess ausgeführt wird.
C.Er überwacht die Hardware.
D.Er beendet Prozesse.

18. Welches der folgenden Konzepte ist KEIN Vorteil von Threads?

A.Geringer Speicherverbrauch
B.Schnellere Kommunikation
C.Erhöhte Anfälligkeit für Deadlocks
D.Bessere Ressourcennutzung

19. Was ist der Unterschied zwischen einem Benutzerprozess und einem Systemprozess?

A.Benutzerprozesse werden vom Betriebssystem erstellt.
B.Systemprozesse können keine Ressourcen verwenden.
C.Benutzerprozesse werden von Anwendern gestartet.
D.Systemprozesse sind immer im Hintergrund.

20. Wie nennt man die Technik, bei der Threads aus einem Pool wiederverwendet werden?

A.Thread-Pooling
B.Thread-Synchronisation
C.Thread-Kollisionsvermeidung
D.Thread-Speicherverwaltung

21. Was passiert, wenn ein Prozess beendet wird?

A.Er wird in den Speicher geladen.
B.Er bleibt aktiv.
C.Er gibt Ressourcen frei.
D.Er wird nicht mehr benötigt.

22. Worin besteht der Hauptunterschied zwischen einem Prozess und einem Thread?

A.Prozesse teilen sich den Speicher, Threads nicht.
B.Threads sind schwerer als Prozesse.
C.Prozesse sind unabhängig, während Threads innerhalb eines Prozesses laufen.
D.Threads können nicht parallel laufen.

23. Wie viele Prozesse können maximal gleichzeitig laufen?

A.So viele wie der Prozessor Kerne hat.
B.Immer 100.
C.Genau 50.
D.Es gibt keine Begrenzung.

24. Was beschreibt den Begriff 'Synchronisation' in Bezug auf Threads?

A.Das Koordinieren des Zugriffs auf gemeinsame Ressourcen.
B.Das Erhöhen der Thread-Anzahl.
C.Das Reduzieren der Laufzeit von Threads.
D.Das Erstellen neuer Threads.

25. True or False: Prozesse können direkt über gemeinsame Variablen kommunizieren.

A.True
B.False
C.Nur wenn sie im gleichen Speicher sind
D.Hängt von der Programmiersprache ab

26. Wie wird die Effizienz von Multithreading verbessert?

A.Durch wiederholtes Erstellen von Threads
B.Durch parallele Ausführung von Aufgaben
C.Durch Vermeidung von Synchronisation
D.Durch Erhöhung des Speichers

27. Was ist ein Zombie-Prozess?

A.Ein aktiver Prozess
B.Ein Prozess, der beendet wurde, aber noch im System sichtbar ist.
C.Ein Prozess, der auf Benutzereingaben wartet.
D.Ein Prozess im Wartemodus.

28. Was ist ein Beispiel für asynchrones Programmieren?

A.Das Warten auf eine Benutzeraktion
B.Das kontinuierliche Laden von Daten im Hintergrund
C.Das Ausführen eines Programms ohne Benutzerinteraktion
D.Das Erstellen von Threads ohne Synchronisation

29. Welche Aufgaben gehören zur Prozessverwaltung?

A.Nur Prozessbeendigung
B.Prozessschaffung, -planung, -beendigung und Ressourcenmanagement
C.Nur Prozessplanung
D.Nur Ressourcenmanagement

30. Welche Aussage beschreibt am besten die Funktion von Threads in einer Anwendung?

A.Threads ermöglichen parallele Ausführung von Aufgaben.
B.Threads benötigen mehr Speicherplatz als Prozesse.
C.Threads können nur eine Aufgabe gleichzeitig bearbeiten.
D.Threads sind unabhängig von Prozessen.

31. Wie kann ein Prozess in Unix beendet werden?

A.Durch den Befehl kill <PID>
B.Durch den Befehl end <PID>
C.Durch den Befehl stop <PID>
D.Durch den Befehl terminate <PID>

32. Welches der folgenden Beispiele stellt KEINEN Vorteil von Threads dar?

A.Geringerer Speicherverbrauch.
B.Einfachere Fehlerbehandlung.
C.Bessere Ressourcennutzung.
D.Schnellere Kommunikation.

Related Study Sets

Create Your Own Study Set

Upload a PDF, paste your notes, or describe a topic – AI generates flashcards, quizzes and more in seconds.