From 33f186e97f1400849f54ef1c0f8b1ced85c4510c Mon Sep 17 00:00:00 2001 From: er04yjek <yannick.vollmer@payanoma.de> Date: Thu, 1 Feb 2024 12:20:31 +0100 Subject: [PATCH] =?UTF-8?q?Fragen=20aus=20dem=20ss2021=20hinzugef=C3=BCgt,?= =?UTF-8?q?=20Erkl=C3=A4rungen=20teilweise=20unausf=C3=BChrlich?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ss21.q | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 ss21.q diff --git a/ss21.q b/ss21.q new file mode 100644 index 0000000..91ccf28 --- /dev/null +++ b/ss21.q @@ -0,0 +1,81 @@ +0 Welche der folgenden Aussagen über Schedulingverfahren ist richtig? (2021-07) +- Bei kooperativem Scheduling sind Prozessumschaltungen unmöglich, wenn ein Prozess in einer Endlosschleife läuft. Selbst wenn er bei jedem Schleifendurchlauf einen Systemaufruf macht. +Nein, laufender Prozess gibt CPU mit Systemaufruf ab. +- Online-Schedulingverfahren sind für den Einsatz in Rechnern ohne Netzwerkschnittstelle ungeeignet. +Nein. ++ Verdrängende Schedulingverfahren können nur mit Hilfe von Unterbrechungen realisiert werden. +Ja. +- Deterministische Schedulingverfahren sind nur in der Theorie relevant, da die genaue Länge der CPU-Stöße nie vorhergesagt werden kann. +Nein. +. + +0 Welche der folgenden Aussagen zum Thema Prozesse und Threads ist richtig? (2022-07) ++ Bei schwergewichtigen Prozessen ist die Schedulingstrategie durch das Betriebssystem vorgegeben. +Ja. +- Jeder federgewichtige Prozess (User-Thread) und jeder leichtgewichtige Prozess (Kern-Thread) hat seinen eigenen, geschützten Adressraum. +Nein, teilen sich einen Adressraum. +- Bei Blockade eines schwergewichtigen Prozesses werden alle anderen schwergewichtigen Prozesse, die das selbe Progamm ausführen, ebenfalls blockiert. +Nein, schwergewichtige Prozesse sind unabhängig voneinander, d.h. sie haben einen eigenen Ausführungsfaden. +- Unabhängig von leichtgewichtigen Prozessen (Kernel-Threads) können federgewichtige Prozesse (User-Threads) Multiprozessoren ausnutzen. +Nein. +. + +0 Welche der folgenden Aussagen zum Thema RAID ist richtig? (2022-07) ++ Bei RAID 5 werden alle im Verbund beteiligten Platten gleichmäßig beansprucht. +Ja, da die Paritätsbits auf alle Platten aufgeteilt sind. +- Bei RAID 0 können nach Ausfall einer der beteiligten Platten die Daten durch die Information der anderen rekonstruiert werden. +Nein, wenn eine Platte ausfällt, fällt das System aus. +- Der Lesedurchsatz eines RAID-Systems mit mehreren Platten ist prinzipbedingt geringer als der Lesedurchsatz einer einzelnen Platte. +Nein. +- Bei RAID 4 werden alle im Verbund beteiligten Platten gleichmäßig beansprucht. +Nein, die Paritätsplatte bei RAID 4 wird mehr beansprucht als die anderen Platten. +. + +0 Für lokale Variablen, Aufrufparameter usw. einer Funktion wird bei vielen Prozessoren ein Stack-Frame angelegt. Welche Aussage ist richtig? (2022-07) +- Ein Pufferüberlauf eines lokalen Arrays wird immer zu einem Segmentation Fault führen und kann somit keine sicherheitskritischen Auswirkungen haben. +Nein. +- Es ist nicht möglich auf lokale automatic-Variablen zuzugreifen, die sich im Stack-Frame einer anderen Funktion befinden. +Doch, innerhalb eines Threads kann man auf den gesamten Stack zugreifen. +- Bei rekursiven Funktionsaufrufen kann der Speicher des Stack-Frames in jedem Fall wiederverwendet werden, weil die gleiche Funktion aufgerufen wird. +Nein, Variablen müssen neu initialisiert werden, bei jedem Funktions-Aufruf -> Stackoverflow ++ Wenn in einem UNIX-Prozess mehrere Threads parallel laufen, benötigt jeder von ihnen einen eigenen Stack. +Ja. +. + +1 Welche der folgenden Aussagen zu UNIX/Linux-Dateideskriptoren sind korrekt? (2022-07) +- Ein Dateideskriptor ist eine Verwaltungsstruktur, die auf der Festplatte gespeichert ist und Informationen über Größe, Zugriffsrechte, Änderungsdatum usw. einer Datei enthält. +Nein, ist prozesslokal gespeichert. ++ Nach dem Aufruf von fork(2) teilen sich die Prozesse die den gemeinsamen Dateideskriptoren zu Grunde liegenden Kernel-Datenstrukturen. +Ja, definiert von fork(2). ++ Ist das Flag FD_CLOEXEC eines Dateideskriptors gesetzt, dann wird dieser Dateideskriptor geschlossen, sobald der Prozess eine Funktion der exec-Familie aufruft. +Ja, definiert von FD_CLOEXEC. ++ Ein Dateideskriptor ist eine prozesslokale Integerzahl, die der Prozess zum Zugriff auf eine Datei benutzen kann. +Ja. +- Ein Dateideskriptor ist eine Integerzahl, die über gemeinsamen Speicher an einen anderen Prozess übergeben werden kann und von letzterem zum Zugriff auf eine geöffnete Datei verwendet werden kann. +Nein, ist eine prozesslokale Integerzahl. ++ Auch Netzwerkverbindungen werden über einen Dateideskriptor referenziert. +Ja. +- Wird ein Dateideskriptor mittels des dup(2)-Systemaufruf vervielfältigt, können die Zugriffsrechte auf dem resultierendem Deskriptor unabhängig vom ursprünglichen geändert werden. +Nein. +- Dateideskriptoren sind Zeiger auf Betriebssystem-interne Strukturen, die von den Systemaufrufen ausgewertet werden, um auf Dateien zuzugreifen. +Nein, ist eine Integerzahl. +. + +1 Welche der folgenden Aussagen zum Thema persistenter Datenspeicherung sind richtig? (2022-07) +- Bei verketteter Speicherung dauert der wahlfreie Zugriff auf eine bestimmte Dateiposition immer gleich lang, wenn Cachingeffekte außer Acht gelassen werden. +Nein, bei Zugriffen, die weiter "hinten" gespeichert sind, könnte es länger dauern. ++ Bei verketteter Speicherung mittels FAT-Ansatz kann die Verkettungsinformation redundant gespeichert werden, um die Fehleranfälligkeit zu reduzieren. +Ja. +- Journaling-Dateisysteme sind immun gegen defekte Plattenblöcke. +Nein. +- Bei indizierter Speicherung kann es prinzipbedingt nicht zu Verschnitt kommen. +Doch, es kann zu Verschnitt kommen, da der Speicher in Blöcke unterteilt wird. (Verschnitt: manche Speicherblöcke bei Aufteilung von Daten können nur zum Teil gefüllt werden) ++ Bei kontinuierlicher Speicherung von Daten ist es unter Umständen mit enormem Aufwand verbunden, eine bestehende Datei zu vergrößern. +Ja, dynamisches Erweitern schwierig. +- Im Vergleich zu den anderen Verfahren ist bei indizierter Speicherung die Positionierzeit des Festplatten-Armes beim Zugriff auf alle Datenblöcke einer Datei minimal. +Nein. ++ Journaling-Dateisysteme garantieren, dass auch nach einem Systemausfall alle Metadaten wieder in einen konsistenten Zustand gebracht werden können. +Ja, mit Hilfe der Log-File. ++ Festplatten eignen sich besser für sequentielle als für wahlfreie Zugriffsmuster. +Ja, wegen dem Lese-Schreib-Kopf, der Daten, die nebeneinander stehen, schneller lesen kann, als Daten, die an verschiedenen Orten gespeichert sind. +. \ No newline at end of file -- GitLab