The present invention relates to systems and methods for freeing shared
resources that remain allocated to a particular resource allocating
process after the resource allocating process has terminated The invention
is useful in a computer system where shared hardware is accessed via a
shared hardware driver layer The shared hardware driver layer interfaces
with either a shared API layer or a nonshared API layer. Processes wishing
to access the shared hardware access the hardware through either the
shared or nonshared API layer. To release resources and destroy objects in
either the shared API layer or the shared hardware driver layer, the
present invention uses a helper process that cleans up after termination
of the resource allocation process. The helper process first calls,
cleanup function in the shared API layer to release resources and destroy
objects in the shared API layer and associated hardware driver. The helper
process then loads a copy of the nonshared API layer and makes a call to a
similar cleanup function to release any remaining resources and destroy
any remaining objects. In the alternative, the helper process loads a copy
of the nonshared API layer and calls to the similar cleanup function are
made by the cleanup function in the shared API layer.
Η παρούσα εφεύρεση αφορά τα συστήματα και οι μέθοδοι για τους κοινούς πόρους που παραμένουν διατιθέμενοι σε έναν ιδιαίτερο πόρο διαθέτοντας τη διαδικασία αφότου έχει ολοκληρώσει ο πόρος που διαθέτει τη διαδικασία η εφεύρεση είναι χρήσιμες σε ένα συγκρότημα ηλεκτρονικών υπολογιστών όπου το κοινό υλικό προσεγγίζεται μέσω ενός κοινού στρώματος οδηγών υλικού που οι κοινές διεπαφές στρώματος οδηγών υλικού με είτε ένα κοινό στρώμα API είτε το α το στρώμα API. Οι διαδικασίες που επιθυμούν να έχουν πρόσβαση στην κοινή πρόσβαση υλικού το υλικό μέσω είτε κοινού είτε το στρώμα API. Για να απελευθερώσει τους πόρους και να καταστρέψει τα αντικείμενα είτε στο κοινό στρώμα API είτε το κοινό στρώμα οδηγών υλικού, η παρούσα εφεύρεση χρησιμοποιεί μια διαδικασία αρωγών που καθαρίζει μετά από τη λήξη της διαδικασίας κατανομής των πόρων. Ο αρωγός επεξεργάζεται τις πρώτες κλήσεις, λειτουργία καθαρισμού στο κοινό στρώμα API για να απελευθερώσει τους πόρους και να καταστρέψει τα αντικείμενα στο κοινό στρώμα API και το σχετικό οδηγό υλικού. Η διαδικασία αρωγών φορτώνει έπειτα ένα αντίγραφο το στρώμα API και κάνει μια κλήση σε μια παρόμοια λειτουργία καθαρισμού για να απελευθερώσει οποιουσδήποτε υπόλοιπους πόρους και να καταστρέψει οποιαδήποτε υπόλοιπα αντικείμενα. Στην εναλλακτική λύση, η διαδικασία αρωγών φορτώνει ένα αντίγραφο το στρώμα API και οι κλήσεις στην παρόμοια λειτουργία καθαρισμού γίνονται από τη λειτουργία καθαρισμού στο κοινό στρώμα API.