Δικτύωση

Γνώση Υπολογιστών >> Δικτύωση >  >> μόντεμ

Γιατί απαιτούνται οι διπλές λειτουργίες και πώς σχετίζονται οι κλήσεις συστήματος με τη λειτουργική έννοια του τρόπου λειτουργίας;

γιατί χρειάζονται διπλές λειτουργίες

Διπλές λειτουργίες (συχνά αναφέρονται ως mode kernel και Λειτουργία χρήστη ) είναι απαραίτητα για τα λειτουργικά συστήματα για:

* Προστατέψτε το σύστημα από προγράμματα κακόβουλου ή buggy: Τα προγράμματα χρήστη που εκτελούνται σε λειτουργία χρήστη έχουν περιορισμένη πρόσβαση σε πόρους συστήματος και δεν μπορούν να τροποποιήσουν άμεσα τον κωδικό πυρήνα. Αυτό τους εμποδίζει να καταστρέφουν το λειτουργικό σύστημα ή άλλα προγράμματα.

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

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

Χωρίς διπλές λειτουργίες, τα προγράμματα χρηστών θα μπορούσαν ενδεχομένως:

* Διαβείτε το λειτουργικό σύστημα: Με άμεση πρόσβαση και τροποποίηση του κώδικα πυρήνα.

* συντριβή το σύστημα: Με πρόσβαση και χειρισμό υλικού χωρίς κατάλληλη εξουσιοδότηση.

* παρεμβαίνει με άλλα προγράμματα: Με την πρόσβαση και την τροποποίηση των δεδομένων άλλων προγραμμάτων.

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

κλήσεις συστήματος και τρόπους

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

Εδώ είναι ο τρόπος με τον οποίο οι κλήσεις του συστήματος σχετίζονται με τρόπους:

1. Τα προγράμματα χρήστη εκτελούνται σε λειτουργία χρήστη: Έχουν περιορισμένη πρόσβαση σε πόρους συστήματος και δεν μπορούν να αλληλεπιδρούν άμεσα με το υλικό.

2. Για να αποκτήσετε πρόσβαση σε προνομιούχους πόρους, τα προγράμματα χρηστών πρέπει να πραγματοποιούν κλήσεις συστήματος: Αυτές οι κλήσεις είναι ειδικές διακόπτες λογισμικού που αλλάζουν τη CPU από τη λειτουργία χρήστη σε λειτουργία πυρήνα.

3. Ο πυρήνας εκτελεί την κλήση του συστήματος σε προνομιακή λειτουργία πυρήνα: Έχει πλήρη πρόσβαση στους πόρους του συστήματος και μπορεί να εκτελέσει την ζητούμενη ενέργεια για λογαριασμό του προγράμματος χρήστη.

4. Ο πυρήνας επιστρέφει τον έλεγχο στο πρόγραμμα χρήστη: Το πρόγραμμα χρήστη συνεχίζει την εκτέλεση σε λειτουργία χρήστη, αγνοώντας τις υποκείμενες προνομιακές λειτουργίες που εκτελείται από τον πυρήνα.

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

Παράδειγμα: Ένα πρόγραμμα χρήστη θέλει να ανοίξει ένα αρχείο. Δεν μπορεί να αποκτήσει άμεση πρόσβαση στο σύστημα αρχείων στη λειτουργία χρήστη. Αντ 'αυτού, χρησιμοποιεί μια κλήση συστήματος (όπως `open ()` ή `fopen ()`) για να ζητήσει από τον πυρήνα να ανοίξει το αρχείο. Ο πυρήνας εκτελεί έπειτα το αίτημα σε λειτουργία πυρήνα, παρέχοντας πρόσβαση στο αρχείο και επιστρέφοντας τον έλεγχο στο πρόγραμμα χρήστη.

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

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

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