Operating Systems BFH

Fragen zu Operating Systems Modul der BFH

Fragen zu Operating Systems Modul der BFH


Set of flashcards Details

Flashcards 51
Language Deutsch
Category Computer Science
Level University
Created / Updated 11.12.2023 / 24.01.2024
Weblink
https://card2brain.ch/box/20231211_operating_systems_bfh
Embed
<iframe src="https://card2brain.ch/box/20231211_operating_systems_bfh/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
Was sind die Hauptanwendungen von Threads?

Threads werden hauptsächlich für parallele Ausführungen innerhalb eines Programms verwendet, um die Effizienz zu steigern, wie bei der parallelen Datenverarbeitung, gleichzeitigen Netzwerkanfragen und für Benutzeroberflächen, die während der Ausführung von Hintergrundprozessen reaktionsfähig bleiben.

Welche Werte kann eine Semaphore in der Praxis annehmen? Welche Werte sind davon am meisten verwendet?

Eine Semaphore kann in der Praxis Werte von 0 bis zu einem definierten Maximalwert annehmen, wobei der Maximalwert die Anzahl der Threads oder Prozesse angibt, die gleichzeitig auf eine Ressource zugreifen dürfen. Die meisten Anwendungen verwenden Semaphoren als Binärsemaphore (Mutex mit Werten 0 oder 1) oder als Zählsemaphore, bei denen der Wert größer als 1 ist und die Anzahl der gleichzeitigen Zugriffe auf eine Ressource angibt.

Was sind critical sections?

Critical Sections sind Teile eines Programmcodes, die auf gemeinsame Ressourcen zugreifen und daher synchronisiert werden müssen, um Race Conditions zu verhindern.

A RAID 4 system has the following configuration: 3x 8TB HDD 1x 10 TB HDD how much data is usable?
Was ist eine inode? Und was beinhaltet sie?
Nach welchen Kriterien sollten Locks getestet bzw. bewertet werden?

Locks sollten auf Deadlock-Freiheit, Effizienz (geringe Verzögerung und Overhead), Fairness (gleiche Chancen für alle Threads, den Lock zu erhalten) und Robustheit (Widerstandsfähigkeit gegen Fehler) getestet werden.

Was ist das Hold-and-Wait Problem und nenne eine Möglichkeit dagegen vorzugehen.

Das Hold-and-Wait Problem tritt auf, wenn Prozesse, die bereits Ressourcen halten, auf weitere Ressourcen warten. Dies kann Deadlocks verursachen. Eine Lösung ist die One-Shot-Allokation, bei der alle notwendigen Ressourcen gleichzeitig angefordert werden müssen.

Wieso sollten alle Personen, welche diesen Kurs besucht haben, das "Dining Philosophers" Problem kennen?

Das "Dining Philosophers" Problem illustriert die Herausforderungen der Prozesssynchronisation und Deadlock-Vermeidung. Es ist ein wichtiges Lehrbeispiel für die Konzepte der Concurrency und Synchronisation in der Informatik.

Was ist ein Producer/Consumer Problem und welcher Aspekt davon muss synchronisiert werden? Was ist die endgültige Lösung für die Synchronisation?

Das Produzenten-Konsumenten-Problem beschreibt zwei Prozesse, wobei einer Daten produziert und der andere sie konsumiert. Die Synchronisation muss sicherstellen, dass der Konsument nicht auf leere Daten zugreift und der Produzent nicht in einen vollen Puffer schreibt. Lösungen umfassen Semaphore oder Bedingungsvariablen, um den Zugriff auf den Puffer zu synchronisieren.

Was ist das Problem bei den Dining Philosophers?

Das Problem der Dining Philosophers ist ein klassisches Beispiel für Deadlocks und Ressourcenknappheit in einem System. Es tritt auf, wenn jeder Philosoph auf eine Gabel wartet, die vom Nachbarn gehalten wird, was zu einem Deadlock führen kann. Die Lösung kann in Strategien zur Vermeidung von Deadlocks liegen, wie der Anforderung aller benötigten Ressourcen gleichzeitig oder der Einführung einer asymmetrischen Zugriffsordnung für Ressourcen.

How does the operating system keep track of file descriptors?
How many Disks can fail at the same time in a correctly configured RAID 6 scenario?
What are I/O devices?
Was sind Bedingungsvariablen und wofür werden sie verwendet?

Bedingungsvariablen werden verwendet, um Threads zu blockieren, bis eine bestimmte Bedingung erfüllt ist. Sie ermöglichen es einem Thread, auf ein Ereignis oder einen Zustand zu warten, während gleichzeitig Ressourcen für andere Threads freigegeben werden.

Was sind vier notwendige identifizierbare Bedingungen für Deadlocks?

Die vier notwendigen Bedingungen für Deadlocks sind: gegenseitiger Ausschluss, Halten und Warten, keine Ressourcenentziehung und zirkuläres Warten.

Bei R-W Locks kann das Problem sein, dass der Writer das Lock ewig nicht bekommt, da es zu viele Reader hat. Wie kann man das Problem lösen?

