multiple-choice-fragen.


Spontan sehe ich das genauso.


Leute, hilft mir auf der Sprünge, was könnte denn hier falsch sein? ich denke, es wäre unter ‘b’ .

Welche der Aussagen bzgl. eines logischen Adressraums, der auf dem Prinzip der Segmentierung aufgebaut wurde, ist falsch?
a) Segmentierung unterstützt die Ein- und Auslagerung von Segmenten auf eine Festplatte, da ein Segment nicht an den selben Ort eingelagert werden muss, an dem es vor einer Auslagerung platziert war.
b) Über gemeinsame Segmente können zwei logische Adressräume auf die selben Speicherzellen zugreifen.
c) Die Segmentierung erlaubt bei der Abbildung eines logischen Adressraums keinen Zugriff auf Speicherzellen, die auch Bestandteil von anderen logischen Adressräumen sind (Zugriffschutz).
d) Segmente können verschiedene Länge haben. Eine Längenbegrenzung wird üblicherweise bei der Speicherabbildung geprüft.


Meiner Meinung nach, ist es “c”, denn Segmentierung erlaubt gemeinsame Segmente.


Würd auch c sagen.Das b möglich ist,steht, glaub ich,sogar explizit in den folien…


Übrigens, macht schon jemand tech2-Vorbereitung? :anx: Schaut mal in die Forum-Seite für tech2 hin. Könnte jede menge Hilfe gebrauchen…

uneinsichtige MC-Fragen…
Aus so manchen MC-Fragen werde ich nicht so ganz schlau:
wie z.B:

Man unterscheidet kurz- mittel und langfristige Prozesseinplanung.
Welche Aussage hierzu ist richtig?

a) Wenn ein Prozess auf Daten von der Platte wartet, wird er in den Zustand
blockiert versetzt. Da die Einlagerung von Daten von der Platte sehr lange
dauert (mehrere Millisekunden gegenüber einem CPU-Takt im GHz-
Bereich), ist diese Situation der mittelfristigen Einplanung einzuordnen

b) Wenn der Adressraum eines laufbereiten Prozesses aufgrund von
Speichermangel ausgelagert wird (“swap-out”) wird der Prozess im
Rahmen der mittelfristigen Einplanung in den zustand “blockiert” überführt
bis die Daten wieder eigelagert werden.

c) Wenn ein Prozess auf einen Seitenfehler (page fault ) trifft , wird er im
Rahmen der kurzfristigen Einplanung in den zustand “blockiert” überführt,
bis die Seite eingelagert wurde.

oder
d) Wenn ein Prozess auf einen Seitenfehler (page fault) trifft, wird er im
Rahmen der kurzfristigen Einplanung in den zustand “schwebend
bereit” überführt, weil er ja unmittelbar nach dem Einlagern der Seite
wieder weiterlaufen kann.

hmm, also b) kann nicht stimmen, da das der Zustand “schwebend bereit”
wäre.
a) kann ebenfalls nicht stimmen, da das auf ein Prozess ist, der auf
die Zuteilung eines Betriebsmittels wartet => kurzfristige Einplanung

bleibt nur noch c) und d):

d) kan nicht stimmen, da das Stichwort “schwebed bereit” ja auf die
Mittelfristige Einplanung zutrifft

hmm, müsste es also c) sein…

kann das Stimmen??? :wand:

und dann gleich noch eine MC-Frage, die mich total verunsichert:

Ein Prozess wird in den Zustand bereit überführt. Welche Aussage passt
nicht zu diesem Vorgang?

a) Der Prozess wurde von einem Prozess mit einer höherer Priorität
verdrängt.

b) Der Prozess möchte Daten von der Festplatte lesen und die Daten stehen noch nicht zur Weiterbearbeitung bereit.

c) Der Prozess hat einen Seitenfehler für eine Seite, die noch nicht im Hauptspeicher vorhanden ist.

d) Der Prozess hat auf Daten von der Tastatureingabe gewartet und diese stehen nun zur Weiterbearbeitung bereit.

Hier würde ich a) und d) aussschliessen -
wären also noch b) und c) => quasi eine 50 50% chance :rolleyes:

Tipps? Anregungen, Wissende?


bei der ersten würde ich auch auf “c” tippen, bei der zweiten- auf “a”: bei b, c und d handelt sich um “blockiert”

@: Lotec
Nunja, genau das ist ja eben das Problem bei der 2. MC-Frage, die
ich reingestellt hab’! Denn man soll ja eine Aussage wählen,
die NICHT zu diesem Vorgang passt! a) passt aber eben zu diesem
Vorgang - kann also nicht sein…

ich würde b) tippen, denn b wäre Zustand blockiert -


