Διαφορά μεταξύ εσωτερικού και εξωτερικού κατακερματισμού | Εσωτερική / Εξωτερική θραύση

Anonim

Εσωτερικό vs. Εξωτερικό Θραύσμα

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

Τι είναι ο εσωτερικός κατακερματισμός;

Εξετάστε το παραπάνω σχήμα, όπου ακολουθείται ένας μηχανισμός κατανομής μνήμης σταθερού μεγέθους. Αρχικά, η μνήμη είναι κενή και ο αναθέτης έχει διαιρέσει τη μνήμη σε κατατμήματα σταθερού μεγέθους. Στη συνέχεια, τρία προγράμματα με το όνομα A, B, C έχουν φορτωθεί στα τρία πρώτα διαμερίσματα, ενώ το 4ο διαμέρισμα εξακολουθεί να είναι ελεύθερο. Το πρόγραμμα Α ταιριάζει με το μέγεθος του διαμερίσματος, επομένως δεν υπάρχει σπατάλη σε αυτό το διαμέρισμα, αλλά το Πρόγραμμα Β και το Πρόγραμμα C είναι μικρότερα από το μέγεθος του διαμερίσματος. Έτσι, στο τμήμα 2 και στο διαμέρισμα 3 υπάρχει ελεύθερος χώρος. Ωστόσο, αυτός ο ελεύθερος χώρος είναι αχρησιμοποίητος καθώς ο καταμεριστής μνήμης αποδίδει μόνο πλήρη διαμερίσματα σε προγράμματα, αλλά όχι τ μέρη του. Αυτή η σπατάλη ελεύθερου χώρου ονομάζεται εσωτερικός κατακερματισμός.

Στο παραπάνω παράδειγμα, είναι ίσα μεγέθη σταθερών διαμερισμάτων, αλλά αυτό μπορεί να συμβεί ακόμη και σε μια κατάσταση όπου διαμερίσματα διαφόρων σταθερών μεγεθών είναι διαθέσιμα. Συνήθως η μνήμη ή ο σκληρότερος χώρος χωρίζεται σε μπλοκ που είναι συνήθως το μέγεθος των δυνάμεων των 2 όπως 2, 4, 8, 16 byte. Έτσι, ένα πρόγραμμα ή ένα αρχείο με 3 byte θα αντιστοιχιστεί σε ένα μπλοκ 4 byte, αλλά ένα byte αυτού του μπλοκ θα καταστεί άχρηστο προκαλώντας εσωτερικό κατακερματισμό.

Τι είναι ο εξωτερικός κατακερματισμός;

Εξετάστε το παραπάνω σχήμα, όπου η κατανομή μνήμης γίνεται δυναμικά. Στην κατανομή δυναμικής μνήμης, ο καταμεριστής διαθέτει μόνο το ακριβές μέγεθος που απαιτείται για το συγκεκριμένο πρόγραμμα.Η πρώτη μνήμη είναι εντελώς δωρεάν. Στη συνέχεια τα προγράμματα A, B, C, D και E διαφόρων μεγεθών φορτώνονται το ένα μετά το άλλο και τοποθετούνται στη μνήμη συνεχόμενα με αυτή τη σειρά. Μετά αργότερα, το Πρόγραμμα Α και το Πρόγραμμα C κλείνουν και εκφορτώνονται από τη μνήμη. Τώρα υπάρχουν τρεις ελεύθερες περιοχές στη μνήμη, αλλά δεν είναι δίπλα. Τώρα ένα μεγάλο πρόγραμμα που ονομάζεται Πρόγραμμα F πρόκειται να φορτωθεί, αλλά κανένα από τα μπλοκ ελεύθερου χώρου δεν είναι αρκετό για το Πρόγραμμα F. Η προσθήκη όλων των ελεύθερων χώρων είναι σίγουρα αρκετή για το Πρόγραμμα F, αλλά λόγω της έλλειψης γειτνίασης ότι ο χώρος είναι αχρησιμοποίητο για το Πρόγραμμα ΣΤ. Αυτό ονομάζεται εξωτερικός κατακερματισμός.

Ποια είναι η διαφορά μεταξύ εσωτερικού και εξωτερικού θραύσματος;

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

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

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

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

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

Περίληψη:

Εσωτερικός / Εξωτερικός κατακερματισμός

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