Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

dimi

Trainee

  • "dimi" started this thread

Posts: 41

Date of registration: Nov 18th 2002

1

Sunday, March 6th 2005, 4:40pm

klausur betriebssysteme

kann mir jemand erklären, wie FIFO Second Chance funktioniert?
wie bestimmt man die Ladezeit?

Benjamin

Segelnder Alter Hase

  • "Benjamin" is male

Posts: 3,827

Date of registration: Oct 1st 2002

Location: Region Hannover

Occupation: Alumni

2

Sunday, March 6th 2005, 4:46pm

Du bekommst bei den Aufgaben immer eine Tabelle, die für die aktuellen Rahmen die Ladezeit vorgibt.
Wenn Du nun in der Aufgabe etwas an den Rahmen tust und sich die Ladezeit ändert, dann denkst Du dir einfach eine aus. Wichtig ist dass die (Lade-)Zeiten die richtige Reihenfolge darstellen.
Du nimmst also einfach die letzte Zeit, die dir die Aufgabe bietet (also höchste Zeitzahl bei Lade oder Zugriffszeit) und erhöhst sie bei jedem Schritt um 1 oder 10 oder ...

Zu den Schritten siehe Klausur Herst 2002:
Verwneden Sie am besten Zehnerschritte (80,90,100,...) für die ladezeiten der neuen Seiten und unterteilen Sie diese dann in Einerschritte im Falle von FIFO Second Chance.
Es gibt nur eine bessere Sache als auf dem Wasser zu sein: Noch mehr auf dem Wasser sein.

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

3

Sunday, March 6th 2005, 8:10pm

FIFO wie normales FIFO, also First In First Out, was als ersten drin war kommt raus, aber mit folgendem Unterschied:
Die zum entfernen ausgewählte Seite wird auf das Reference Bit überprüft:
ref-bit 0: Entferne Seite aus dem Rahmen -> lade neue Seite in den Rahmen -> fertig
ref-bit 1: Setze ref-bit auf 0 -> setzte Ladezeit auf aktuelle Ladezeit (letzte Zugriffszeit unverändert) -> Das ganze nochmal (zu beachten: Bei einigen Klausuren soll man an dieser Stelle die aktuelle Zeit lediglich um 1 inkrementieren nicht um das sonst vorgegebene Intervall)
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

4

Tuesday, March 8th 2005, 10:48am

Ich habe mal eine Frage zum Echtzeitscheduling via Earliest Deadine First!

Was ist dabei die Deadline? Die Zeit, nach welcher der Prozess ursprünglich hätte enden sollen, oder die Zeit, die der Prozess noch braucht?
Das Problem taucht bei mir auf, wenn zwei Prozesse nach hinten verschoben wurden, und sich nun um die CPU schlagen. Einmal Prozess A, der noch 10 Sekunden braucht, aber schon zum zeitpunkt t=10 hätte fertig sein sollen und Prozess B, der noch 5 Sekunden braucht, aber erst zum Zeitpunkt t=20 hätte fertig sein sollen.

Ich meine: Prozess B ist dran. Hab hier aber grad ne Aufgabe, da wird A drangenommen.

Was nun?
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

This post has been edited 1 times, last edit by "Markus" (Mar 8th 2005, 10:49am)


Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

5

Tuesday, March 8th 2005, 11:58am

Deadline = Zeitpunkt an dem das nächste Intervall des Prozesses beginnt.
Beispiel: Prozess A rechnet alle 30ms für 10ms.

Source code

1
2
3
0     5     10     15     20     25     30     35
|======|                                |=====....
                                        ^ Deadline für vorherigen Prozess
"NP - The class of dashed hopes and idle dreams." Complexity Zoo

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

6

Tuesday, March 8th 2005, 1:06pm

*autsch* das tat weh! Mächtig dummer Fehler.

Danke danke
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

snoopy

Junior Schreiberling

  • "snoopy" is male

Posts: 146

Date of registration: Feb 29th 2004

Location: Hannover

Occupation: Informatik

7

Tuesday, March 8th 2005, 3:15pm

Klausur Herbst 2002
Aufgabe 4d

woher kommt das "t l,mittel". Steht nicht im Text, wurde es berechnet? wie?

Leif

Junior Schreiberling

  • "Leif" is male

Posts: 128

Date of registration: Oct 9th 2002

Location: Hannover

Occupation: Design and Research Team Lead at Automattic, ex-FGSE WiMi

8

