Λειτουργικά συστήματα

Γνώση Υπολογιστών >> Λειτουργικά συστήματα >  >> Unix

Πώς αλληλεπιδρά το λειτουργικό σύστημα με το πρόγραμμα;

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

1. Διαχείριση διαδικασιών:

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

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

* ΣΥΝΔΕΣΗ ΠΛΗΡΟΦΟΡΙΩΝ: Όταν ο προγραμματιστής μεταβεί μεταξύ των διαδικασιών, το λειτουργικό σύστημα αποθηκεύει την τρέχουσα κατάσταση μιας διαδικασίας (καταχωρητές, δείκτες μνήμης κ.λπ.) και φορτώνει την κατάσταση της επόμενης διαδικασίας. Αυτό επιτρέπει την αποτελεσματική πολυεθνική.

* Επικοινωνία μεταξύ επεξεργασίας (IPC): Το λειτουργικό σύστημα παρέχει μηχανισμούς (σωλήνες, πρίζες, κοινή μνήμη, ουρές μηνυμάτων) που επιτρέπουν σε διαφορετικές διαδικασίες να επικοινωνούν και να ανταλλάσσουν δεδομένα.

2. Διαχείριση μνήμης:

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

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

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

3. Διαχείριση συστήματος αρχείων:

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

* Διαχείριση καταλόγου: Το λειτουργικό σύστημα διαχειρίζεται την οργάνωση αρχείων και καταλόγων στο σύστημα αρχείων.

* μεταδεδομένα αρχείου: Το λειτουργικό σύστημα διατηρεί μεταδεδομένα σχετικά με τα αρχεία (μέγεθος, ημερομηνία δημιουργίας, δικαιώματα κ.λπ.).

4. Διαχείριση εισόδου/εξόδου (I/O):

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

* buffering: Το λειτουργικό σύστημα χρησιμοποιεί συχνά buffer για να βελτιώσει την απόδοση I/O, μεταφέροντας δεδομένα σε μεγαλύτερα κομμάτια.

5. Κλήσεις συστήματος:

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

* `Open ()` - Ανοίξτε ένα αρχείο.

* `Read ()` - Διαβάστε δεδομένα από ένα αρχείο ή μια συσκευή.

* `write ()` - Γράψτε δεδομένα σε ένα αρχείο ή μια συσκευή.

* `Fork ()` - Δημιουργήστε μια νέα διαδικασία.

* `exit ()` - τερματίστε μια διαδικασία.

Μηχανισμός:

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

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

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

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