diff --git a/ss20.q b/ss20.q index 499edc027bf39a3c2b295a3f76598b59edc2ca7e..e1f2bb624d997aaf2020e9e4c9d174a2c669c502 100644 --- a/ss20.q +++ b/ss20.q @@ -1,107 +1,392 @@ -0 Bei Programmunterbrechungen (Ausnahmen) unterscheidet man zwischen Traps und Interrupts. Welche Aussage zu Traps ist richtig? (2020-08) -+ Der Zugriff auf eine physikalische Speicheradresse kann zu einem Trap führen. -Wahr. -- Normale Ganzzahl-Rechenoperationen (z. B. Addition, Division) können nicht zu einem Trap führen. -Doch, können zu einem Trap führen. Vergleiche Division durch 0 auf x86 Prozessoren. -- Ein Trap steht nicht zwangsläufig in ursächlichem Zusammenhang mit dem unterbrochenen Programm. -Doch, ein Trap wird immer durch einen internen Fehler ausgelöst. -- Traps werden immer nach dem Beendigungsmodell/Terminierungsmodell behandelt. -Nein, werden nach dem Beendigungsmodell und Wiederaufnahmemodell behandelt. +# https://sys.cs.fau.de/extern/lehre/ws23/sp2/pruefung/klausuren/2020s-SP-Klausur_www.pdf + +0 (2020-08) Bei Programmunterbrechungen (Ausnahmen) unterscheidet man +| zwischen Traps und Interrupts. Welche Aussage zu Traps ist richtig? + ++ Der Zugriff auf eine physikalische Speicheradresse kann zu einem +| Trap führen. + +Wahr, weil im physikalischem Addressraum nicht alle Addressen gültig +sind. Teilweise bestehen Lücken, und je nach Addressbreite, wird es +Addressen geben welche über den verfügbaren Speicher hinaus zeigen. + +- Normale Ganzzahl-Rechenoperationen (z. B. Addition, Division) können +| nicht zu einem Trap führen. + +Doch, können zu einem Trap führen. Vergleiche Division durch 0 auf +x86 Prozessoren. + +- Ein Trap steht nicht zwangsläufig in ursächlichem Zusammenhang mit +| dem unterbrochenen Programm. + +Doch, ein Trap wird immer durch einen internen Fehler ausgelöst. Im +Gegensatz dazu ist dieses beim einem Interrupt nicht gegeben, weil die +Ursache hier von außen kommt. + +- Traps werden immer nach dem Beendigungsmodell/Terminierungsmodell +| behandelt. + +Nein, werden nach dem Beendigungsmodell und Wiederaufnahmemodell +behandelt. + . -0 Welche der folgenden Aussagen über UNIX-Dateisysteme ist richtig? (2020-08) -- Wenn der letzte symbolic link, der auf eine Datei verweist, gelöscht wird, wird auch der zugehörige Dateikopf (inode) gelöscht. -Nein, symbolic links sind nur Referenzen und haben nichts mit der wirklichen Datei zu tun, sondern verweisen nur auf diese. -- Hard links können innerhalb des selben Datenträgers auf beliebige Blöcke zeigen. -Nein. -+ In einem Verzeichnis darf es keinen Eintrag geben, der auf das Verzeichnis selbst verweist. -Wahr, da sonst eine Endlosschleife enstehen kann. -- Für Zugriff über verschiedene Hard links auf die selbe Datei gelten identische Zugriffsrechte. -Nein. +0 (2020-08) Welche der folgenden Aussagen über UNIX-Dateisysteme ist +| richtig? + +- Wenn der letzte symbolic link, der auf eine Datei verweist, gelöscht +| wird, wird auch der zugehörige Dateikopf (inode) gelöscht. + +Nein, Symbolic Links sind nur Referenzen sind nicht direkt mit einer +Datei verbunden, im Sinne dass der einzige Weg zu bestimmen ob ein +Symbolic Link auf eine Datei besteht, es wäre alle Symbolic Links im +Dateisystem zu prüfen, weil diese information ansonsten nirgends +zentral gespeichert wird. + +- Hard links können innerhalb des selben Datenträgers auf beliebige +| Blöcke zeigen. + +Nein, ein Hard Link bezieht sich auf Dateien im Dateisystem, nicht auf +beliebige blöcke. Die Dateien slebst werden sich auf Blöcke im +Datenträgers beziehen. + +- In einem Verzeichnis darf es keinen Eintrag geben, der auf das +| Verzeichnis selbst verweist. + +Doch, in jedem Verzeichnis verweist der `.` ("hier") Eintrag auf das +Verzeichnis selbst. Daher hat auch jedes Verzeichnis mindestens einen +"nlink" (Anzahl Verweise auf diesen Inode) von 2, weil es von sich +selbst und vom Oberverzeichnis verwiesen wird (Ausnahme, das +Root-Verzeichnis `/`, wo `.` und `..` beides Verweise auf sich selbst +sind). + ++ Für Zugriff über verschiedene Hard links auf die selbe Datei gelten +| identische Zugriffsrechte. + +Ja, weil diese Informationen im Inode gespeichert werden unabhängig +vom Pfad, und nicht im Verzeichnis. Würde es im Verzeichnis +gespeichert sein, dann könnte man für jede Instanz einer Datei in +einem Verziechnis verschiedene Zugriffsrechte vergeben. Weil aber ein +Verzeichnis nur eine Abbildung von Datei-Namen im Verzeichnis zu +Inodes sind, ist das nicht möglich. + . -0 Bei einer prioritätengesteuerten Prozessauswahl-Strategie (Scheduling-Strategie) kann es zu Problemen kommen. Welches der folgenden Probleme kann auftreten? (2020-08) +0 (2020-08) Bei einer prioritätengesteuerten Prozessauswahl-Strategie +| (Scheduling-Strategie) kann es zu Problemen kommen. Welches der +| folgenden Probleme kann auftreten? + - Das Phänomen der Prioritätsumkehr hungert niedrigpriore Prozesse aus. -+ Ein hochpriorer Prozesse muss evtentuell auf ein Betriebsmittel warten, das von einem niedrigprioren Prozess exklusiv benutzt wird. Der niedrigpriore Prozess kann das Betriebsmittel jedoch wegen eines mittelhochprioren Prozesses nicht freigeben (Prioritätenumkehr). -- Eine prioritätenbasierte Auswahlstrategie arbeitet sehr ineffizient, wenn viele Prozesse im Zustand bereit sind. -- Prioritätenbasierte Auswahlstrategien führen zwangsläufig zur Aushungerung von Prozessen, wenn mindestens zwei verschiedene Prioritäten vergeben werden. + +Nein, es ist "das einem nachrangigen Prozess den Vorzug gegenüber +einen vorrangigen Prozess gibt" (Woschglossar). + ++ Ein hochpriorer Prozesse muss evtentuell auf ein Betriebsmittel +| warten, das von einem niedrigprioren Prozess exklusiv benutzt wird. +| Der niedrigpriore Prozess kann das Betriebsmittel jedoch wegen eines +| mittelhochprioren Prozesses nicht freigeben (Prioritätenumkehr). + +Ja, siehe Woschglossar: + +> Im Ergebnis behält ein Prozess niedriger Priorität den Prozessor, +> obwohl ein Prozess höherer Priorität darauf wartet, den Prozessor +> zugeteilt zu bekommen. Die Ursache dafür ist möglicherweise eine +> zuvor geschehene Prioritätsverletzung bei der Zuteilung eines +> Betriebsmittels an einen darauf wartenden Prozess + +- Eine prioritätenbasierte Auswahlstrategie arbeitet sehr ineffizient, +| wenn viele Prozesse im Zustand bereit sind. + +# TODO: Schau nach worauf sich das genau bezieht. + +Nein, die Effizienz einer Auswahlstrategie sollte nicht von der Anzahl +an Prozessen welche Warten abhängen. + +- Prioritätenbasierte Auswahlstrategien führen zwangsläufig zur +| Aushungerung von Prozessen, wenn mindestens zwei verschiedene +| Prioritäten vergeben werden. + +Nein, weil eine Priroritätsebene eine andere nicht dominiert, sondern +nur bevorzugt behandelt wird. + . -0 Welche der folgenden Aussagen zum Thema persistenter Datenspeicherung sind richtig? (2020-08) -+ Bei kontinuierlicher Speicherung von Daten ist es unter Umständen mit enormem Aufwand verbunden, eine bestehende Datei zu vergrößern. -Ja. -- Bei indizierter Speicherung kann es prinzipbedingt nicht zu Verschnitt kommen. -Doch, der Blöcke sind zwar alle gleich groß, können aber trotzdem teilweise nicht komplett gefüllt sein. -- 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. -- Extents finden aus Performanzgründen keine Anwendung in modernen Dateisystemen. -Doch. +0 (2020-08) Welche der folgenden Aussagen zum Thema persistenter +| Datenspeicherung sind richtig? + ++ Bei kontinuierlicher Speicherung von Daten ist es unter Umständen +| mit enormem Aufwand verbunden, eine bestehende Datei zu vergrößern. + +Ja, weil es unter Umständen das umherbewegen von anderen Dateien, +bzw. der zu vergrößernden Datei benötigt, damit genug Speicher +vorhanden ist um die Datei kontinuierlich zu speichern. + +- Bei indizierter Speicherung kann es prinzipbedingt nicht zu +| Verschnitt kommen. + +Doch, der Blöcke sind zwar alle gleich groß, können aber trotzdem +teilweise nicht komplett gefüllt sein. Außerdem besteht ein Konflikt +zwischen den Index-Knoten-Segment und dem Datei-Segment, wo wenn die +Index-Knoten-Tabelle zu viele kleine Dateien enthällt, es nicht mehr +möglich ist neue Dateien zu erstellen, obwohl der Speicher hierfür +verfügbar ist. + +- 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, indizierter Speicherung hat per se keinen Einfluss darauf wie +Aufwendig die Positionierung für einen beliebigen Datenblock ist. Was +aufwendiger sein kann, ist es mehere Blöcke nacheinander auszulesen, +welche nicht konservativ abgespeichert werden müssen. + +- Extents finden aus Performanzgründen keine Anwendung in modernen +| Dateisystemen. + +Doch, bspw. benutzen Ext4, Btrfs, NTFS diese. . -0 Welche der folgenden Aussagen zum Thema Threads ist richtig? (2020-08) -- Auf Multiprozessorsystemen kann die Umschaltung von Kern-Threads ohne Mitwirken des Systemkerns erfolgen. +0 (2020-08) Welche der folgenden Aussagen zum Thema Threads ist +| richtig? + +- Auf Multiprozessorsystemen kann die Umschaltung von Kern-Threads +| ohne Mitwirken des Systemkerns erfolgen. + Nein, bei Kern-Threads ist System erforderlich. -- Kern-Threads teilen sich den kompletten Adressraum und verwenden daher den selben Stack. -Nein, haben eigenen Adressraum. -- Bei User-Threads ist die Schedulingstrategie keine Funktion des Betriebssystemkerns. -Ja, übernimmt der Programmierer. -- Die Umschaltung von Threads muss immer im Systemkern erfolgen (privilegierter Maschinenbefehl). + +- Kern-Threads teilen sich den kompletten Adressraum und verwenden +| daher den selben Stack. + +Nein, nur weil der Addressraum geteilt wird, muss man nicht den +gleichen Stack benutzen. + ++ Bei User-Threads ist die Schedulingstrategie keine Funktion des +| Betriebssystemkerns. + +Ja, diese ist teil des Programms (üblicherweise der Programmiersprache +oder einer Bibliothek), und arbeitet unabähngig von der globalen +Strategie des Betriebssystems. + +- Die Umschaltung von Threads muss immer im Systemkern erfolgen +| (privilegierter Maschinenbefehl). + Nein, findet nur bei Kernel-Threads im Systemkern statt. . -0 Welche der folgenden Aussagen zum Thema Synchronisation sind richtig? (2020-08) -- Ein Semaphor kann ausschließlich für mehrseitige Synchronisation verwendet werden. -Nein, kann für einseitige und mehrseitige Synchronisation verwendet werden. -- Zur Synchronisation eines kritischen Abschnitts ist passives Warten immer besser geeignet als aktives Warten. -Nein. Aktives Warten benötigt keine Unterstützung durchs Betriebssystem und vergeudet nicht immer CPU-Zeit gegenüber passivem Warten. -- Für nicht-blockierende Synchronisationsverfahren ist spezielle Unterstützung durch das Betriebssystem notwendig. -Nein, zum Beispiel mittels CAS. -+ Monitore sind Datentypen mit impliziten Synchronisationseigenschaften. -Wahr. +0 (2020-08) Welche der folgenden Aussagen zum Thema Synchronisation +| sind richtig? + +- Ein Semaphor kann ausschließlich für mehrseitige Synchronisation +| verwendet werden. + +Nein, kann für einseitige und mehrseitige Synchronisation verwendet +werden. + +- Zur Synchronisation eines kritischen Abschnitts ist passives Warten +| immer besser geeignet als aktives Warten. + +Nein. Aktives Warten benötigt keine Unterstützung durchs +Betriebssystem (welches nicht immer gegeben ist) und vergeudet nicht +immer CPU-Zeit gegenüber passivem Warten. + +- Für nicht-blockierende Synchronisationsverfahren ist spezielle +| Unterstützung durch das Betriebssystem notwendig. + +Nein, zum Beispiel mittels CAS, welches durch einen Befehl der +Recherarchitektur umgesetzt wird, bspw auf x86 +[`CMPXCHG`](https://c9x.me/x86/html/file_module_x86_id_41.html). + ++ Monitore sind Datentypen mit impliziten +| Synchronisationseigenschaften. + +Wahr, im Woschglossar wird es als ADT (Abstrakter Datentyp) +beschrieben, dass in einer Programmiersprache wie C oder C++ +eingesetzt wird, aber in anderer Literatur wird es hautpsächlich als +Eigenschaft einer Programmiersprache umgesetzt. Als ein Beispiel wo +Nebenläufigkeit und Syncrhonisation nicht innerhalb einer Sprache +umgesetzt werden, sondern primitiven der Sprache selbst (in C wären +Funktionen primitiven, aber die Pthread Funktionalität wird mittels +Funktionen bereitgestellt) sind ist Ada mit dem Konzept von +[Tasks](https://learn.adacore.com/courses/intro-to-ada/chapters/tasking.html). + . -0 Welche der folgenden Aussagen zum Thema „Aktives Warten“ ist richtig? (2020-08) +0 (2020-08) Welche der folgenden Aussagen zum Thema "Aktives Warten" +| ist richtig? + - Aktives Warten vergeudet gegenüber passivem Warten immer CPU-Zeit. -Nein. -- Bei verdrängenden Scheduling-Strategien verzögert aktives Warten nur den betroffenen Prozess, behindert aber nicht andere. -+ Aktives Warten darf bei nicht-verdrängenden Scheduling-Strategien auf einem Monoprozessorsystem nicht verwendet werden. -Wahr. -- Auf Mehrprozessorsystemen ist aktives Warten unproblematisch und deshalb dem passiven Warten immer vorzuziehen. -Falsch. + +Nein, beispielsweise kann es schneller sein wenn nicht gewartet werden +muss, weil es einen geringeren Overhead hat. + +- Bei verdrängenden Scheduling-Strategien verzögert aktives Warten nur +| den betroffenen Prozess, behindert aber nicht andere. + +Doch, es betrifft auch andere, weil beim Warten die CPU immernoch +benutzt wird, biss der Prozess verdrängt (_preempted_) wird. Bei +passivem Warten würde der Prozess in den Zustand "blokiert" übergehen, +und damit auch die CPU nicht mehr benutzen, bis es von anderer Seite +wieder als "bereit" markiert wird. + ++ Aktives Warten darf bei nicht-verdrängenden Scheduling-Strategien +| auf einem Monoprozessorsystem nicht verwendet werden. + +Wahr, weil ansonsten die CPU hoffnungslos monopolisiert wird, und es +nicht mehr möglich wäre, dass ein anderer Prozess die Warte-Bedingung +aufhebt (eine Ausnahme hier könnte das Warten auf Daten in +I/O-Registern sein, welche von "externen (physikalischen) Prozessen" +manipiliert werden). + +- Auf Mehrprozessorsystemen ist aktives Warten unproblematisch und +| deshalb dem passiven Warten immer vorzuziehen. + +Falsch, die Nachteile bleiben bestehen, es wird nur nicht das gesammte +System während der Zeitscheibe monopolisiert. + . -0 Welche der folgenden Aussagen zum Thema Seitenfehler (page fault) ist richtig? (2020-08) -- Ein Seitenfehler zieht eine Ausnahmebehandlung nach sich. Diese wird dadurch ausgelöst, dass die MMU das Signal SIGSEGV an den aktuell laufenden Prozess schickt. -Nein, die MMU sendet ein Trap an das BS. -+ Seitenfehler können auch auftreten, obwohl die entsprechende Seite gerade im physikalischen Speicher vorhanden ist. -Korrekt. -? Wenn der gleiche Seitenrahmen in zwei verschiedenen Seitendeskriptoren eingetragen wird, löst dies einen Seitenfehler aus (Gefahr von Zugriffskonflikten!). -? Ein Seitenfehler wird ausgelöst, wenn der Offset in einer logischen Adresse größer als die Länge der Seite ist. + +0 (2020-08) Welche der folgenden Aussagen zum Thema Seitenfehler (page +| fault) ist richtig? + +- Ein Seitenfehler zieht eine Ausnahmebehandlung nach sich. Diese wird +| dadurch ausgelöst, dass die MMU das Signal SIGSEGV an den aktuell +| laufenden Prozess schickt. + +Nein, die MMU sendet ein Trap an das BS. Signale werden vom +Betriebsystem an Prozesse geschickt. + ++ Seitenfehler können auch auftreten, obwohl die entsprechende Seite +| gerade im physikalischen Speicher vorhanden ist. + +Korrekt, beispilesweise wenn versucht wird auf eine Read-Only Seite zu +schreiben. + +- Wenn der gleiche Seitenrahmen in zwei verschiedenen +| Seitendeskriptoren eingetragen wird, löst dies einen Seitenfehler aus +| (Gefahr von Zugriffskonflikten!). + +Nein, das ist möglich und wird benutzt um die Kosten von `fork(2)` zu +minimieren, werden die gleichen Seiten im physikalischem Speicher in +verschiedenen Logischen Addressräumen eingeblendet (siehe _Copy on +Write_), oder wenn dynamische Bibliothek, dessen Seiten ausführbare +und nicht beschreibbar sind, nur einmal geladen und dann von allen +Programmen die es benutzen geteilt wird. + +- Ein Seitenfehler wird ausgelöst, wenn der Offset in einer logischen +| Adresse größer als die Länge der Seite ist. + +Nein, was diese Frage vertauscht ist Paging und Segmentation, wo beim +letzteren ein Segmentations-Fehler auftreten kann, wenn der Offset +über die Größe des Segments hinausreicht. Beim Paging sind idR. alle +Seiten gleich groß. + . -0 Welches der folgenden Verfahren trägt in der Praxis am besten dazu bei, die Auswirkungen eines Seitenfehlers zu minimieren? (2020-08) -+ Man lagert regelmäßig länger nicht genutzte Seiten aus und trägt sie in einem Freiseitenpuffer ein. -Wahr. -- Man ermittelt, welche der Seiten eines Prozesses in Zukunft am längsten nicht angesprochen wird und lagert genau diese aus (OPT Strategie). -- Man setzt eine Segmentierung in Kombination mit Seitenadressierung ein. -- Man übergibt Prozesse, die einen Seitenfehler verursachen der mittelfristigen Prozesseinplanung, damit sie in nächster Zeit nicht wieder aktiv werden. +0 (2020-08) Welches der folgenden Verfahren trägt in der Praxis am +| besten dazu bei, die Auswirkungen eines Seitenfehlers zu minimieren? + +- Man lagert regelmäßig länger nicht genutzte Seiten aus und trägt sie +| in einem Freiseitenpuffer ein. + +Nein, der Freiseitenpuffer soll es erleichtern ausgelagerte Seiten +wieder einzulagern, ohne _genau dann_ dafür eine andere Seite +bestimmen zu müssen, welche ausgelagert werden soll dafür. +_Regelmäßig_ dafür Seiten auszulagern würde kontraproduktiv sein, weil +man dann über einen Punkt der hillfreichen Flexibilität hinaus mehr +Seiten auslagern würde als notwendig, welche dann nur wieder +eingelagert werden müssten. + +(Siehe auch diesen +[FSI-Forums](https://forum.fsi.cs.fau.de/t/sinn-des-freiseitenpuffers/16912) +Faden) + +- Man ermittelt, welche der Seiten eines Prozesses in Zukunft am +| längsten nicht angesprochen wird und lagert genau diese aus (OPT +| Strategie). + +Nein, weil meine Zeitmaschine gerade noch kaputt ist. Ich warte aber +noch auf eine Lieferung aus der Zunkunft, dann wird das schon wieder +funktionieren. Bis dahin ist es aber nicht möglich vorherzusen was +das Programm in der Zunkunft machen wird. + ++ Man setzt eine Segmentierung in Kombination mit Seitenadressierung +| ein. + +Ja, das nennt man ["Paged +Segmentation"](https://en.wikipedia.org/wiki/Memory_segmentation#Segmentation_with_paging) +und ist eine Kombination beider Ansätze. + +- Man übergibt Prozesse, die einen Seitenfehler verursachen der +| mittelfristigen Prozesseinplanung, damit sie in nächster Zeit nicht +| wieder aktiv werden. + +Nein, das würde das Problem nicht lösen weil Seitenfehler Traps sind, +und daher deterministisch auftreten + . -1 Welche der folgenden Aussagen zum Thema Prozesszustände sind richtig? (2020-08) -+ Es können sich maximal genauso viele Prozesse gleichzeitig im Zustand laufend befinden, wie Prozessorkerne vorhanden sind. -Ja, da pro laufendem Prozess eine CPU benötigt wird. -- Im Rahmen der mittelfristigen Einplanung kann ein Prozess von Zustand laufend in den Zustand schwebend laufend wechseln. -Nein. -- Bei Eintreffen eines Interrupts wird der aktuell laufende Prozess für die Dauer der Interrupt-Abarbeitung in den Zustand blockiert überführt. -Nein. -+ Ein Prozess kann nur durch seine eigene Aktivität vom Zustand laufend in den Zustand blockiert überführt werden. -Richtig -+ Das Auftreten eines Seitenfehlers kann dazu führen, dass der aktuell laufende Prozess in den Zustand beendet überführt wird. -Wahr. -- Greift ein laufender Prozess lesend auf eine Datei zu und der entsprechende Datenblock ist nicht im Hauptspeicher vorhanden, dann wird der Prozess in den Zustand bereit überführt. -Nein, er wird in den Zustand blockiert überführt, da er auf Betriebsmittel wartet. -- Bei kooperativem Scheduling ist kein direkter Übergang vom Zustand laufend in den Zustand bereit möglich. -Doch, wenn die CPU abgegeben wird, wird ein Prozess in bereit überfürt, da er die CPU nicht 'hat' und auf keine Betriebsmittel wartet. -+ Die V-Operation eines Semaphors kann bewirken, dass ein Prozess vom Zustand blockiert in den Zustand bereit überführt wird. -Wahr, da ein anderer Prozess nun den kritischen Abschnitt betreten kann. -. \ No newline at end of file +1 (2020-08) Welche der folgenden Aussagen zum Thema Prozesszustände +| sind richtig? + ++ Es können sich maximal genauso viele Prozesse gleichzeitig im +| Zustand laufend befinden, wie Prozessorkerne vorhanden sind. + +Ja, da pro laufendem Prozess eine CPU benötigt wird. Es ist dabei gut +sich daran zu erinnern, dass mache Zustände eher als Konzepte zu +verstehen sein, und dass dieser Zustand nicht unbedingt durch ein +`enum` am besten dargestellt wird, sondern durch das Verhalten. + +- Im Rahmen der mittelfristigen Einplanung kann ein Prozess von +| Zustand laufend in den Zustand schwebend laufend wechseln. + +Nein, die "schwebenden" Variationen von "bereit" und "blokiert" +beziehen sich darauf, dass Teile des virtuellen Addressraums nicht +bewusst mehr eingelagert sind, was bei laufenden Prozessen nicht +sinnvoll wäre. + +- Bei Eintreffen eines Interrupts wird der aktuell laufende Prozess +| für die Dauer der Interrupt-Abarbeitung in den Zustand blockiert +| überführt. + +Nein, nicht direkt, weil Interrupts und derren Behandlung einen +Prozess nur unterbrechen und dessen Zustand nicht verändern. Es ist +jedoch möglich, dass die Behandlung des Interrupts dieses zur Folge +hätte. + +- Ein Prozess kann nur durch seine eigene Aktivität vom Zustand +| laufend in den Zustand blockiert überführt werden. + +Nein, es ist auch möglich einen laufenden Prozess von außen zu +aufzuhalten (`SIGSTOP`), welcher dann nicht mehr eingelagert wird, bis +es auch wieder explizit angefordert wird (`SIGCONT`). + ++ Das Auftreten eines Seitenfehlers kann dazu führen, dass der aktuell +| laufende Prozess in den Zustand beendet überführt wird. + +Wahr, bspw. wenn dem Prozess Aufgrund ein `SIGSEGV` zugestellt wird, +welches in seinen default Einstellungen den betroffenen Prozess +terminiert. + +- Greift ein laufender Prozess lesend auf eine Datei zu und der +| entsprechende Datenblock ist nicht im Hauptspeicher vorhanden, dann +| wird der Prozess in den Zustand bereit überführt. + +Nein, er wird in den Zustand blockiert überführt, da er auf +Betriebsmittel wartet. + +- Bei kooperativem Scheduling ist kein direkter Übergang vom Zustand +| laufend in den Zustand bereit möglich. + +Doch, wenn die CPU abgegeben wird, wird ein Prozess in bereit +überfürt, da er die CPU nicht "hat" und auf keine Betriebsmittel +wartet. + ++ Die V-Operation eines Semaphors kann bewirken, dass ein Prozess vom +| Zustand blockiert in den Zustand bereit überführt wird. + +Ja, aber nicht der Prozess selbst (weil dieser muss die `V`-Operation +durchführen), sondern ein andere Prozess welcher mit der `P`-Operation +auf eine Semaphore wartet, welches gerade den Wert 0 hat. + +.