Control and administration of the supply of memory managed in multiple
heaps by a library heap management facility. Control data used by the heap
management facility is located in user-supplied memory. Heaps are created
dynamically through calls from the application to a runtime library.
Allocation within a heap is performed through calls to the runtime library
that canvass the available heap memory for each allocation request. If no
suitable block of heap memory is located, additional user supplied memory
is requested for the application through a callback function. A second
callback function notifies the user when a supplied unit of memory is no
longer required by the heap and may be disposed of. The callback functions
are specified separately for each heap. The user may also set the default
heap in the runtime library by allocation requests from a vendor library
that do not specify a heap. This can be done a per thread basis in
multithreaded applications so that different executing threads can use
different default heaps in a non-interfering manner.
Ο έλεγχος και η διοίκηση του ανεφοδιασμού της μνήμης διαχειρίστηκαν στους πολλαπλάσιους σωρούς από μια διοικητική δυνατότητα σωρών βιβλιοθηκών. Το στοιχείο ελέγχου που χρησιμοποιείται από τη διοικητική δυνατότητα σωρών βρίσκεται στην χρήστης-παρεχόμενη μνήμη. Οι σωροί δημιουργούνται δυναμικά μέσω των κλήσεων από την εφαρμογή σε μια βιβλιοθήκη χρόνου εκτέλεσης. Η κατανομή μέσα σε έναν σωρό εκτελείται μέσω των κλήσεων στη βιβλιοθήκη χρόνου εκτέλεσης που δοκιμάζουν τη γνώμη της διαθέσιμης μνήμης σωρών για κάθε αίτημα κατανομής. Εάν κανένας κατάλληλος φραγμός της μνήμης σωρών δεν βρίσκεται, η πρόσθετη παρεχόμενη χρήστης μνήμη ζητείται για την εφαρμογή μέσω μιας λειτουργίας επανάκλησης. Μια δεύτερη λειτουργία επανάκλησης ειδοποιεί το χρήστη πότε μια παρεχόμενη μονάδα της μνήμης δεν απαιτείται πλέον από το σωρό και μπορεί να ξεφορτωθεί. Οι λειτουργίες επανάκλησης διευκρινίζονται χωριστά για κάθε σωρό. Ο χρήστης μπορεί επίσης να θέσει το σωρό προεπιλογής στη βιβλιοθήκη χρόνου εκτέλεσης από τα αιτήματα κατανομής από μια βιβλιοθήκη προμηθευτών που δεν διευκρινίζουν έναν σωρό. Αυτό μπορεί να είναι γίνοντα α ανά βάση νημάτων στις πολύπλοκες εφαρμογές έτσι ώστε τα διαφορετικά εκτελώντας νήματα μπορούν να χρησιμοποιήσουν τους διαφορετικούς σωρούς προεπιλογής με έναν τρόπο μη παρεμβολής.