Betriebssystemarten und Architekturen Flashcards

1
Q

Welche Grundfunktionen des Betriebsystems gibt es?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die sich aus den Grundfunktionen ergebenden Aufgaben?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Beschreiben Sie die Einordnung im Schichtenmodell eines Rechners

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Betriebssystemarten (2) gibt es und wie werden sie klassifiziert (3)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche Klassen von Echtzeitbetriebssystemen kennen sie?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Welche Scheduling Algorithmen kennen sie?

A

FPP: Fixed Priority Preemptive
FPN: Fixed Priority non-preemptive
FIFO: First In First Out
Timeslice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche BS-Architekturen kennen sie?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Erzählen Sie was zum Grundmodell eines Rechners

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie ist der Prozessoraufbau nach dem Grundmodell eines Rechners?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Erzählen Sie was zu den Registern eines BS

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

was ist PC, PSW, SP, CU, PU

A

Programm Counter
Programmstatuswort
Stapelzeiger
Control unit
Processor unit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist der Big Endian?

A

Bei der Big-Endian-Anordnung wird das höchstwertige Byte (das sogenannte Most Significant Byte, MSB) zuerst gespeichert und das niederwertigste Byte (das sogenannte Least Significant Byte, LSB) zuletzt. Es ähnelt der natürlichen menschlichen Lesereihenfolge von links nach rechts. Beispielhaft wird die 16-Bit-Zahl 0x1234 in Big-Endian-Anordnung als 0x12 (MSB) gefolgt von 0x34 (LSB) gespeichert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist der Little Endian?
von Intel verwendet

A

Bei der Little-Endian-Anordnung wird das LSB zuerst gespeichert und das MSB zuletzt. Dies entspricht einer umgekehrten Reihenfolge im Vergleich zur Big-Endian-Anordnung. Die gleiche 16-Bit-Zahl 0x1234 würde in Little-Endian-Anordnung als 0x34 (LSB) gefolgt von 0x12 (MSB) gespeichert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

was ist der Adressraum?

A

Adressraum = Menge aller möglichen Adressen,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

was ist die Speicherstelle?

A

Speicherstelle = Kleinste adressierbare Einheit (häufige Größe: 1 Byte)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

was ist die Adressraumgröße?

A

Adressraumgröße = Anzahl aller möglichen Adressen

17
Q

wie ist die Reihenfolge der Adressen in den adressraumplatzierungen?

A

1) Code, Konstanten - Dinge in C ganz vorne im Adressbereich, Programmcode
2) Daten, globale und lokale Variablen mit Initialisierung, Speicherklasse static
3) nicht init. Var. (global und lokal) mit Speicherklasse static
4) Heap, dyn. allokiert und freigegeben mit malloc()
5) Stack, lokale Variablen mit Speicherklasse auto()

18
Q

Wie wird der Speicher vom Stack kategorisiert?
Was ist die Bezeichnung für das Hinzufügen von elementen und Entfernen von elementen?

A

LIFO, last in first out
der Stackpointer zeigt auf den Top of Stack Element
Push &
Pop

19
Q

welchen Adressraumbereichen würden sie die Variablen aus dem folgenden Code zuweisen?
1) winner
2) textlength
3) ps
4) n
5) p

A

1) II - init
2) I - Code
3) V - stack
4) IIInicht init
5) V - stack

20
Q

wie wird der Wert der Variable 0x12345678 beginnend ab der Adresse 0x080490ba verteilt?

A

0x080490ba - 0x78 LSB
0x————-b - 0x56
0x————-c - 0x34
0x————-d - 0x12 MSB
Auf eine Zahl am ende der Adresse kommt ein Byte als Wert einer Variable

21
Q

wofür wird die Sicherung der Rücksprungadresse in Bezug auf Unter- und Oberprogramme verwendet?

A

Um den Fluss der Ausführung zwischen dem Hauptprogramm und dem Unterprogramm zu steuern.

22
Q

Welche Befehle werden bei der Sicherung der Rücksprungadresse verwendet, um auf Unter oder Oberprogramm zu kommen?

A

Im Kontext von Assembler- oder maschinennaher Programmierung werden oft die Befehle JSR (Jump to Subroutine) und RET (Return) verwendet, um Unterprogrammaufrufe und die Rückkehr zum Oberprogramm zu ermöglichen.

23
Q

Wo wird die Rücksprungadresse bei der Sicherung mit dem Befehl JSR gespeichert?

A

Die Rücksprungadresse, also die Adresse des Befehls im Hauptprogramm, von dem aus der Unterprogrammaufruf erfolgte, wird auf dem Stapel (Stack) gespeichert. Anschließend erfolgt der Sprung zur Adresse des Unterprogramms.