Das Problem der Schreiberverhungerung bei Reader-Writer-Locks kann durch die Einführung von Schreibervorrang gelöst werden, wo das Schreiben Vorrang vor dem Lesen hat, oder durch die Verwendung von Fairness-Mechanismen, die sicherstellen, dass Writer nicht unbegrenzt warten müssen.

Ein PC hat zwei CPU Kerne und folgende Prozesse sollen ausgeführt werden. Wie kann der Scheduler die Tasks auf die CPUs aufteilen, wenn er auf Turnaround Time optimiert?

Der Scheduler kann Aufgaben auf CPUs aufteilen, indem er diejenigen mit kürzerer Ausführungszeit zuerst ausführt (Shortest Job First) oder durch den Einsatz von Multitasking, um I/O-Wartezeiten effizient zu nutzen und die Turnaround-Zeit zu minimieren.

Wenn ein File (z.B. foo/bar mit einer Größe von 3 Blocks) gelesen wird, welche Schritte müssen dann durchgeführt werden?

Schritt 1: Die inode von 'foo' lokalisieren. Schritt 2: Wenn es ein Verzeichnis ist -> Daten des dazugehörigen Blocks lesen. Schritt 3: Die inode von 'foo' lokalisieren. Wenn ein Verzeichnis -> zu Schritt 2 zurückkehren Schritt 4: Die inode von 'bar' lesen, Rechte prüfen, alloziieren und den File Descriptor zurückgeben. Schritt 5 (data blocks): Die inode lesen, um die Adresse des Blocks zu finden. Schritt 6: Den Datenblock lesen Schritt 7: Die inode von 'bar' aktualisieren Schritt 8: Repeat

Was ist der Vorteil von Semaphoren gegenüber eines Mutex?

Semaphoren sind flexibler als Mutexe, da sie nicht nur gegenseitigen Ausschluss ermöglichen, sondern auch eine bestimmte Anzahl von Threads gleichzeitig eine Ressource nutzen lassen können (Zählsemaphoren).

What does Raid 10 combine? How many Storage devices are needed to have a minimal Raid 10 system?
Warum ist mehr Parallelität nicht immer schneller? Was ist daher eine gute Praxis beim Arbeiten mit Locks?

Mehr Parallelität führt nicht immer zu höherer Geschwindigkeit aufgrund von Overheads wie Kontextwechseln und Synchronisationskosten. Eine gute Praxis ist es, den Bereich von Locks zu minimieren, Locks nur so lange wie nötig zu halten und feinkörnige Synchronisation zu verwenden, um Parallelität effizient zu nutzen.

With a journal, there are two possible scenarios for crash recovery, name it.
A RAID 4 system has the following configuration: 3x 8TB HDD 1x 10 TB HDD how much data is usable?
What happens when a process opens a new file?
Was ist der Superblock im Dateisystem?
What are the three main registers of a hardware interface?
Für was sind die Operatoren "sem_post" und "sem_wait" zuständig und was machen sie.

`sem_post` erhöht den Wert eines Semaphors und signalisiert damit, dass eine Ressource verfügbar ist. `sem_wait` verringert den Wert eines Semaphors und wartet, wenn nötig, bis eine Ressource verfügbar wird.

How can you calculate the I/O Time and the I/O Ratio?
What are HDDs and why are they still in use?
Why is the IMap used in a LFS?
What are Nonvolatile Memory Devices?
Was ist ein Deadlock? Gebe ein Beispiel, wie man ein Deadlock umgehen kann.

Ein Deadlock ist eine Situation, in der zwei oder mehrere Prozesse auf Ressourcen warten, die von den anderen Prozessen gehalten werden, wodurch ein Warten entsteht, das niemals endet. Deadlocks können umgangen werden, indem Ressourcen in einer festgelegten Reihenfolge angefordert werden, sodass zirkuläres Warten nicht möglich ist.

What are advantages and disadvantages of Write back caching and Write through caching?
Why have modern HDD's an on-disk cache and what are the options to write the cache on the disk?
Was ist das Problem bei spin locks? Wie können sie verbessert werden?

Spin Locks können zu CPU-Zeitverschwendung führen, da ein Thread in einer aktiven Schleife wartet. Verbesserungen können durch den Einsatz von Blockierung statt aktiver Warteschleifen oder durch das Hinzufügen von Backoff-Algorithmen erreicht werden.

What is a file descriptor and why are they important?
Was sind die Unterschiede zwischen Spin Lock und Ticket Lock?

Spin Locks lassen Threads in einer Schleife aktiv auf die Freigabe warten, was zu CPU-Zeitverschwendung führen kann. Ticket Locks ordnen wartenden Threads hingegen eine "Ticketnummer" zu, wodurch die Reihenfolge der Bedienung festgelegt und Fairness verbessert wird.

How can I/O devices be accessed and used by the OS?

For the communication with I/O devices the OS needs drivers installed that help with communications with the device

Was ist die Grundidee des Multi-Level Index?
What is the motivation for LFS?