λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Άλλα Λογισμικό Ηλεκτρονικών Υπολογιστών

Τι διακόπτουν το λογισμικό;

Μια διακοπή λογισμικού (συχνά συντομεύεται ως SWI, ή μερικές φορές ονομάζεται κλήση επόπτη, SVC ή εξαίρεση) είναι ένας μηχανισμός στην αρχιτεκτονική υπολογιστών που επιτρέπει σε ένα πρόγραμμα να ζητήσει μια συγκεκριμένη υπηρεσία από το λειτουργικό σύστημα ή μια προνομιακή λειτουργία πυρήνα. Σε αντίθεση με τις διακοπές υλικού, οι οποίες ενεργοποιούνται από εξωτερικά συμβάντα (όπως ένα πληκτρολόγιο ή πρόσβαση στο δίσκο), οι διακοπές λογισμικού ξεκινούν ρητά από το ίδιο το πρόγραμμα χρησιμοποιώντας μια ειδική εντολή.

Ακολουθεί μια κατανομή βασικών πτυχών:

* Σκοπός: Οι διακοπές λογισμικού παρέχουν έναν ελεγχόμενο και δομημένο τρόπο για προγράμματα σε επίπεδο χρήστη για την πρόσβαση σε πόρους και λειτουργίες του συστήματος στις οποίες δεν έχουν άμεση πρόσβαση. Αυτές οι λειτουργίες μπορεί να περιλαμβάνουν:

* Λειτουργίες I/O: Ανάγνωση από ένα αρχείο, γράφοντας σε μια υποδοχή δικτύου, πρόσβαση σε έναν εκτυπωτή.

* Διαχείριση μνήμης: Κατανομή και διανομή μνήμης, αλλάζοντας τις ρυθμίσεις προστασίας μνήμης.

* Έλεγχος διαδικασίας: Δημιουργία, τερματισμός ή εναλλαγή μεταξύ διαδικασιών.

* Επικοινωνία μεταξύ επεξεργασίας: Αποστολή και λήψη μηνυμάτων μεταξύ διαφορετικών διαδικασιών.

* Κλήσεις συστήματος: Πρόσβαση σε υπηρεσίες λειτουργικού συστήματος με τυποποιημένο τρόπο.

* Μηχανισμός: Το πρόγραμμα εκτελεί μια ειδική εντολή (η συγκεκριμένη εντολή ποικίλλει ανάλογα με την αρχιτεκτονική · τα κοινά παραδείγματα περιλαμβάνουν `int` σε x86,` svc` στο χέρι) με έναν αριθμό που προσδιορίζει την ζητούμενη υπηρεσία. Αυτή η εντολή ενεργοποιεί μια παγίδα ή εξαίρεση, μεταφέροντας τον έλεγχο στον πυρήνα του λειτουργικού συστήματος.

* Προνομιακή εκτέλεση: Ο πυρήνας εκτελείται σε προνομιακή λειτουργία, έχοντας πρόσβαση σε υλικό και μνήμη ότι τα προγράμματα σε επίπεδο χρήστη απαγορεύονται να έχουν πρόσβαση απευθείας για λόγους ασφάλειας και σταθερότητας. Οι διακόπτες λογισμικού παρέχουν έναν ασφαλή, μεσολαβούμενο τρόπο πρόσβασης σε αυτούς τους προνομιούχους πόρους.

* Διεπαφή κλήσης συστήματος: Το λειτουργικό σύστημα παρέχει μια σαφώς καθορισμένη διεπαφή (συχνά ονομάζεται διεπαφή κλήσης συστήματος ή API) που καθορίζει ποιοι αριθμοί διακοπής λογισμικού αντιστοιχούν σε ποιες υπηρεσίες και τις απαιτούμενες παραμέτρους. Οι προγραμματιστές χρησιμοποιούν αυτήν τη διεπαφή για να ζητήσουν υπηρεσίες χωρίς να χρειάζεται να γνωρίζουν τις λεπτομέρειες εφαρμογής χαμηλού επιπέδου.

Παράδειγμα (εννοιολογική):

Φανταστείτε ένα πρόγραμμα που θέλει να γράψει δεδομένα σε ένα αρχείο. Δεν μπορεί να χειριστεί άμεσα το υλικό του δίσκου. Αντ 'αυτού, χρησιμοποιεί μια διακοπή λογισμικού για να ζητήσει την υπηρεσία γραφής αρχείου του λειτουργικού συστήματος. Ο αριθμός διακοπής μπορεί να είναι, ας πούμε, 10. Το λειτουργικό σύστημα το παρεμποδίζει αυτό, επαληθεύει τα δικαιώματα του προγράμματος, χειρίζεται το χαμηλού επιπέδου δίσκου I/O και επιστρέφει ένα αποτέλεσμα (επιτυχία ή αποτυχία) στο πρόγραμμα.

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα