zweiter Versuch

(Lösungen von Alten Klausuren besprechen)

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.

zweiter Versuch
Klausur SOSI September 2004:

für die M-C-Fragen habe ich folgende Antworten angekreutzt:

a-3 b-3 c-2 d-1 e-4 f-2
g-2 h-4 i-3 j-1 k-4 l-1
m-4

Wie gesagt diese Antworten habe ich gewählt, also können auch ein paar falsche dabei sein.
Ich erwarte Vorschläge und Argumentationen zu “anders-gewählte” Antworten.


so… bei g hab ich 1, denn du kannst auf die Addressen zugreifen, selbst wenn die Funktion zurückgekehrt ist. Kriegst halt Müll, aber die Addressen sind trotzdem gültig.

Bei j hab ich 3: auf den gleichen Stellen treten immer Traps und nicht Interrupts auf.

bei l hab ich 2, denn die virtuelle Addresse steht ja nicht im Deskriptor, sondern sie geht durch MMU/Page- tables auf die Suche nach der physikalischen Addresse, die im Deskriptor stehen soll

und bei m hab ich 2: soweit ich copy- on- write- Prinzip verstanden habe, können ein Vater- und ein Sohnprozess die gleichen Pages benutzen, solange sie nicht rumschreiben.

… sind nur meine Theorien, könnte auch falsch liegen :slight_smile:


muss nicht mal Muell sein, aber man kann sich halt nicht drauf verlassen,
dass der Inhalt zwischenzeitlich nicht ueberschrieben worden ist weil der
Stack-bereich im Rahmen eines weiteren Funktionsaufrufs wiederverwendet
wurde.

tust’s aber nicht :slight_smile:

Klausur Systemprogrammierung I März 2004
Hier stelle ich mal meine Lösungen zur

Klausur Systemprogrammierung I März 2004 rein!
Bitte ebenfalls um Anregungen, Kritik, Verbesserungsvorschläge:

a)3 b)1 c)2 d)1 e)1(?) f)2 g3 (???) h3 (???)

i) 4 j)3 k)2 l)2 m)3(?) n)4 o) 4

Legende:
- = sicher
? = klein wenig unsicher
??? = stark Verunsichert


so…bei e hab ich 2: die zwei Funktionen sind eine Gefahr für Buffer Overflow

bei l hab ich 4: Anwendungsprozesse dürfen nicht mit open und read an die Gerätedateien ran.

bei o hab ich 3: von “bereit” kann ein Prozess nicht zu “blockiert” wechseln.

edit: bei i habe ich eine Frage:

Ein Unix Prozess kann durch das Sperren von Unterbrechungen (Interrupts) den
Speicherzugriff in einem kritische Abschnitte synchronisieren.

ist es falsch? gibt es unter Unix nichts, was priviligierte Befehle ausführen kann und gleichzeitig als “Prozess” bezeichnet werden kann?


deine Lösungen zu e und l klingen logisch - da sehe ich ein, dass
ich Mist gebaut habe - aber bei o versteh’ ich die Lösung nicht ganz!

Warum kann es keinen Prozess geben, der im Zustand bereit ist, wenn es
keinen Prozess im Zustand laufend gibt? Hat das was mit den blockierenden Ein/Ausgabeoperationen zu tun?

:listen:


na ja, wenn kein Prozess am Laufen ist, aber welche bereit, dann würde BS einen davon einfach laufen lassen


Mach mal ein open auf /dev/null (/dev/null ist auf jeden Fall eine Spezialdatei
crw-rw-rw- 1 root root 1, 3 Jul 16 01:04 /dev/null
und offenbar haben alle Benutzer Lese- und Schreibrecht.
Warum sollte dann kein open und read auf so eine Datei funktionieren?

Wenn man nicht zugreifen darf, dass liegt’s nicht daran, dass das eine Spezialdatei
ist, sondern nur daran, dass man keine Zugriffsrechte hat.

richtig, denn er muss ja was tun um zu blockieren. Tun kann er nur was, wenn er laeuft.
Solange er bereit ist, laeuft er aber nicht, sondern ist nur lauffaehig.

Ja, Du hast recht.
Wenn man’s genau nimmt, dann ist die Aussage nicht falsch.
Ein UNIX-Prozess wechselt im Rahmen eines Systemaufrufs in den Systemkern.
Dort fuehrt er im privilegierten Modus Code des Systemkerns aus.
Wenn da ein kritischer Abschnitt vorkommt, dann werden da tatsaechlich
auch Assembler-Routinen (spl und aehnliches) aufgerufen, die die Interrupts sperren.
Und es ist in der Tat ein Prozess der das tut.

Eine ordentlich falsche Aussage haette lauten muessen:
Ein Anwendungsprogramm unter UNIX kann durch das Sperren von Unterbrechungen
den Speicherzugriff in einem kritischen Abschnitt synchronisieren.


Neue Klausur,neues Glück…

März 2005

a)4 b)1 c)2 d)3 e)1 f) 2 oder 3 g)3 h)2 i) 1

