There is an Open Access version for this licensed article that can be read free of charge and without license restrictions. The content of the Open Access version may differ from that of the licensed version.
Pricing information
Please choose your delivery country and your customer group
(Fortsetzung aus Heft 5/2005, S. 108-112): Vorgestellt wird eine Programmierschnittstelle, um die Speicherverwaltung unter Linux zu steuern. Das 'Buddy System' verwaltet den freien Speicher im Linux-Kernel. Falls ein Prozeß mehr freien Speicherplatz anfordert als zur Verfügung steht, so teilt 'Buddy' den verfügbaren Speicherplatz so lange auf, bis genügend freier Speicherplatz vorliegt. Die Befehle zum Anfordern und Freigeben von Speicherplatz werden beschrieben. Unter Linux führt der 'Slab Allocator' Objekt-Caching durch, bei dem ein Objekt einmal vorinitialisiert und im Cache-Speicher zwischengespeichert wird und dann mehrmals, auch von verschiedenen Anwendungen, reserviert und freigegeben werden kann, bevor es gelöscht wird. Der 'Slab Allocator' bietet eine Funktion, um ein Objekt vorzuinstallieren, die einen Konstruktor aufruft, und es im Cache-Speicher zwischenzuspeichern. Der 'Slab Allocator' verwaltet aktuell benutzte, teilweise benutzte und aktuell und aktuell unbenutzte Objekte in drei Arten von 'slabs'. Der 'Slab Allocator' löscht Objekte aus dem Cache-Speicher, wenn eine Anwendung dies verlangt oder wenn das 'Buddy System' nicht genug geforderten Speicherplatz hat. An einem Programmtext wird gezeigt, wie der Programmierer gezielt Speicherplatz mit wenig Verschnitt belegt und dabei den 'Slab Allocator' aufruft. Die Betriebsparameter werden erläutert.