Είσοδος και έξοδος
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Σχεδίαση υλικού
- Οι συσκευές εσόδου εξόδου μπορούν να διαχωριστούν σε:
- Οι συσκευές ελέγχονται με τη χρήση
ελεγκτών συσκευών (device controller) που επικοινωνούν
με την κεντρική μονάδα επεξεργασίας μέσω του διαύλου.
- Σε μεγαλύτερα συστήματα η επικοινωνία μπορεί να γίνεται με τη χρήση
εξειδικευμένων υπολογιστών εισόδου εξόδου.
- Η επικοινωνία με του ελεγκτές γίνεται μέσω εντολών που στέλνονται
μέσω διαύλου εισόδου / εξόδου ή μέσω ειδικών διευθύνσεων της μνήμης.
- Ορισμένοι ελεγκτές για συσκευές που μεταφέρουν μεγάλο όγκο δεδομένων
υποστηρίζουν
απευθείας πρόσβαση στη μνήμη (direct memory access (DMA)).
Αυτή υλοποιείται συνήθως με τη χρήση ενδιάμεσης μνήμης στον ελεγκτή.
- Ορισμένοι ελεγκτές δίσκου υποστηρίζουν την
υπερπήδηση (interleaving) τμημάτων του δίσκου έτσι ώστε
να συμβαδίζει ο χρόνος περιστροφής του δίσκου με το χρόνο ανάγνωσης των στοιχείων
από αυτόν.
Σχεδίαση λογισμικού
Το λογισμικό εισόδου εξόδου εξασφαλίζει:
Για την ικανοποίηση των παραπάνω ο έλεγχος εισόδου εξόδου σε ένα
λειτουργικό σύστημα χωρίζεται στα παρακάτω στρώματα:
- Χειριστές διακοπών
- Οδηγοί συσκευών
- Λογισμικό Λ.Σ. ανεξάρτητο από τις συσκευές (ονοματολογία, προστασία)
- Λογισμικό επιπέδου χρήστη (ετεροχρονισμός μέσω
διεργασίας παροχής υπηρεσιών (daemon).
Υλοποίηση πρόσβασης σε δίσκους
- Η χρονοδρομολόγιση του βραχίονα του δίσκου μπορεί να γίνει με τους παρακάτω τρόπους:
-
Πολλαπλοί δίσκοι μπορούν να χρησιμοποιηθούν παράλληλα για βελτίωση της
ταχύτητας και της αξιοπιστίας τους με βάση την τεχνολογία
- Πλεονάζουσα διάταξη φθηνών δίσκων (Redundant Array of Inexpensive Disks)
- Σφάλματα του δίσκου μπορεί να τα χειριστεί ο ελεγκτής του ή το Λ.Σ.
- Για τη βελτίωση της απόδοσης του δίσκου μπορεί να χρησιμοποιείται
κρυφή μνήμη στον ελεγκτή, ή από το Λ.Σ.
- Ειδική μορφή περιφερειακού τύπου δίσκου είναι ο δίσκος βασισμένος σε RAM.
Αξιοποίηση των ρολογιών
Το λειτουργικό σύστημα αξιοποιεί το ρολόι του υπολογιστή το
οποίο είναι υλοποιημένο ως ένας μετρητής για να:
- γνωρίζει το χρόνο της ημέρας
- το χρονοπρογραμματισμό των διεργασιών
- την παρακολούθηση της χρήσης της Κ.Μ.Ε.
- το χειρισμό κλήσεων εγρήγορσης των χρηστών
- τον έλεγχο περιφερειακών που απαιτούν χρονισμό μέσω
χρονιστών επιτήρησης (watchdoc timers).
- τη συλλογή στατιστικών στοιχείων
Επικοινωνία με το χρήστη
Η επικοινωνία με το χρήστη μπορεί να γίνει μέσω:
- σειριακών τερματικών
- ελεγκτών οθόνης με απευθείας πρόσβαση στη μνήμη
- γραφικών τερματικών δικτύου
Το λογισμικό εισόδου μπορεί να παρέχει
ακατέργαστη κατάσταση λειτουργίας (raw mode) και
κατεργασμένη κατάσταση λειτουργίας (cooked mode).
Η τελευταία υποστηρίζει την αλλαγή του κειμένου και την
προβολή (echoing) των χαρακτήρων.
Βιβλιογραφία
- Andrew S. Tanenbaum
Σύγχρονα λειτουργικά συστήματα. σ. 283-329
Εκδόσεις Παπασωτηρίου, 1993.
- Maurice J. Bach.
The
Design of the UNIX Operating System, pages 312–352.
Prentice-Hall, 1986.
- Samuel J. Leffler,
Marshall Kirk McKusick, Michael J. Karels, and John S. Quarterman.
The
Design and Implementation of the 4.3BSD Unix Operating System,
pages 167–186, 225–278.
Addison-Wesley, 1988.
- Andrew S. Tanenbaum.
Operating Systems: Design and Implementation, pages 110–177.
Prentice-Hall, 1987.