Hi,
muss den Anteil der CPU berechnen, der für die Kompaktierung verwendet
wird.
Die Frage lautet:
Ein Computersystem arbeitet mit Segmentierung. Um das Problem des
checker-boarding (externe Fragmentierung) zu beheben, wird alle zehn
Sekunden eine Kompaktierung durchgeführt. Das Kopieren eines Bytes im
Hauptspeicher benötigt 0,1 µs. Der gesamte Hauptspeicher ist 16 MB groß.
Weiters ist bekannt, dass die durchschnittliche Lochgröße um den Faktor
0,4 kleiner ist als die durchschnittliche Größe eines belegten Blocks.
Welcher Teil der CPU-Zeit wird vom gegebenen System für die
Kompaktierung verwendet?
Hab es schon mit verschiedenen Ansätzen probiert, wobei ich schon im
Vorhinein gewusst habe, dass diese falsch sind.
Naja, aber trotzdem. Hab mir gedacht, wenn 1 Byte 0,1µs zum Kopieren
benötigt, dann werden 16MB in 1,6sek kopiert. Da jetzt aber der Anteil
des Loches um 0,4 kleiner ist als der belegte Block, ausgegangen bin ich
davon, dass ein Block genau 1Byte groß ist, somit muss das Loch jetzt
das 0,6 fache des Block sein. Somit sind dann von 16MB genau 6,4MB
belegt und 9,6MB Löcher. Da die Löcher zu klein sind, um wieder mit
einem Block gefüllt zu werden, muss jetzt gewartet werden, bis eine
Kompaktierung augeführt wird und die einzelnen Lächer zu einem großen
Loch werden. Nun kann das ganze Prozerdere von vorne beginnen.
Die Frage von mir, wie komm ich jetzt auf die Auslastung der CPU?
Ich hoffe es kann mir jemand mit meinem Problem weiterhelfen!
mfg