Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ εσωτερικού και εξωτερικού κατακερματισμού

Κάθε φορά που μια διαδικασία φορτώνεται ή αφαιρείται από το φυσικό μπλοκ μνήμης, δημιουργεί μια μικρή τρύπα στο χώρο μνήμης που ονομάζεται θραύσμα. Λόγω του κατακερματισμού, το σύστημα αποτυγχάνει στην κατανομή του συνεχόμενου χώρου μνήμης σε μια διαδικασία, ακόμη και αν έχει την απαιτούμενη ποσότητα μνήμης, αλλά με μη συνεχή τρόπο. Ο κατακερματισμός ταξινομείται περαιτέρω σε δύο κατηγορίες εσωτερικού και εξωτερικού κατακερματισμού.

Τόσο η εσωτερική όσο και η εξωτερική ταξινόμηση επηρεάζουν την πρόσβαση στην ταχύτητα του συστήματος. Έχουν μια βασική διαφορά μεταξύ τους, δηλ. Ο εσωτερικός κατακερματισμός εμφανίζεται όταν τα μπλοκ μνήμης σταθερού μεγέθους κατανέμονται στη διαδικασία χωρίς να αφορούν το μέγεθος της διαδικασίας και ο εξωτερικός κατακερματισμός εμφανίζεται όταν οι διαδικασίες κατανέμονται δυναμικά στη μνήμη. Ας προχωρήσουμε περαιτέρω και συζητήσουμε τις διαφορές, τους λόγους, τις λύσεις πίσω από τον εσωτερικό και τον εξωτερικό κατακερματισμό με τη βοήθεια του πίνακα σύγκρισης που φαίνεται παρακάτω.

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΕσωτερικός κατακερματισμόςΕξωτερικός κατακερματισμός
ΒασικόςΕμφανίζεται όταν τα μπλοκ μνήμης σταθερού μεγέθους κατανέμονται στις διεργασίες.Εμφανίζεται όταν ο χώρος μνήμης μεταβλητού μεγέθους κατανέμεται δυναμικά στις διαδικασίες.
ΠεριστατικόΌταν η μνήμη που αντιστοιχεί στη διαδικασία είναι ελαφρώς μεγαλύτερη από τη μνήμη που ζητείται από τη διαδικασία, δημιουργείται ελεύθερος χώρος στο διατεταγμένο μπλοκ που προκαλεί εσωτερικό κατακερματισμό.Όταν η διαδικασία αφαιρεθεί από τη μνήμη, δημιουργεί τον ελεύθερο χώρο στη μνήμη που προκαλεί εξωτερικό κατακερματισμό.
ΛύσηΗ μνήμη πρέπει να χωριστεί σε μπλοκ μεταβλητού μεγέθους και να εκχωρήσει το βέλτιστο μπλοκ στη διαδικασία.Συμπίεση, σελιδοποίηση και τμηματοποίηση.

Ορισμός εσωτερικού κατακερματισμού

Ο εσωτερικός κατακερματισμός εμφανίζεται όταν η μνήμη χωρίζεται σε μπλοκ σταθερού μεγέθους . Κάθε φορά που ζητείται διαδικασία για τη μνήμη, το μπλοκ σταθερού μεγέθους αντιστοιχεί στη διαδικασία. Σε περίπτωση που η μνήμη που αντιστοιχεί στη διαδικασία είναι κάπως μεγαλύτερη από τη μνήμη που ζητήθηκε, τότε η διαφορά μεταξύ της εκχωρημένης και της ζητούμενης μνήμης είναι ο εσωτερικός κατακερματισμός .

Αυτός ο χώρος που απομένει εντός του μπλοκ σταθερού μεγέθους δεν μπορεί να κατανεμηθεί σε καμία διαδικασία, καθώς δεν θα επαρκούσε για να ικανοποιήσει το αίτημα της μνήμης από τη διαδικασία. Ας καταλάβουμε τον εσωτερικό κατακερματισμό με τη βοήθεια ενός παραδείγματος. Ο χώρος μνήμης χωρίζεται σε μπλοκ σταθερού μεγέθους 18.464 byte. Ας υποθέσουμε ότι μια διαδικασία αίτησης για 18.460 byte και χωρισμένο τμήμα σταθερού μεγέθους 18.464 byte διατίθεται στη διαδικασία. Το αποτέλεσμα είναι 4 bytes των 18.464 bits που παρέμειναν κενά, δηλαδή ο εσωτερικός κατακερματισμός.

Η επιβάρυνση της παρακολούθησης της εσωτερικής οπής που δημιουργείται λόγω του εσωτερικού κατακερματισμού είναι ουσιαστικά μεγαλύτερη από τον αριθμό των εσωτερικών οπών. Το πρόβλημα του εσωτερικού κατακερματισμού μπορεί να λυθεί με τη διαίρεση της μνήμης στο μπλοκ μεταβλητού μεγέθους και την εκχώρηση του μπλοκ μεγαλύτερου μεγέθους σε μια διαδικασία που ζητάει τη μνήμη. Ωστόσο, δεν θα εξαλείψει εντελώς το πρόβλημα του εσωτερικού κατακερματισμού, αλλά θα το μειώσει σε κάποιο βαθμό.