24
Q

Der Befehl RET (Return) wird verwendet, um vom Unterprogramm zum Hauptprogramm zurückzukehren. Was passiert dabei?

A

Dabei wird die zuvor auf dem Stapel gespeicherte Rücksprungadresse wiederhergestellt und der Programmfluss zurück zum Hauptprogramm geleitet.

25
Q

Welche Systemaufrufe kennen sie?

A
26
Q

Was sind Systemaufrufe?

A

betriebssystemnahe Programmierung (direkte Nutzung der API)

27
Q

nennen sie eine typische systemprogrammiersprache

A

C

28
Q

wozu dienen systemaufrufe?

A

sie dienen dazu aus einem Programm eine Dienstleistung des Betriebssystems aufzurufen

29
Q

welchen Rückgabewert leifern Systemaufrufe im Fehlerfall?

A

-1

30
Q

was tut der der systembefehl “fork()”
was erzeugt der Befehl noch?

A

Erzeugt Kopie des aufrufenden Prozesses (Elternprozess) also ein Kindprozess
Die Prozess ID des Kindprozesses

31
Q

was ist “fd” im Kontext der Systemaufrufe? Nennen Sie einen beispiel in der Verwendung

A

Unter fd versteht man den file Descriptor. Damit lassen sich zb über den Befehl fd = open dateien öffnen

32
Q

Beschreiben Sie die Schritte eines Systemaufrufs
zb. n=read(fd, &buffer, nbytes)

A

Schritte 1-3: Speichern auf Stack
Schritte 4-6:
- Benutzerprogramm ruft read auf
- Code für read wird im CPU Register abgelegt (Eintrittscode)
- Sw-Interrupt auslösen => Moduswechsel
Sprung auf feste Adresse im Kern (Eintrag auf der Interrupt-vektortabelle)
Vektornummer: 0x80 Linux, windows 0x2e
Schritte 7-9:
- Dispatcher(Systemdienstverteiler) erkennt Aufruf von read()
- Systemdienst wird abgearbeitet
- Dispatcher(Systemdienstverteiler) gibt Kontrolle zurück(Kernaustritt)
Schritte 10-11:
- Rücksprung in das Benutzerprogramm
- Aufräumen des Stacks

33
Q

Erzählen sie was zur Multiprogrammierung und erwähnen sie dabei Speicherpartitionen und ihre Rolle im Hinblick auf Jobs.

A

Die Multiprogrammierung ist eine Technik, die es ermöglicht, mehrere Programme (auch als Jobs bezeichnet) gleichzeitig auf einem Computersystem auszuführen. Bei der Multiprogrammierung werden die Programme in separate Speicherpartitionen geladen und das Betriebssystem verwaltet den Wechsel zwischen den laufenden Jobs.

Die Speicherpartitionen werden verwendet, um den Speicherplatz für jedes Programm zu reservieren. Jeder Job erhält eine dedizierte Partition, in der sein Programm und die zugehörigen Daten geladen werden. Dadurch wird sichergestellt, dass die Jobs isoliert voneinander ausgeführt werden und sich nicht gegenseitig beeinflussen können.

34
Q

Was versteht man unter spooling bei der Multiprogrammierung?

A

Zwischenspeichern von Jobs und deren Daten auf einem Pufferspeicher (Spool), während andere Jobs im System ausgeführt werden. Dies ermöglicht eine optimale Auslastung der Geräte und eine reibungslose Parallelverarbeitung.

Spooling (Simultaneous Peripheral Operation On-Line) ist eine Technik, die häufig mit der Multiprogrammierung verwendet wird. Es bezieht sich auf das Zwischenspeichern von Daten von Ein- und Ausgabegeräten, um eine effiziente und parallele Verarbeitung zu ermöglichen. Beispielsweise können Druckaufträge oder Daten für die Massenspeicherung in einem Pufferspeicher (Spool) zwischengespeichert werden, während andere Jobs im System ausgeführt werden. Dies ermöglicht eine optimale Auslastung der Geräte und eine reibungslose Parallelverarbeitung.

35
Q

Was versteht man unter Timesharing unter Multiprogrammierung

A

Aufteilung der Rechenzeit auf Nutzer und Jobs

Timesharing ist eine weitere Technik, die mit der Multiprogrammierung einhergeht. Sie ermöglicht es mehreren Benutzern, das Computersystem gleichzeitig zu nutzen, indem jedem Benutzer ein kleiner Zeitabschnitt zugewiesen wird. Das Betriebssystem wechselt schnell zwischen den Benutzern, wodurch der Eindruck entsteht, dass jeder Benutzer das System exklusiv nutzt. Dies ermöglicht eine effiziente Ressourcennutzung und eine bessere Interaktion mit dem System.