Κεφάλαιο 5 | Ενότητα 7| Ερωτήσεις επισκόπησης | Επόμενο | Λεξικό όρων

  Ο ρόλος του λειτουργικού συστήματος

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

Οι ευθύνες του λειτουργικού συστήματος προκύπτουν από τρία βασικά χαρακτηριστικά των συστημάτων I/O:

  1. Το σύστημα I/O χρησιμοποιείται από κοινού από πολλά προγράμματα που χρησιμοποιούν τον επεξεργαστή.
  2. Τα συστήματα I/O συχνά χρησιμοποιούν διακοπές (interrupts) - εξωτερικά παραγόμενες εξαιρέσεις - (πλήρης αναφορά στην ενότητα 8) για να μεταδώσουν πληροφορίες σχετικά με τις λειτουργίες εισόδου/εξόδου. Επειδή οι διακοπές προκαλούν μία μετάβαση από το κατάσταση πυρήνα (kernel mode) στο κατάσταση επόπτη (supervisor mode), η διαχείρισή τους πρέπει να γίνεται από το λειτουργικό σύστημα.
  3. Ο έλεγχος χαμηλού επιπέδου μίας συσκευής I/O είναι πολύπλοκος, επειδή απαιτεί τη διαχείριση ενός συνόλου ταυτόχρονων γεγονότων και επειδή οι απαιτήσεις για το σωστό έλεγχο της συσκευής είναι συχνά πολυσύνθετες.

Λειτουργίες του λειτουργικού συστήματος

Τα τρία παραπάνω χαρακτηριστικά των συστημάτων I/O οδηγούν σε αρκετές διαφορετικές λειτουργίες που θα πρέπει να παρέχει το λειτουργικό σύστημα.

Τύποι επικοινωνίας του λειτουργικού συστήματος

Για να επιτελέσει αυτές τις λειτουργίες για λογαριασμό των προγραμμάτων χρήστη, το λειτουργικό σύστημα πρέπει να μπορεί να επικοινωνεί με τις συσκευές I/O και να εμποδίζει το πρόγραμμα χρήστη να επικοινωνεί απευθείας με αυτές. Τρεις τύποι επικοινωνίας απαιτούνται:

  1. Το λειτουργικό σύστημα πρέπει να μπορεί να δίνει εντολές στις συσκευές I/O. Αυτές οι εντολές δεν περιλαμβάνουν μόνο λειτουργίες όπως ανάγνωση και εγγραφή, άλλα και άλλες λειτουργίες που πρέπει να γίνουν σε μία συσκευή, όπως μία αναζήτηση (seek) στο δίσκο.

  2. Η συσκευή Ι/Ο πρέπει να μπορεί να ειδοποιήσει το λειτουργικό σύστημα όταν αυτή έχει ολοκληρώσει μία λειτουργία ή έχει συναντήσει κάποιο λάθος. Για παράδειγμα, όταν ένας δίσκος έχει ολοκληρώσει μία αναζήτηση, θα ειδοποιήσει το λειτουργικό σύστημα.

  3. Τα δεδομένα πρέπει να μεταφέρονται ανάμεσα στη μνήμη και μία συσκευή I/O. Για παράδειγμα, το μπλοκ που διαβάζεται από ένα δίσκο πρέπει να μετακινηθεί από το δίσκο στη μνήμη.


ΔΡΑΣΤΗΡΙΟΤΗΤΑ 1

Να εξηγήσετε σε 10-15 γραμμές ποιος είναι ο ρόλος του λειτουργικού συστήματος και ποιες οι λειτουργίες που θα πρέπει αυτό να παρέχει για τη σωστή προσπέλαση των συσκευών Ι/Ο. Να συγκρίνετε την απάντησή σας με την παράγραφο που μόλις διαβάσατε: «Ο ρόλος του λειτουργικού συστήματος».


ΔΡΑΣΤΗΡΙΟΤΗΤΑ 2

Έστω ένα υπολογιστικό σύστημα στο οποίο οι συσκευές Ι/Ο είναι κοινόχρηστες. Θεωρείτε πως είναι εφικτό να παρέχεται προστασία αν τα προγράμματα των χρηστών μπορούν να επιτελούν απ' ευθείας Ι/Ο; Να αιτιολογήσετε την απάντησή σας.

 

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 2