j)2 k)3 l)2 m)4 n)2 o)4

Da bin ich mir bei mehreren nicht sicher…die Klausur hat jetz noch ein paar Sachen abgedeckt die ich nochmal anschauen muss :red:


so…

bei a hab ich keine geringste Ahnung.

bei f hab ich 1- Monoprozessorsystem, non- präemptives BS→keine Synchronisation nöitg, meiner Meinung nach.

bei i hab ich 4: BS hat keine Ahnung von Benutzerfäden.

bei j hab ich mich für 4 entschideden, aber irgendwie würde ich da gerne wissen, wie die Frage genau gemeint ist… falls es eine einstufige Tabelle ist, dann könnte man sagen:

4GB/4096B= 1048576 Seiten, 1048576*4B=4194304B


Meine Lösungen:
März 2005
a)3 b)1 c)2 d)3 e)1

f)1 g)3? h)2 i)4 j)2?

k)3 l)4 m)4 n)2? o)4

Ich bin bei manchen Fragen nicht sicher


Genau.

Eine Aussage über mehrstufige Tabellen wäre ja nicht so einfach ohne weitere Informationen zu machen
(welche Teile des AR sind genutzt)
und ausserdem muesste die Frage dann ja heissen „wie gross sind die Tabellen…“.
Wir hatten also schon genau die von Dir beschriebene Berechnung im Sinn.


Ich fands etwas schwer bei der Aufgabe auf die richtige Idee zu kommen, einfach weil eine einzige Tabelle zur Verwaltung so selten vorkommt oder erwähnt wird. In TI wird einem Zudem war mir (und nich mir ;-)) der Begriff “Seitenkacheltabelle” extrem unklar. :slight_smile: Ne kleine Erklärung dazu wär hilfreich gewesen. :wink:

Die Ergebnisse der Multiple-Choice-Aufgabe von März 2005 sind bei mir nu:

a) 1
b) 1
c) 3 (Antwort 2 wäre doch strange weil vor dem Freigeben eines Betriebsmittels nich überprüft werden muss. Beim Freigeben kann doch nix schief gehn, oder? ;-))
d) 3
e) 1
f) 2
g) 3
h) 2
i) 4
j) 3
k) 3
l) 2
m) 4
n) 2
o) 4


Wir haben in einer Gruppe folgende Antworten erarbeitet:

September 2005:

a) 1? 2?
b) 3
c) 2
d) 1
e) 3 (4)
f) 4
g) 3 (1)
h) 1
i) 2 3?
j) 1? 4?
k) 4
l)
m) 3
n) 2

? bedeutet unsicher
() bedeutet, dass man die Formulierung auch so deuten kann, dass sie passt


Meine Lösungen:

a)1 b)3 c)2 d)3 e)4 f)4 g)3 h)1 i)2 oder 3 g j)1 k)?
l)? m)3? n)2

zu g: bezügl. Antwort 1 ,der Zustand blockiert tritt nur in der kurzfristigen Einplanung auf?!?

zu j: Zu Antwort 4 fällt einem ja erstmal ein dass in den Folien stand ,zum beendigungsmodell , “Ein Interrupt darf nie so behandelt werden…”
Andererseits ist an antwort 1 nix falsches zu finden…deshalb sag ich mal 1

September 2005
Joa:

a) 1
b) 3
c) 2
d) 1
e) 4
f) 4
g) 3
h) 1
i) 3
j) 3
k) 4
l) 4
m) 3
n) 2


tja, dann stelle ich auch meine da:

a) 1
b) 3
c) 2
d) 3?
e) 4??- eigentlich glaub ich- keine davon
f) 4
g) 3
h) 1
i) 3
j) 3
k) 3, 4?
l) 4
m) 3
n) 2


Weiter gehts

März 2006

a)2 b)3 c)1 d)1 e)2 f)4 g)4 h)4 i)2 j)2 k)4 l)2
M)3 n)3


also märz 06 klingt gut, bis auf i), wo ich 3 sagen würde (steht zumindest so im Skript (6.29)).