GBS Selbsttest (01) (Stefan Bosse) [9.2.2025]

GBS Selbsttest (01)

Dieser Selbsttest dient der Vorbereitung auf die Klausur.

GBS Selbsttest (01)
Inhalte
Kurzzusammenfassung C
Betriebssysteme
Programmierung
Prozesse
Synchronisation

Inhalte

Die Klausur behandelt folgende Themen (gemäß Vorlesungsmaterial und Konzepte/Methoden aus den Übungen):

  1. Taxonomie der Betriebssysteme
  2. Die Programmiersprache C
  3. Speichermodelle
  4. Dateisysteme
  5. Prozesse
  6. Das Basekernel OS
  7. Virtualisierung
  8. Kommunikation

In der Klausur wird nicht programmiert. Es gibt aber Aufgaben wo kleine Snippets in C geschrieben werden müssen. Daher sollte der Einsatz von C in der Betriebssystemprogrammierung bekannt sein.

Kurzzusammenfassung C

Definition 1. C (⟨⟩: optional)
// Variablen
⟨<qualifier>⟩ <datatype> ⟨*⟩ <identifier> ⟨,...⟩;
// Statisches Array
⟨<qualifier>⟩ <datatype> ⟨*⟩ <identifier> [<size>] ⟨,...⟩;
// Datenstruktur
struct <identifier> {
  <datatype> <identifier>;
  <datatype> <identifier>;
  ...
};
// Funktion
⟨<qualifier>⟩ <datatype> <identifier> (⟨<datatype> <identifier>,..⟩⟩ { .. }
// 

Betriebssysteme

Aufgabe 1. Erklären Sie den Begriff Schichtenarchitektur bei einem BS. Nennen Sie einen Vorteil der Schichtenarchitektur.


Aufgabe 2. Was versteht man unter einem Mikrokern eines Betriebssystems?


Aufgabe 3. Nennen Sie vier Betriebsmittel, welche das Betriebssystem verwaltet! Welche davon sind hardware- und welche softwaretechnische Betriebsmittel?


Programmierung

Aufgabe 4. Warum programmiert man Betriebssysteme in C? Nennen Sie Vor- und Nachteile.


Aufgabe 5. Wozu braucht verwenden Mikroprozessoren Register? Wann wählt ein Compiler diese anstelle des Hauptspeichers aus? Nehmen wir an ein Prozessor hat eine genügend große Anzahl von Registern. Weisen Sie im nachfolgenden Ausdruck den Variablen Hauptspeicher (M) und Register (R) zu. Register müssen eindeutig nummeriert werden (aber frei wählbar).

int y;
void foo(int a,int b) {
  y=(a+b)*(a-b)/2
}
... foo(2,3) ...

Aufgabe 6. Ein Speicherbereich im Adressraum habe den Adressbereich 1000-1015. Definieren und initialisieren Sie in C eine Variable x die vorzeichenlose Ganzzahlen (wie nehmen 32 Bit an) mit der auf diesen Speicherbereich zugegriffen werden kann.


dW5zaWduZWQgaW50ICp4PShpbnQqKTEwMDA7

Prozesse

Aufgabe 7. Erklären Sie folgenden Begriff: Was bezeichnet man als Timesharing?


Aufgabe 8. Erläutern Sie: Warum ist der Scheduling-Algorithmus "Shortest Remaining Time First" (SRTF) kaum zu realisieren?


Aufgabe 9. Woraus besteht bzw. was kennzeichnet der/den Zustand eines Prozesses allgemein (unabhängig vom Betriebssystem)?


Aufgabe 10. Welche drei administrativen Zustände eines Prozesses (aus Sicht des Betriebssystems) werden benötigt um Prozessverwaltung und Prozesswechsel zu ermöglichen?


Aufgabe 11. Zeichnen Sie nun das Zustandsübergangsdiagramm (Graph) mit diesen drei Prozesszuständen. Es soll noch zwei weitere Zustände geben: Start und Ende (End).

Auf den Knopf mit dem Doppelkasten klicken um die Zeichnung zu bearbeiten. Die Zeichnung wird gespeichert ebenso die Historie der Linien (Undo später möglich). Die Strichstärke und Farbe kann eingestellt werden.

 ⧉ 

#label

Aufgabe 12. Nachfolgend soll der Prozesswechsel und die Prozessauswahl nach dem Round-Robin Prinzip mit einer Zeitscheibe von 2 Zeiteinheiten für die Prozesse P1 - P4 in ein Zeitliniendiagrammen eingetragen werden. Es gibt außer bei Erreichen des Zeitquantums keine Präemption, EA wird nicht bevorzugt. Entscheidend ist die Einreihung in die Ready Queue. Das Scheduling und die Prozessausführung wird in Zeitliniendiagrammen beschrieben. Es gelten folgende Farben und textuell Symbole:

  1. grün: Prozess in Ausführung (X);
  2. rot: Prozess ist blockiert (W);
  3. blau: Prozess is rechenbereit (R).

In einem Zeitschritt (Spalte) kann der Zustand von jedem Prozess durch Auswahl der Farbe aus der Farbpalette ausgewählt und durch Klicken im Feld gesetzt werden.

P1: Start bei 0, Warten auf Ereignis am Ende von 4 (ab 5), Eintritt Ereignise bei 7
P2: Start bei 5
P3: Start bei 1, Warten auf Ereignis am Ende von 3 (ab 4), Eintritt Ereignise bei 8
P4: Start bei 6
Ein 4-Prozesssystem
T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 G G B B G R R B B B B G G B B
P2 W W W W W G G B B G G B B B B
P3 W B G G R R R R B B B B B G G
P4 W W W W W W B G G B B B B B B

Synchronisation

Aufgabe 13. Warum müssen die Semaphor-Operationen P() und V() selbst wieder ununterbrechbar sein? Bedenken Sie eine Ausführung mit einem parallelen Multiprozessorsystem.



Created by the NoteBook Compiler Ver. 1.36.2 (c) Dr. Stefan Bosse (Mon Feb 10 2025 18:17:24 GMT+0100 (Central European Standard Time))