Tuesday, March 8th 2005, 4:15pm

Die mittlere Latenzzeit ist die halbe Umlaufzeit, siehe Modul 15, Seite 23.

This post has been edited 1 times, last edit by "Leif" (Mar 8th 2005, 4:16pm)


Leif

Junior Schreiberling

  • "Leif" is male

Posts: 128

Date of registration: Oct 9th 2002

Location: Hannover

Occupation: Design and Research Team Lead at Automattic, ex-FGSE WiMi

9

Tuesday, March 8th 2005, 6:01pm

Uebungsblatt 4, Aufgabe fuer Uebungsblatt 5 auf Seite 12 (die Aufgabe mit dem RR unter Voraussetzungen a-e)

In der Loesung (Uebung 5, Seite 3ff) kann ich mir keinerlei Reim auf die Antworten zu b und c machen. Versteht es jemand und koennte die Herleitung hier einmal verbal formulieren?

Vielen Dank.

Flu

Praktikant

  • "Flu" is male

Posts: 26

Date of registration: Oct 9th 2002

10

Wednesday, March 9th 2005, 11:16am

Wenn ich es richtig sehe, sind die beiden Lösungen vertauscht. Vielleicht hilft Dir das ja schon weiter.

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

11

Wednesday, March 9th 2005, 12:58pm

Hi,weiss vielleicht jemand wo man im Script und Übungen was über Klausuraufgabe2004 Aufgabe3 bekommt? Das mit dem Speicher und den Seitenrahmen.
Ich muss irgendwie leicht blind sein :(

Ah und noch was,ich weiss,es ist bestimmt leicht,aber kennt ihr das auch,wenn man nichtmal auf seinen Namen kommt? :D
Also wenn ich das habe:

0,7= 1-(1-x)(1-1/2)(1-1/4)
Wie rechnet man das am leichtesten um, um auf x zu kommen?
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

This post has been edited 1 times, last edit by "Dot" (Mar 9th 2005, 1:16pm)


denial

Erfahrener Schreiberling

  • "denial" is male

Posts: 394

Date of registration: Feb 18th 2003

Location: Göttingen

Occupation: Linux Coder (ex Mathe SR Inf Student)

12

Wednesday, March 9th 2005, 1:02pm

Quoted

Original von Flu
Wenn ich es richtig sehe, sind die beiden Lösungen vertauscht.

Wenn ich es richtig sehe, sind die beiden Lösungen nicht vertauscht.

Bei b) füllt man ein Quantum mit Ts auf und zählt die Ss
Bei c) füllt man ein T mit Qs auf und zählt die Ss.
Wären sie vertauscht, wäre i in beiden Fällen 0.

Was ich bei b) jedoch seltsam finde ist, daß in einer Zeitscheibe mehrere Prozesswechsel stattfinden können und beim Ende der Zeitscheibe ein Prozess auch unterbrochen wird, aber die Zeitscheibenlänge unabhängig von der Anzahl der Prozesswechsel ist. Das heißt für Q = const und T -> 0 geht die Frequenz des Timer Interrupts auch gegen 0. Liegt wohl an der Def. von Q in der Fragestellung...

smeyer82

Alter Hase

  • "smeyer82" is male

Posts: 372

Date of registration: Oct 14th 2002

Location: Ex-Kanzlerstadt Hannover

13

Wednesday, March 9th 2005, 3:03pm

Quoted

Original von Dot
0,7= 1-(1-x)(1-1/2)(1-1/4)´

Wie rechnet man das am leichtesten um, um auf x zu kommen?


Schwarze Magie ist die einfachste Möglichkeit.

Ausmultiplizieren und dann nach x auflösen wäre eine andere.
"Sir! We are surrounded!" - "Excellent! We can attack in any direction!"

brosi

Junior Schreiberling

  • "brosi" is male

Posts: 131

Date of registration: Dec 19th 2001

Location: LaLaLand

Occupation: M.Sc. Inf.

14

Wednesday, March 9th 2005, 3:26pm

nochmal was zu EDF:

Wann genau mach ich bei präemptiv nen Kontextwechsel?
In der Klausur vom Herbst 2004 sind bspw. bei Graphen gleich (??)

Thanx schonmal.

Broso

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

15

Wednesday, March 9th 2005, 3:51pm

@Smayer
Bleiben wir doch lieber bei der Magie :D
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

Hannes5282

Trainee

  • "Hannes5282" is male

Posts: 57