Ορισμός του εξωτερικού κατακερματισμού

Ο εξωτερικός κατακερματισμός εμφανίζεται όταν υπάρχει επαρκής χώρος στη μνήμη για να ικανοποιηθεί το αίτημα μνήμης μιας διαδικασίας. Ωστόσο, το αίτημα μνήμης της διαδικασίας δεν μπορεί να ικανοποιηθεί, καθώς η διαθέσιμη μνήμη είναι μη συνεχής. Είτε εφαρμόζετε στρατηγική πρώτης τοποθέτησης ή βέλτιστης προσαρμογής μνήμης, θα προκαλέσει εξωτερικό κατακερματισμό.

Όταν μια διαδικασία φορτώνεται και αφαιρείται από τη μνήμη, ο ελεύθερος χώρος δημιουργεί την τρύπα στο χώρο μνήμης και υπάρχουν πολλές τέτοιες οπές στο χώρο μνήμης, αυτό ονομάζεται Εξωτερικός κατακερματισμός. Αν και η πρώτη εφαρμογή και η καλύτερη προσαρμογή μπορεί να επηρεάσει το μέγεθος του εξωτερικού κατακερματισμού, δεν μπορεί να εξαλειφθεί πλήρως. Η συμπύκνωση μπορεί να είναι η λύση για τον εξωτερικό κατακερματισμό.

Ο αλγόριθμος συμπύκνωσης ανακατεύει όλα τα περιεχόμενα της μνήμης στη μία πλευρά και απελευθερώνει ένα μεγάλο μπλοκ μνήμης. Αλλά ο αλγόριθμος συμπίεσης είναι ακριβός. Υπάρχει μια εναλλακτική λύση για την επίλυση του προβλήματος του εξωτερικού κατακερματισμού, που θα επιτρέψει σε μια διαδικασία να αποκτήσει τη φυσική μνήμη σε μη συνεχή τρόπο. Οι τεχνικές για την επίτευξη αυτής της λύσης είναι η τηλεειδοποίηση και ο κατακερματισμός.

Βασικές διαφορές μεταξύ εσωτερικού και εξωτερικού κατακερματισμού

  1. Ο βασικός λόγος πίσω από τις περιπτώσεις εσωτερικού και εξωτερικού κατακερματισμού είναι ότι ο εσωτερικός κατακερματισμός εμφανίζεται όταν η μνήμη χωρίζεται σε μπλοκ σταθερού μεγέθους ενώ ο εξωτερικός κατακερματισμός εμφανίζεται όταν η μνήμη χωρίζεται σε μπλοκ μεταβλητού μεγέθους .
  2. Όταν το μπλοκ μνήμης που έχει κατανεμηθεί στη διαδικασία είναι ελαφρώς μεγαλύτερο από την απαιτούμενη μνήμη, τότε ο ελεύθερος χώρος που αφήνεται στο μπλοκ μνήμης παραχωρείται για εσωτερική κατακερματισμό. Από τα άλλα χέρια, όταν η διαδικασία αφαιρείται από τη μνήμη, δημιουργείται ελεύθερος χώρος που προκαλεί μια τρύπα στη μνήμη που ονομάζεται εξωτερικός κατακερματισμός.
  3. Το πρόβλημα του εσωτερικού κατακερματισμού μπορεί να λυθεί με τη διαίρεση της μνήμης σε μπλοκ μεταβλητού μεγέθους και την ανάθεση του βέλτιστου μπλοκ στην απαιτούμενη διαδικασία. Ωστόσο, η λύση για τον εξωτερικό κατακερματισμό είναι η συμπύκνωση, αλλά είναι δαπανηρή η εφαρμογή, έτσι ώστε οι διαδικασίες πρέπει να επιτρέπεται να αποκτήσουν φυσική μνήμη σε μη συνεχή τρόπο, για να επιτευχθεί αυτό εισάγεται η τεχνική τηλεειδοποίησης και κατακερματισμού.

Συμπέρασμα:

Το πρόβλημα του εσωτερικού κατακερματισμού μπορεί να μειωθεί, αλλά δεν μπορεί να εξαλειφθεί πλήρως. Η υπηρεσία τηλεειδοποίησης και τμηματοποίησης βοηθά στη χρησιμοποίηση του χώρου που απελευθερώνεται εξαιτίας του εξωτερικού κατακερματισμού, επιτρέποντας σε μια διαδικασία να καταλαμβάνει τη μνήμη σε μη συνεχή τρόπο.

Top