Also erstmal zum Modell, das ich mir nun überlegt habe:
Es ist, wie das jetzige, ein Bitmapmodell, nur diesmal mehrstufig.
Im alten Modell gab es eine Bitmap, die symbolisiert hat, ob eine Page/Frame von einer Größe von 4kB frei ist oder nicht.
Das ist für kleine Speichergrößen hervorragen.
Bei größeren Speichergrößen kanns aber evtl etwas länger dauern, bis man ein freies (nichtgesetztes) Bit und damit eine freie Page/Frame gefunden hat.
Deswegen unterteile ich beim neuen Modell den Speicher in gleichgroße Blöcke (a 128 MB). Ein jeder Block wird von 32 Bitmaps verwaltet. Heißt: Eine Bitmap hat nur noch 4 MB zu verwalten und ist dementsprechend kleiner und damit auch schneller zu durchsuchen.
Eine Bitmap die 4MB verwaltet braucht für sich selbst einen Speicher von 128 Byte. Nicht viel. In einen Einzigen Frame/Page passen somit 32 Bitmaps. Heißt 1 Frame/Page pro Block a 128 MB. Heißt im Endeffekt, dass 4KB in jedem 128MB großen Block zur Verwaltung gebraucht werden.
Zusätzlich dazu kommt noch die Bitmap, die die einzelnen Bitmaps verwaltet.
In einem System mit 1 GB (=1024MB) ergibt sich damit:
8 Blöcke a 128 MB
=> 8 * 4 = 32 KB Speicherbedarf für die Verwaltung
dazu kommt noch 32 Bit * 8 Blöcke = 32 Byte für die "Superbitmap"
(Ich hoffe mal, ich hab mich nicht verrechnet)
Soweit, so gut.
Was bei diesem System aber bremst:
Es muss nach jeder Allokation und nach jeder Freigabe geprüft werden, ob durch die Freigabe die Superbitmap verändert werden muss.
Außerdem dauert eine Allokation im unteren Speicherbereich länger als beim alten Model, da eine Überprüfung mehr stattfinden muss.
(Ich hoffe ich habs verständlich rübergebracht, bei Fragen bitte einfach her damit
)
Was mir am neuen System nicht so ganz gefällt:
Was mach ich auf einem Rechner mit 64 MB?
Dazu werd ich mich nunmal mit meinen Mathekenntnissen hinsetzen müssen und ein paar Extremwertaufgaben lösen müssen. Vllcht finde ich einen Weg, schnell zu berechnen, ab wieviel MB sich das neue System lohnt und welche Aufteilung bei welcher Speichergröße am idealsten ist.
Wünscht mir Glück^^
Was noch irgendwie nervt:
Ich hab nun schon extra Funktionen eingebaut, um durch GRUB die Speichergröße auf der Maschine zu erfahren.
Blöd nur, dass die Ausgabe irgendwie nicht so ganz hinhauen...
Wens interessiert:
Ausgabe von GRUB für oberen Speicher in KB, denk ich zumindest...
Speichergröße in MB
Mein Rechner:
523200
512
Bochs auf meinem Rechner:
31680
32
Bochs auf meinem Rechner:
14272
16
Erkennt jemand ein System?
Der untere Speicher beträgt meistens so 640 KB..
MfG
Daniel