Skip to content
Snippets Groups Projects
Commit 0644ec38 authored by Philip Kaluđerčić's avatar Philip Kaluđerčić :u7121:
Browse files

Add some questions from ss23

parent a8e09df4
No related branches found
No related tags found
No related merge requests found
ss23.q 0 → 100644
# https://sys.cs.fau.de/extern/lehre/ws23/sp2/pruefung/klausuren/2023s-SP-Klausur_www.pdf
0 Man unterscheidet zwischen privilegierten und nicht-privilegierten Maschinenbefehlen. Welche Aussage ist richtig? (Juli 2023)
? Privilegierte Maschinenbefehle dürfen in Anwendungsprogrammen grundsätzlich nicht verwendet werden.
Abhängig davon, was man unter "grundsätzlich" versteht, sollte es eigentlich heißen, dass man Privilegierte Maschinenbefehle nicht verwenden darf.
- Die Benutzung eines privilegierten Maschinenbefehls in einem Anwendungsprogramm führt zu einer asynchronen Programmunterbrechung.
Nein, es würde zu einer _syncrhonen_ Programmunterbrechung führen, weil diese direkt durch den Versuch den Befehl zu interpretieren ausgelöst werden würde.
? Mit nicht-privilegierten Befehlen ist der Zugriff auf Geräteregister grundsätzlich nicht möglich.
Abhängig davon, was man unter "grundsätzlich" versteht; auf Intel CPUs werden hierzu gesonderte Befehle benutzt, aber _grundsätzlich_ könnte eine Rechnerarchitektur auch durch Speicherschutz einen nicht-privilegierten Prozess daran hindern mittels nicht-priviligierten Befehlen auf Geräteregister zuzugreifen.
- Privilegierte Maschinenbefehle können durch Betriebssystemprogramme implementiert werden.
Nein, diese werden nicht durch das Betriebsystem(programme) implementiert, sondern werden von der CPU ausführt, angenommen es befindet sich im richtigen Privilegienmodus.
.
0 Was passiert, wenn Sie in einem C-Programm über einen ungültigen Zeiger versuchen auf Speicher zuzugreifen? (Juli 2023)
- Das Betriebssystem erkennt die ungültige Adresse bei der Weitergabe des Befehls an die CPU (partielle Interpretation) und leitet eine Ausnahmebehandlung ein.
Nein, das Betriebssystem gibt den Befehl selbst nicht an die CPU weiter, und überprüft daher auch nicht ob die Addressen gültig seien.
- Der Compiler erkennt die problematische Code-Stelle und generiert Code, der zur Laufzeit bei dem Zugriff einen entsprechenden Fehler auslöst.
Nein, der Übersetzer kann sich nicht immer sicher sein wo die problematische Code-Stellen sind, und generiert (für C) auch nicht den Code um den Fehler auszulösen.
+ Beim Zugriff über den Zeiger muss die MMU die erforderliche Adressumsetzung vornehmen, erkennt die ungültige Adresse und löst einen Trap aus.
Ja, wenn die MMU die Seite nicht auflösen kann, dann wird es der CPU ein Trap zustellen und löst damit eine syncrhone Unterbrechung im Programm aus.
- Der Speicher schickt an die CPU einen Interrupt. Hierdurch wird das Betriebssystem angesprungen, das den gerade laufenden Prozess mit einem "Segmentation fault"-Signal unterbricht.
Da der Fehler direkt bedingt ist durch das Verhalten des Programms, würde es sich hier um ein "Trap" und kein "Interrupt" (unvorhersebar) handeln.
.
0 Welche der folgenden Aussagen zum Thema Dateispeicherung sind richtig? (Juli 2023)
- Bei indizierter Speicherung von Dateien ensteht externer Verschnitt auf der Platte.
Nein, weil für Dateien ganze Blöcke vergeben und herumgeschoben werden können, womit externer Verschnitt vermieden wird, weil es nicht dazu kommen kann, dass es lücken gibt die "zu klein" wären für eine Datei.
+ Festplatten eignen sich besser für sequentielle als für wahlfreie Zugriffsmuster.
Ja, weil der Lese-Schreib-Kopf der Festplatte schneller auf lokal-nahe Daten in der gleichen Leserichtung zugreifen kann, ist ist der Zugriff auch dementsprechend schneller.
- Eine Datei in einem Winows-NT-Dateisystem kann nur genau einen Dateinamen haben, da dieser in ihrem Master-File-Table-Eintrag gespeichert ist.
Nein, obwohl der Datei Name für ein "fileID" im MFT gespeichert ist, wird es auch in Verzeichnissen gespeichert und erlaubt es ähnlich zu einem UFS-Inspiriertem Datei-System, mehere Namen auf ein "Volume" zu definieren.
- Da SSDs ohne mechanische Komponenten auskommen, gibt es auch durch häufige Schreiboperationen keinen Verschleis.
Nein, Verschleis hat nichts mit der technischen Umsetzung des Speichermediums zu tun.
.
0 Welches Signal wird bei einer Speicherschutzverletzung versendet? (Juli 2023)
- SIGKILL
`signal.h(7p)` sagt "Kill (cannot be caught or ignored)".
+ SIGSEGV
`signal.h(7p)` sagt "Invalid memory reference".
- SIGTERM
`signal.h(7p)` sagt "Termination signal".
- SIGABORT
`signal.h(7p)` sagt "Process abort signal".
.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment