mc-fragen 2

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

mc-fragen 2
Liebe Kommilitonen! :finger:

Helft bitte auf der Sprünge! :wand:

Also, Klausur 2002.

f) Ein laufender Prozess wird in den Zustand blockiert überführt. Welche
Aussage passt nicht zu diesem Vorgang: a oder b?
a) Der Prozess wartet auf Daten von der Festplatte.
d) Der Prozess wartet auf eine Tastatureingabe.

h) Für welchen Zweck wird der Systemaufruf shmat() benutzt?
a) Mit dem Systemaufruf shmat() kann ein Prozess einen Teil seines
Speichers exportieren, sodass andere Prozesse darauf zugreifen können.
b) Der Systemaufruf shmat() blendet ein bestehendes Shared-Memory-Segment
in den logischen Adressraum des aufrufenden Prozesses ein.
c) Der Aufruf von shmat() erzeugt ein neues Speichersegment, auf das verschiedene
Prozesse gleichberechtigt zugreifen können.
d) Damit zwei Prozesse auf einen gemeinsam genutzten Speicherbereich zugreifen
können müssen diese zuerst vom Betriebssysteme jeweils einen Semaphor
anfordern. Mit der Hilfe des Semaphors und dem Systemaufruf shmat() können
die Prozesse anschliessend auf den gemeinsamen Speicher zugreifen.

i) Sie kennen den Translation-Look-Aside-Buffer (TLB). Welche Aussage
ist richtig?
a) Der TLB verkürzt die Zugriffszeit auf den physikalischen Speicher,
da ein Teil des möglichen Speichers in einem sehr schnellen Pufferspeicher
vorgehalten wird.
b) Der TLB puffert Daten bei der Ein-, Ausgabebehandlung und beschleunigt diese
damit.
c) Verändert sich die Speicherabbildung von logische auf physikalische Addressen
aufgrund einer Adressraumumschaltung, so werden auch die Daten im TLB
ungültig.
d) Wird eine Speicherabbildung im TLB nicht gefunden, wird der auf den Speicher
zugreifende Prozess mit einer Schutzraumverletzung (Segmentation Fault)
abgebrochen.

l) Ein System setzt Segmentierung und Seitenadressierung ein. Zwei Prozesse
sollen ein Segment gemeinsam benutzen. Wie geht das Betriebssystem
vor, um das gemeinsame Segment einzurichten?
a) Das Betriebssystem legt eine Seitenkacheltabelle für das gemeinsame
Segment an und trägt diese bei beiden Prozessen in die jeweiligen Segmenttabellen
ein.
b) Das Betriebssystem trägt jeweils eine Seitenkacheltabelle in die prozesseigene
Segmenttabelle ein und sorgt dafür, dass die Einträge jeweils auf die gleichen
Kacheln im Hauptspeicher verweisen.
c) Gemeinsame Segmente können nur durch den Prozess jedoch nicht vom
Betriebssystem eingerichtet werden.
d) Die beiden Prozesse bekommen die gleiche Segmenttabelle zugewiesen.

o) Welche Aussage bzgl. eines asymmetrischen Verschlüsselungsverfahrens
ist richtig?
a) Beim Erstellen einer digitalen Signatur wird mit Hilfe des öffentlichen
Schlüssels ein Hash-Wert einer Nachricht verschlüsselt.
b) Bei asymmetrischen Verfahren und vielen Kommunikationsteilnehmern wird
lediglich pro Teilnehmer ein Schlüsselpaar mit öffentlichem und privatem
Schlüssel benötigt.
c) Das RSA-Verfahren nach Rivest, Shamir und Adleman basiert auf großen Primzahlen
und ist daher besonders effizient implementierbar. So lassen sich große
Nachrichten leicht direkt verschlüsseln.
d) Aus dem privaten Schlüssel muss sich leicht ein öffentlicher Schlüssel ableiten
lassen.

Danke für Teilnahme!


f) keiner von beiden - da hast du wohl die falsche Auswahl getroffen…
h) müsse b) sein
i) müsste c) sein
l) steht im forum - muss man halt mal ein bisschen suchen und
Eigenengagement mitbringen - ist a)
o) müsste b) sein


Ok. da ist die volle version unter f:

f) Ein laufender Prozess wird in den Zustand blockiert überführt. Welche
Aussage passt nicht zu diesem Vorgang?
a) Der Prozess wartet auf Daten von der Festplatte.
b) Der Prozess wartet mit dem Systemaufruf wait() auf die Terminierung eines
Sohn-Prozesses.
c) Der Prozess hat einen Seitenfehler für eine Seite, die bereits in die Freiliste der
Seiten eingetragen aber noch im Hauptspeicher vorhanden ist.
d) Der Prozess wartet auf eine Tastatureingabe.

Und ich war der meinung, dass b und c sind richtig, d wäre auch richtig und a war falsch, denn Prozess wartet ja nich auf die daten, sondern greift auf sie selbst, oder?


Unter i bin ich nicht damit einverstanden. TLB existiert dafür,das er logische auf physikalische Adresse umsetzt, dadurch werden doch die daten in TLB nicht ungültig.


warum meinst Du dass c richtig ist?


Doch. Wenn du den Adressraum umschaltest, sind die Umsetzungen von logischen auf physikalische Adressen, die im TLB gecached wurden, ungültig geworden. Sie gelten ja nur für einen bestimmten logischen Adressraum. Wird der umgeschaltet, muss der TLB auch geleert werden.


ich denke b) ist richtig … bei c) würde der prozeß doch nicht blockieren, oder?


jetzt muessen wir vorsichtig sein, dass wir noch mit richtig und falsch noch das Gleiche
meinen :slight_smile: - die Frage war ja, was passt nicht zum Zustandsübergang → blockiert.
b) passt dazu - denn wenn man in wait auf das Terminieren eines anderen
Prozesses wartet, dann wird man so lange blockiert. Das exit eines Sohnprozesses
loest das wakeup aus. (und das kann ja beliebig lange dauern bis der irgendwann
mal stirbt, wenn er’s ueberhaupt je tut.)
c) passt nicht dazu - denn wenn die Seite noch im Hauptspeicher ist muss der Prozess
nihct blockiert werden sondern es reicht, die Seite aus der Freiliste zu nehmen
und in der Pagetable wieder als anwesend zu markieren und schon gehts
weiter. Das wird im Rahmen des page-fault-Handlings gemacht aber es gibt
keinen Zustandswechsel und natuerlich damit auch keinen Prozesswechsel.
Man muss ja auf nichts warten was laenger dauern koennte.


mist … da hab ich mal wieder das nicht überlesen oO … somit wär ich wohl für c)