Skip to main content

Τι είναι ένα μη φυσιολογικό τέλος;

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

Προβλήματα μέσα στη μνήμη του συστήματοςΣε έναν υπολογιστή μπορεί να ενεργοποιήσει ένα μη φυσιολογικό τέλος σε ένα ή περισσότερα προγράμματα στο σύστημα.Όταν ο υπολογιστής επιτρέπει τη διαρροή μνήμης να εμφανιστεί mdash;Όταν επιτρέπει σε ένα πρόγραμμα να γράφει στη μνήμη που δεν έχει ανατεθεί σε αυτό από το λειτουργικό σύστημα mdash;Μπορεί ακούσια να αντικαταστήσει τμήματα μνήμης που ανήκαν σε άλλο πρόγραμμα.Μόλις το εισβολμένο πρόγραμμα προσπαθεί να ανακτήσει τις πληροφορίες που είναι αποθηκευμένες στα εισβάλλοντα τμήματα της μνήμης, δεν θα βρει πλέον τα σωστά, αναμενόμενα δεδομένα.Αυτή η ασυμφωνία συχνά οδηγεί σε μια πλήρη συντριβή της εφαρμογής, καθώς δεν μπορεί να εκτελεστεί χρησιμοποιώντας τις αντικατασταθείσες πληροφορίες που αποθηκεύονται από το πρόγραμμα εισβολής.

Τα ζητήματα με τον κωδικό λογισμικού μπορούν μερικές φορές να προκαλέσουν ένα μη φυσιολογικό τέλος σε ένα πρόγραμμα.Εάν το λογισμικό έχει σφάλματα ή δεν περιέχει επαρκή κωδικό χειρισμού σφαλμάτων, οι εσφαλμένες εισόδους από τον τελικό χρήστη μπορούν να οδηγήσουν σε μη φυσιολογική τερματισμό του λογισμικού.Για παράδειγμα, ένα πρόγραμμα που ζητά από τον τελικό χρήστη να εισαγάγει τον αριθμό τηλεφώνου του θα είναι συνήθως κωδικοποιημένος έτσι ώστε οποιαδήποτε μη-μη-μη-απάντηση που δεν περιέχει 10 ψηφία να αλιεύεται αμέσως ως πιθανό σφάλμα και να επιστρέψει στον τελικό χρήστη ως κακόαποτέλεσμα.Το ανώριμο ή ελλιπές λογισμικό που δεν περιλαμβάνει αυτόν τον κωδικό χειρισμού σφαλμάτων μπορεί να καταρρεύσει κατά τη λήψη λανθασμένων εισροών.Το πρόγραμμα δεν θα είναι σε θέση να αντιμετωπίσει εάν ο τελικός χρήστης αποφασίσει να εισέλθει στο ABCDEFG ως υποτιθέμενο αριθμό τηλεφώνου του. Μόλις εμφανιστεί ένα μη φυσιολογικό τέλος, το λειτουργικό σύστημα προειδοποιεί συνήθως τον χρήστη του υπολογιστή ότι έχει συμβεί ένας τερματισμός του προγράμματος.Μετά από αυτό, η εργασία των λειτουργικών συστημάτων είναι να ανακάμψει από τη συντριβή χωρίς να επηρεάζει δυσμενώς οποιοδήποτε από τα άλλα προγράμματα του συστήματος.Για να γίνει αυτό, συνήθως απελευθερώνει τη μνήμη που έχει ανατεθεί στο πρόγραμμα, ακριβώς όπως θα είχε εάν το πρόγραμμα είχε τερματίσει με επιτυχία.Πληροφορίες σχετικά με τον μη φυσιολογικό τερματισμό του προγράμματος αποθηκεύονται συχνά στα αρχεία καταγραφής συντριβών του λειτουργικού συστήματος, επιτρέποντας σε έναν τελικό χρήστη να αναθεωρήσει τις πληροφορίες σύγκρουσης για να αναζητήσει μια πιθανή αιτία για τη σύγκρουση.