Date of registration: Nov 13th 2002

16

Wednesday, March 9th 2005, 3:56pm

zur wahrung der meyerischen ehre muß ich dich auf einen fehler hinweisen...

@Sm---->a<----yer..., *meeeeeep* ;)

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

17

Wednesday, March 9th 2005, 6:07pm

Danke,ich kenne ihn seit fast 10 Jahre, er hat mich schon öfter darauf hingewiesen, und hat es was gebracht? NEIN! Also können wir hier auch auf dein Klugscheissen verzichten :P :D
Falls du aber auch hier zum Topic beitragen willst, rechner mir mal das vor, was ich da gefragt habe,komme nämlich immer auf nen falsches Ergebnis 8)
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

snoopy

Junior Schreiberling

  • "snoopy" is male

Posts: 146

Date of registration: Feb 29th 2004

Location: Hannover

Occupation: Informatik

18

Wednesday, March 9th 2005, 6:14pm

nochmal was ontopic :D

diese blöden blöden Semaphoren...
kann mir mal einer erklären, was das Geheimnis dran is?
Ich sehe nicht, wann ich den mutex up/down sezten muss genau!

Außerdem wieso sowas (H 2002 Klausur)?
count = count + 1;
if (count == 1) { ... }

Geht das nicht irgendwie einfacher?
Vorallem das Spielen mit up und down in diesem If. Irgendwie wurde das Thema nicht so prall erklärt, dass man es auch selber machen kann.
Z.B. weiß ich auch nicht, ob die Reihenfolge wichtig ist bei sowas wie

down(mutex)
down(Lastwagen1)
...

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

19

Wednesday, March 9th 2005, 7:11pm

Quoted

Original von snoopy
diese blöden blöden Semaphoren...
kann mir mal einer erklären, was das Geheimnis dran is?
Ich sehe nicht, wann ich den mutex up/down sezten muss genau!
Das Prinzip ist einfach: Du hast eine Ressource, auf die nur ein Prozess zur selben Zeit zugreifen darf. Immer wenn ein Prozess die Ressource benutzen will, ruft er die Systemfunktion up() (eingänger: wait()) auf. Nachdem up() verlassen wurde, kann der Prozess die Ressource benutzen. Nachdem der Prozess fertig ist, ruft er die Systemfunktion down() (eingängiger: signal()) auf.

Quoted


down(mutex)
down(Lastwagen1)
...
Die Reihenfolge ist glaube ich dann unwichtig, wenn die beiden Aufrufe von down() direkt nacheinander stattfinden. Das müsste ich aber im Zusammenhang sehen, um es beurteilen zu können. Poste doch mal ein vollständiges Beispiel. :)

Das, was man mit google findet, gefällt mir oft besser als das Skript.
http://www.sci.csuhayward.edu/~billard/cs4560/node7.html
In der TIB ist ein Buch über Betriebssysteme, in dem Semaphoren meiner Meinung nach ganz gut erklärt werden. Um darin nachzusehen, ist es aber nun wohl "etwas" zu spät.
Viel Erfolg in der Klausur!
tar: Anlegen eines leeren Archivs wird feige verweigert.

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

20

Wednesday, March 9th 2005, 8:39pm

snoopy, ich empfehle die Klausur Frühjahr 2004, da ist ein kleies Programm zu schreiben, was nicht so viel drumherum hat, sondern recht kompakt ist. Mir hat das zumindestens heute geholfen, dass endlich verstanden zu haben. Mit mutex schützt man dort den Bufferzugriff allgemein, also vor jedem Zugriff down(mutex) und nach jedem Zugriff up(mutex), initialisiert mit int mutex = 1;
Und dann muss man noch gucken, wann der buffer voll ist, bzw. das der Zaehlerstand einen hoch gezaehlt wird/erniedrigt wird.


Quoted

Original von Dot
0,7= 1-(1-x)(1-1/2)(1-1/4)

Source code

1
2
3
4
5
6
7
8
0,7          = 1-(1-x)(1-1/2)(1-1/4)
1 - 0,7     = (1-x)(1-1/2)(1-1/4)
0,3          = (1-x)(1/2)(3/4)
3/10        = (1-x)(3/8)
8/3*3/10 = 1-x
4/5          =1-x
1-4/5       =x
             x=1/5


PS: Mathe im Forum sieht echt besch* aus...
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

This post has been edited 1 times, last edit by "Markus" (Mar 9th 2005, 8:40pm)