Sie sind nicht angemeldet.

dimi

Trainee

  • »dimi« ist der Autor dieses Themas

Beiträge: 41

Registrierungsdatum: 18.11.2002

1

06.03.2005, 16:40

klausur betriebssysteme

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

Benjamin

Segelnder Alter Hase

  • »Benjamin« ist männlich

Beiträge: 3 827

Registrierungsdatum: 01.10.2002

Wohnort: Region Hannover

Beruf: Alumni

2

06.03.2005, 16:46

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!

Beiträge: 2 571

Registrierungsdatum: 09.10.2003

3

06.03.2005, 20:10

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!

Beiträge: 2 571

Registrierungsdatum: 09.10.2003

4

08.03.2005, 10:48

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...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Markus« (08.03.2005, 10:49)


Arne

ThI

  • »Arne« ist männlich

Beiträge: 1 798

Registrierungsdatum: 07.10.2002

Wohnort: Hannover :)

Beruf: Lecturer ThI

5

08.03.2005, 11:58

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

Quellcode

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!

Beiträge: 2 571

Registrierungsdatum: 09.10.2003

6

08.03.2005, 13:06

*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« ist männlich

Beiträge: 146

Registrierungsdatum: 29.02.2004

Wohnort: Hannover

Beruf: Informatik

7

08.03.2005, 15:15

Klausur Herbst 2002
Aufgabe 4d

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

Leif

Junior Schreiberling

  • »Leif« ist männlich

Beiträge: 128

Registrierungsdatum: 09.10.2002

Wohnort: Hannover

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

8

08.03.2005, 16:15

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Leif« (08.03.2005, 16:16)


Leif

Junior Schreiberling

  • »Leif« ist männlich

Beiträge: 128

Registrierungsdatum: 09.10.2002

Wohnort: Hannover

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

9

08.03.2005, 18:01

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« ist männlich

Beiträge: 26

Registrierungsdatum: 09.10.2002

10

09.03.2005, 11:16

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

Dot

Senior Schreiberling

Beiträge: 618

Registrierungsdatum: 03.02.2003

Wohnort: Ex-Europameisterland

Beruf: 4TheScience

11

09.03.2005, 12:58

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dot« (09.03.2005, 13:16)


denial

Erfahrener Schreiberling

  • »denial« ist männlich

Beiträge: 394

Registrierungsdatum: 18.02.2003

Wohnort: Göttingen

Beruf: Linux Coder (ex Mathe SR Inf Student)

12

09.03.2005, 13:02

Zitat

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« ist männlich

Beiträge: 372

Registrierungsdatum: 14.10.2002

Wohnort: Ex-Kanzlerstadt Hannover

13

09.03.2005, 15:03

Zitat

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« ist männlich

Beiträge: 131

Registrierungsdatum: 19.12.2001

Wohnort: LaLaLand

Beruf: M.Sc. Inf.

14

09.03.2005, 15:26

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

Beiträge: 618

Registrierungsdatum: 03.02.2003

Wohnort: Ex-Europameisterland

Beruf: 4TheScience

15

09.03.2005, 15:51

@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« ist männlich

Beiträge: 57

Registrierungsdatum: 13.11.2002

16

09.03.2005, 15:56

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

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

Dot

Senior Schreiberling

Beiträge: 618

Registrierungsdatum: 03.02.2003

Wohnort: Ex-Europameisterland

Beruf: 4TheScience

17

09.03.2005, 18:07

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« ist männlich

Beiträge: 146

Registrierungsdatum: 29.02.2004

Wohnort: Hannover

Beruf: Informatik

18

09.03.2005, 18:14

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« ist männlich

Beiträge: 2 643

Registrierungsdatum: 11.12.2001

Wohnort: Hannover

Beruf: Developer

19

09.03.2005, 19:11

Zitat

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.

Zitat


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!

Beiträge: 2 571

Registrierungsdatum: 09.10.2003

20

09.03.2005, 20:39

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.


Zitat

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

Quellcode

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...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Markus« (09.03.2005, 20:40)