achso, sorry, hab zu schnell gelesen… die Antwort würde mich jetzt auch interessieren


Ich denk auch, dass es Antwort b) ist.
Ein Prozess ist ja nur dann bereit, wenn alle zur Ausführung notwendigen Daten vorhanden sind. Sonst ist er nur “new”. Denk ich zumindest.


bevor ich jetzt alle alten Klausuren durchsuche - welche Aufgabe von wann ist das? Bist Du sicher, dass Du die Antworten richtig abgeschrieben hast?
(So aus der Erinnerung tippe ich drauf, dass bei c) kein „nicht“ drin steht)


Ja, das könnte daran liegen, dass es eine Systemprogrammierungs-Klausur
ist!

Diese Aufgabe ist von: März 2005 (Systemprogrammierung I), MC-Aufgabe i)


Hmm, ja - da steht die Aufgabe exakt so drin.
Ich muss morgen mal in meinen Ordner mit den alten Aufgaben schauen.
Es gab’ 2 oder 3 MC-Fragen in der Vergangenheit, die waren falsch.

Nach meiner Musterloesung waere b anzukreuzen gewesen.
Aber dass Ihr auch an c) Zweifel habt ist schonmal sehr gut :slight_smile:

  • denn wenn ein Prozess einen
    Seitenfehler ausloest und die Seite nicht im Hauptspeicher liegt, dann muss
    die Seite eingelagert werden und so lange ist der Prozess im Zustand blockiert (er wartet ja auf das Ende eines E/A-Vorgangs).
    Das passt nicht so recht zum 'Uebergang in den Zustand bereit".

Ich versuch aber noch rauszubekommen, was da los war.


@juk: vielen Dank - das wäre sehr nett!

b) hört sich doch gut an - hätte ich auch getippt!

und was würdest du zur 1. MC-Frage sagen, über
kurz- mittel und langfristige Prozesseinplanung


Zur merkwuerdigen MC-Frage 1i aus der SP1-Klausur von Maerz 2005:

Antwort c) war tatssachlich falsch formuliert.
Die gleiche Frage gab’s schon mal im SS 2003 - da hiess es noch
“Der Prozess hat einen Seitenfehler für eine Seite, die noch im Hauptspeicher vorhanden ist.”
Und in der Situation kann das Betriebssystem ein page-reclaim aus der Liste der freigegebenen (aber noch nicht wiederverwendeten) Seiten machen, sie aus
dieser Liste rausnehmen und im Seitendeskriptor wieder als anwesend markieren.
Da in der Situation nur ein paar Eintraege in Datenstrukturen veraendert werden
muessen, kann das alles im Rahmen der page-fault-Behandlung schnell erledigt
werden und der Prozess laeuft nach dem return-from-interrupt einfach weiter.
Es gibt also gar keinen Zustandswechsel (weder blockiert noch bereit, er bleibt einfach
laufend).

Dass uns da ein “nicht” in die Antwort im Maerz 2005 reingerutscht ist, war wohl nicht
beabsichtigt (haben gluecklicherweise nur ganz wenige die SP1-Klausur damals geschrieben -
ich werd’ mir jetzt mal anschauen ob dieser Fehler wesentliche Folgen hatte).
[… da haben wir ziemlich Dusel gehabt. Die meisten hatten b angekreuzt und damit auch
die Punkte bekommen, einige hatten a oder d - das war auf jeden Fall daneben.
Nur 2 hatten c angekreuzt und die 2 Punkte damit nicht bekommen obwohl das auch richtig
gewesen waere. Aber bei beiden haetten die 2 Punkte nichts an der Notenstufe geaendert.]


Deine Ueberlegungen dazu waren voellig richtig.

Frage zu Shared-Memory-Segmenten…
eine kleine Frage hab’ ich noch auf Lager:

wenn ich ein Shared-Memory-Segment anlege, kann ich ja wie bei einer
Datei die Zugriffsart festlegen für die Prozesse! Aber ich MUSS doch keine
UNIX-Sempahore anfordern, damit beide (mehrere) Prozesse dieses
Segment gemeinsam nutzen können, oder? Ich meine, natürlich ist das
sinvoll, aber es ist doch kein MUSS???

gruss Basti


Ist es eigentlich Pflicht, uns mit IPC- Mitteln (Shared Memory, Semaphore, Message Queues) und ihrer Semantik auszukennen? Wir haben doch nichts davon programmiert in den Übungen…


Natürlich haben wir Semaphoren programmiert!
Aber wir haben uns nirgends mit Shared-Memory-Segmenten
beschäftigt.


ich meinte, wir haben keine Funktionen wie semget oder semop benutzt, oder irre ich mich? was mich interessiert- ob wir Ahnung von dieser Semantik haben sollen.