Buddy-Speicherverwaltung

Buddy-Speicherverwaltung

Die Buddy-Speicherverwaltung bezieht sich auf das Buddy-Verfahren nach Donald E. Knuth, eine Technik zur Zuweisung von Speicher an Prozesse. Es zeichnet sich insbesondere durch seine Einfachheit und leichte Implementierbarkeit aus.

Inhaltsverzeichnis

Funktion

Der Speicher wird in Bereiche der Länge 2k aufgeteilt. Zu Beginn gibt es nur einen Block, der möglichst den gesamten Speicher abdeckt; wenn die Größe des Speichers sich nicht als Zweierpotenz ausdrücken lässt, können es auch mehrere Blöcke unterschiedlicher Größe sein. Fordert nun ein Prozess eine bestimmte Menge Speicher an, so wird zur nächsthöheren Zweierpotenz aufgerundet und ein entsprechender Block gesucht. Falls es noch keinen Block dieser Größe gibt, wird nach einem Block doppelter Größe gesucht, der dann in zwei Hälften (bzw. Buddies) aufgeteilt wird, und einer dieser Blöcke wird dem Prozess zugewiesen. Gibt es auch keinen Block doppelter Größe, wird ein Block vierfacher Größe gesucht usw. Sobald Speicher wieder freigegeben wird, wird geprüft, ob zwei durch Teilung entstandene Buddies gleicher Größe sich wieder zu einem größeren Block zusammenfassen lassen.

Kritik

Der Vorteil des Verfahren besteht in der einfachen Implementierbarkeit und erfordert keine besondere Hardware-Unterstützung, wie das zum Beispiel beim Paging aktueller Betriebssysteme der Fall ist.

Nachteil ist, dass es sowohl zu interner als auch zu externer Fragmentierung kommen kann.

Erweiterungen

Eine Erweiterung stellt die gewichtete Buddy-Speicherverwaltung dar. Hierbei wird nicht immer im Verhältnis 1:1 geteilt, sondern zum Beispiel im Verhältnis 1:3, wobei der zweite Zweig dann im Verhältnis 1:2 geteilt wird. Dadurch entstehen unterschiedlichere Buddygrößen. Dafür wird aber der Verwaltungsaufwand höher und die Adressberechnung wird schwieriger.

Siehe auch

Literatur

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Buddy — (englisch ‚Freund‘, ‚Kumpel‘) bezeichnet: Buddy (Musical), Musical über Buddy Holly Buddy (Musiker), Berliner Musiker Buddy Bär, internationales Kunstprojekt Buddy Film, Filmgenre mit zwei Hauptcharakteren Buddy Prinzip, ein System bei dem sich… …   Deutsch Wikipedia

  • Buddy-Verfahren — bezeichnet: ein Speicherverwaltungsverfahren in der Informatik, siehe Buddy Speicherverwaltung einen Grundsatz beim Tauchen, siehe Buddy (Tauchen) gegenseitige Absicherung, siehe Buddy Prinzip Diese Seite ist eine …   Deutsch Wikipedia

  • Buddy-System — Das Buddy Verfahren nach Donald E. Knuth ist eine Technik zur Zuweisung von Speicher an Prozesse. Es zeichnet sich insbesondere durch seine Einfachheit und leichte Implementierbarkeit aus. Funktion Der Speicher wird in Bereiche der Länge 2k… …   Deutsch Wikipedia

  • Slab allocator — Der Slab allocator ist ein Verfahren zur Verwaltung von Arbeitsspeicher, das viele Betriebssysteme und auch Anwendungen verwenden. Der Algorithmus hat zum Ziel, dass bei der häufig vorkommenden Reservierung kleiner Speicherbereiche der vorhandene …   Deutsch Wikipedia

  • Paging — Als Paging (vgl. engl. page Speicherseite) oder deutsch Kachelverwaltung[1] bezeichnet man die Methode der Arbeitsspeicher Verwaltung per Seitenadressierung durch Betriebssysteme. Gelegentlich wird der Begriff Paging synonym mit der gesamten… …   Deutsch Wikipedia

  • Kachelverwaltung — Als Paging (vgl. engl. page Speicherseite) oder deutsch Kachelverwaltung bezeichnet man die Methode der Arbeitsspeicher Verwaltung per Seitenadressierung durch Betriebssysteme. Dabei wird häufig aus Effizienzgründen die sogenannte Memory… …   Deutsch Wikipedia

  • Thrashing — Als Paging (vgl. engl. page Speicherseite) oder deutsch Kachelverwaltung bezeichnet man die Methode der Arbeitsspeicher Verwaltung per Seitenadressierung durch Betriebssysteme. Dabei wird häufig aus Effizienzgründen die sogenannte Memory… …   Deutsch Wikipedia

  • Working Set — Als Paging (vgl. engl. page Speicherseite) oder deutsch Kachelverwaltung bezeichnet man die Methode der Arbeitsspeicher Verwaltung per Seitenadressierung durch Betriebssysteme. Dabei wird häufig aus Effizienzgründen die sogenannte Memory… …   Deutsch Wikipedia

  • Workingset — Als Paging (vgl. engl. page Speicherseite) oder deutsch Kachelverwaltung bezeichnet man die Methode der Arbeitsspeicher Verwaltung per Seitenadressierung durch Betriebssysteme. Dabei wird häufig aus Effizienzgründen die sogenannte Memory… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”