1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ



Σχετικά έγγραφα
Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

Κεφάλαιο 4: Λογισμικό Συστήματος

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Λιβανός Γιώργος Εξάμηνο 2017Β

Κεφάλαιο 4. Λογισμικό Συστήματος

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

Κεφάλαιο 3. Διδακτικοί Στόχοι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Λειτουργικά Συστήματα (Λ/Σ)

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Λειτουργικά Συστήματα (Λ/Σ)

ΛΟΓΙΣΜΙΚΟ (software)

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Αρχιτεκτονική Υπολογιστών

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Εισαγωγή στην Πληροφορική

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

ροµολόγηση Επεξεργαστή

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ ΑΝΑΓΝΩΣΤΟΠΟΥΛΟΣ ΚΩΣΤΑΣ

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Κεφάλαιο 3: Λειτουργικά Συστήματα

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λειτουργικά Συστήματα (ΗΥ321)

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Πληροφορική I. "Λογισμικό (Software)" B. Φερεντίνος

ver Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers)

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

Οργάνωση Υπολογιστών (IΙI)

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Πληροφορική 2. Λειτουργικά Συστήματα

ΚΕΦΑΛΑΙΟ 4 ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ. ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ-MSc

Κεφάλαιο 3: Λειτουργικά Συστήµατα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

Λειτουργικά Συστήματα Η/Υ

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

Λειτουργικά συστήματα πραγματικού χρόνου

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λιβανός Γιώργος Εξάμηνο 2017Β

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Λειτουργικά Συστήματα (1 ο μέρος)

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

Το υλικό του υπολογιστή

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 1

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Αμοιβαίος αποκλεισμός

Λειτουργικά Συστήματα Πραγματικού Χρόνου

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Λειτουργικά συστήματα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Λειτουργικά Συστήματα (Λ/Σ)

ΕΙΣΑΓΩΓΗ ΣΥΣΤΑΤΙΚΑ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Transcript:

12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων ενός υπολογιστικού συστήματος το οποίο ελέγχει, διαχειρίζεται και συντονίζει τη λειτουργία των επιμέρους τμημάτων του. Τα προγράμματα του Λειτουργικού Συστήματος ελέγχουν τη λειτουργία των προγραμμάτων των χρηστών, παρέχοντας τους απαιτούμενους πόρους (resources) και εποπτεύοντας την αλληλοδιαδοχή τους. Η ύπαρξη πολλών προγραμμάτων στους σύγχρονους υπολογιστές δικαιολογείται από το γεγονός ότι τα ΛΣ σήμερα υποστηρίζουν τη σύνδεση πολλών χρηστών στο ίδιο μηχάνημα. Το σημαντικότερο πρόγραμμα του Λειτουργικού Συστήματος είναι ο επόπτης (supervisor). Ο Επόπτης διευθύνει το Λειτουργικό Σύστημα, και παραμένει μόνιμα στη μνήμη όσο ο υπολογιστής βρίσκεται σε λειτουργία. Τα υπόλοιπα προγράμματα του Λειτουργικού Συστήματος δε.βρίσκονται συνέχεια στην κύρια μνήμη αλλά είναι αποθηκευμένα στη βοηθητική μνήμη. Ο επόπτης ελέγχει το Λειτουργικό Σύστημα και προωθεί στη μνήμη τα απαιτούμενα προγράμματα του Λειτουργικού για όλες τις επεξεργασίες. Το Λειτουργικό Σύστημα βελτιστοποιεί την απόδοση της λειτουργίας του υπολογιστή και ενεργεί ως διασύνδεση (interface) χρήστη - μηχανής. Με τον τρόπο αυτό δημιουργείται ένα περιβάλλον συνεργασίας ανθρώπου και υπολογιστή, όπου ο προγραμματιστής μπορεί να δημιουργεί και να καλεί τα προγράμματα των εφαρμογών του, και ο υπολογιστής να τα εκτελεί. Οι βασικές λειτουργίες ενός Λειτουργικού Συστήματος (ΛΣ) είναι: 1. Η διαχείριση των χρηστών. Τα ΛΣ υπάρχουν προκειμένου να κάνουν πιο εύκολη τη χρήση των υπολογιστικών συστημάτων διευκολύνοντας την αλληλεπίδραση των ανθρώπων με τον υπολογιστή. Για την επίτευξη του στόχου αυτού, το ΛΣ είναι επίσης επιφορτισμένο με την επιλογή και διαχείριση των εφαρμογών και συσκευών εισόδου /εξόδου καθώς και με την ευθύνη της ανάλυσης και του εντοπισμού λαθών (conflicts) καθώς και προβλημάτων ασφαλείας, προειδοποιώντας με κατάλληλα μηνύματα τους χρήστες του υπολογιστικού συστήματος.

ΚΕΦ 5: Λειτουργικά Συστήματα 13 Χρήσκς Εικ. 5.1: Το Λειτ. Σύστημα ως Διεπαφή Ανάμεσα σε Υλικό και Χρήστη 2. Η διαχείριση των αρχείων, που περιλαμβάνει την προώθηση αρχείων και προγραμμάτων στην κύρια μνήμη του υπολογιστή, και την εκτέλεση λειτουργιών πάνω στα αρχεία όπως δημιουργία, ανάγνωση, τροποποίηση ή διαγραφή. 3. Η αποδοτική λειτουργία του υπολογιστικού συστήματος, δηλαδή η όσο το δυνατόν καλύτερη χρησιμοποίηση του υλικού, ώστε να κατανέμεται καλύτερα το υπολογιστικό φορτίο. Το ΑΣ διαθέτει τη «γενική εικόνα» όλων των προγραμμάτοτν που πρέπει να εκτελεστούν, όλων των χρηστών του υπολογιστικού συστήματος και των αναγκών τους έτσι, μπορεί να ρυθμίσει καλύτερα πότε και ποια προγράμματα θα εκτελεστούν, να διασφαλίσει την αποτελεσματικότερη χρήση της μνήμης, και να βελτιστοποιήσει τη λειτουργία της ΚΜΕ με ταυτόχρονη όσο το δυνατόν καλύτερη διαχείριση των υπολογιστικών πόρων του συστήματος. 1.1.2 Το Λ ειτουργικό Σύστημα ως Διαχειριστής Π όρων Το λειτουργικό σύστημα έχει ως πρωταρχικό στόχο να:

14 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. > Προσφέρει στους χρήστες μια άνετη επικοινοονία με τον υπολογιστή τους. > Διαχειρίζεται όλα τα τμήματα του πολύπλοκου συστήματος. > Παρέχει μια συστηματοποιημένη κι ελεγχόμενη κατανομή των επεξεργαστών, των μνημών και των άλλων, πιθανώς περιφερειακών, συσκευών εισόδου / εξόδου ανάμεσα στα διάφορα προγράμματα που ανταγωνίζονται να τα χρησιμοποιήσουν. Κατά συνέπεια, το λειτουργικό σύστημα πρέπει να ελέγχει ποιος χρησιμοποιεί ποιους πόρους, να διαβαθμίζει τις απαιτήσεις για πόρους, να χρεώνει για την χρήση τους και να επιλαμβάνεται για τις αντικρουόμενες διεκδικήσεις από τα διαφορετικά προγράμματα και χρήστες. 1.2 Τύποι Λειτουργικών Συστημάτων 1.2.1 Λειτουργικά Συστήματα Δεσμίδας Στην δεκαετία του 50 εμφανίστηκαν τα πρώτα λειτουργικά συστήματα με κύριο σκοπό την διευκόλυνση στην διαδοχή των προγραμμάτων των χρηστών. Στα συστήματα αυτά, που είναι γνωστά ως Λειτουργικά Συστήματα Ομαδικής Επεξεργασίας (Batch Processing) ή ως Πρώτη Γενιά Λειτουργικών Συστημάτων, ο χειριστής του υπολογιστικού συστήματος ομαδοποιούσε τα προγράμματα που υπέβαλλαν οι χρήστες με αποτέλεσμα το λειτουργικό σύστημα να συγκεντρώνει ένα σύνολο ομοειδών προγραμμάτων (γραμμένων σε κάποια γλώσσα υψηλού επιπέδου, π.χ. η C, Pascal κτλ), τα επεξεργαζόταν διαδοχικά (με σειρά εμφάνισης) και τύπωνε τα αποτελέσματά τους πάλι με την ίδια σειρά. Τα πρώτα αυτά λειτουργικά συστήματα, παρουσίαζαν τα ακόλουθα βασικά μειονεκτήματα: > Υποαπασχόληση των συσκευών: Σε ένα ΛΣ ομαδικής επεξεργασίας δεν ήταν δυνατή η ταυτόχρονη εκτέλεση περισσοτέρων του ενός προγραμμάτων, με αποτέλεσμα να πρέπει πρώτα να τελειώσει ένα πρόγραμμα, προκειμένου να αρχίσει η εκτέλεση του επομένου προγράμματος της ομάδας. Ένα πρόγραμμα όμως δεν μπορεί να απασχολεί ταυτόχρονα όλες τις μονάδες του Η/Υ, οι οποίες κατά συνέπεια υποαπασχολούνταν για παράδειγμα, η ΚΜΕ απασχολούνταν συνήθως σε ποσοστό μικρότερο του 10%. Εάν ήταν δυνατό να εκτελούνται πολλά προγράμματα ταυτόχρονα, θα μπορούσε σε μια δεδομένη χρονική στιγμή κάθε ένα από αυτά να απασχολεί και διαφορετική μονάδα. Έτσι θα περιοριζόταν ο ανενεργός χρόνος (idle time) κάποιων μονάδων του υπολογιστή.

ΚΕΦ 5: Λειτουργικά Συστήματα 15 > Ο χρόνος ανακύκλωσης (turnaround time), που αποτελεί το χρονικό διάστημα που μεσολαβεί από τη στιγμή που ο προγραμματιστής θα αφήσει στον υπολογιστή το πρόγραμμά του μέχρι τη στιγμή που θα πάρει τα αποτελέσματα, και ο οποίος στα ΑΣ ομαδικής επεξεργασίας ήταν ιδιαίτερα μεγάλος. Συνήθο)ς τα αποτελέσματα των προγραμμάτων δεν ήταν διαθέσιμα, παρά μόνο αφού είχε ολοκληρωθεί η εκτέλεση όλης της ομάδας. Έτσι ο χρόνος ανακύκλωσης εξαρτιόταν από το χρόνο εκτέλεσης ολόκληρης της ομάδας, ο οποίος μπορεί να είναι π.χ. 50 ή 100 φορές μεγαλύτερος από το χρόνο εκτέλεσης του συγκεκριμένου προγράμματος. 1.2.2 Λ ειτουργικά Συστήματα Π ολυπρογραμματισμού Στις αρχές της δεκαετίας του 60, έκαναν την εμφάνισή τους τα Λειτουργικά Συστήματα Δεύτερης Γενιάς, που είναι επίσης γνωστά με τον όρο Λειτουργικά Συστήματα Πολυπρογραμματισμού (multiprogramming). Η ανάγκη για πιο αποτελεσματική χρήση του υπολογιστή, η μείωση του ανενεργού χρόνου (idle time) των μονάδων του υπολογιστή και του σημαντικού χρόνου ανακύκλωσης το)ν λειτουργικών συστημάτων πρώτης γενιάς οδήγησε στον πολυπρογραμματισμό, όπου πολλά προγράμματα βρίσκονται σε κατάσταση εκτέλεσης ταυτόχρονα. Η διακοπή μιας λειτουργίας γίνεται με τη χρήση ειδικών σημάτων, των σημάτων διακοπής (interrupts), τα οποία διακόπτουν την τρέχουσα λειτουργία της ΚΜΕ. Ένα Λειτουργικό Σύστημα Πολυπρογραμματισμού παραχωρεί, με τη βοήθεια κατάλληλου αλγορίθμου, σε ένα πρόγραμμα για κάποιο χρονικό διάστημα την ΚΜΕ και όποιους άλλους πόρους του υπολογιστή οι οποίοι κρίνονται απαραίτητοι για την εκτέλεσή του. Εάν κατά την διάρκεια εκτέλεσης, το πρόγραμμα χρειάζεται να εκτελέσει μία εντολή εισόδου / εξόδου από και προς κάποια περιφερειακή συσκευή, τότε εκτελούνται τα ακόλουθα βήματα: > Το ΛΣ αναθέτει σε άλλη μονάδα, που είναι γνωστή ως δίαυλος, την εκτέλεση της διαδικασίας εισόδου-εξόδου. > Παράγεται ένα σήμα διακοπής και το πρόγραμμα τίθεται σε αναμονή έθ3ς ότου ολοκληρωθεί η διαδικασία εισόδου-εξόδου, και στη συνέχεια τίθεται σε κατάσταση ετοιμότητας προς εκτέλεση. > Η ΚΜΕ προωθεί την εκτέλεση άλλου προγράμματος που περιμένει υπό εκτέλεση στη μνήμη του συστήματος, καθώς το προηγούμενο πρόγραμμα βρίσκεται σε κατάσταση αναμονής. Τα παραπάνω βήματα απεικονίζουν και τον τρόπο με τον οποίο ένα λειτουργικό σύστημα διαχειρίζεται τις περιφερειακές μονάδες του υπολογιστικού συστήματος. Κάτι που αφορά τη διαχείριση των περιφερειακών

16 Σχεδιασμός Ανάπτυξη - Λειτουργία Π.Σ. και πρέπει να τονιστεί στο σημείο αυτό είναι η χρήση ειδικών επεξεργαστών διαύλου που έχουν ως μοναδικό σκοπό την μεταφορά των δεδομένων μεταξύ περιφερειακών και κυρίας μνήμης. Αυτό έχει ως συνέπεια την απελευθέρωση του κυρίως επεξεργαστή, ο οποίος επιφορτίζεται με τη εκτέλεση των υπολοίπων διεργασιών. Παράλληλα με τα ΛΣ Πολυπρογραμματισμού αναπτύχθηκαν και συσκευές οι οποίες έδιναν τη δυνατότητα σε περιφερειακές συσκευές όπως τηλέτυπα, οθόνες, εκτυπωτές κ.λ.π. να επικοινωνήσουν με ένα υπολογιστή μέσω τηλεπικοινωνιακών γραμμών. Έτσι οι περιφερειακές μονάδες δεν ήταν πλέον απαραίτητο να βρίσκονται στον ίδιο φυσικό χώρο με τον υπολογιστή. Τα ΛΣ που διαχειρίζονταν τέτοια υπολογιστικά συστήματα με «απομακρυσμένες» περιφερειακές συσκευές ονομάζονται Λειτουργικά Συστήματα Τηλεπεςεργασίας. Παρόλα τα θετικά στοιχεία που προσφέρουν τα ΛΣ Πολυπρογραμματισμού, παρουσιάζουν και μειονεκτήματα, ένα εκ των οποίων είναι το γεγονός ότι το ίδιο το ΛΣ είναι πλέον ένα σύνθετο και πολύπλοκο πρόγραμμα (σε αντίθεση με τα ΛΣ πρώτης γενιάς που είναι πολύ απλά), το οποίο με τη σειρά του απασχολεί τον υπολογιστή σε βάρος των προγραμμάτων εφαρμογών, και μάλιστα τόσο περισσότερο, όσο πιο πολύπλοκο είναι. 1.2.3 Λειτουργικά Συστήματα Χρονομερισμού Στις μεταγενέστερες δεκαετίες, η δημιουργία μεγάλων υπολογιστικών συστημάτων έδωσε το έναυσμα για την υποστήριξη πολλαπλών χρηστών, κάθε ένας από τους οποίους έχει στη διάθεσή του ένα τερματικό. Ο χρήστης πληκτρολογεί εντολές στο τερματικό, μέσω του οποίου διαβιβάζονται και εκτελούνται στο υπολογιστικό σύστημα. Για να έχουν όλοι οι χρήστες την εντύπωση ότι εξυπηρετούνται ταυτόχρονα, το υπολογιστικό σύστημα καταμερίζει το χρόνο του, δίνοντας λίγο από αυτόν και εκ περιτροπής στον καθένα. Στους σύγχρονους υπολογιστές το ρόλο του ρολογιού κατέχει ένα ειδικό κύκλω μα, που είναι γνωστό ως χρονιστής (timer), και το οποίο ανά τακτά χρονικά διαστήματα προκαλεί την δημιουργία ενός σήματος διακοπής (interrupt). Ο χρόνος διασπάται σε διαστήματα διάρκειας Τ. Αν υπάρχουν m προγράμματα προς εκτέλεση, που συμβολίζονται με π1,π2,...,πηι, η περίοδος Τ διαιρείται σε m χρονικά διαστήματα τ1,τ2,..., τιη. Ο χρονιστής δημιουργεί ένα σήμα στην αρχή κάθε περιόδου τν, οπότε αρχίζει να εξυπηρετείται από την ΚΜΕ το ν-οστό πρόγραμμα. Αν κάποιο από αυτά δεν ζητά εξυπηρέτηση ή έχει τελειώσει, η σειρά του παραχωρείται στο επόμενο. Ένα ΛΣ στο οποίο η λειτουργία του υπολογιστή δομείται κατ αυτό τον τρόπο αποκαλείται Λειτουργικό Σύστημα Καταμερισμού Χρόνου (time sharing).

ΚΕΦ 5: Λειτουργικά Συστήματα 17 Η περίοδος Τ μπορεί να είναι της τάξης των 3 sec. Αν υποθέσουμε ότι υπάρχουν 5 προγράμματα για εκτέλεση, στο καθένα (σε κάθε περίοδο) διατίθεται 0,6 sec, χρόνος αρκετά μεγάλος για να καλύψει πολλές φορές ολόκληρη την εκτέλεση ενός προγράμματος. Εάν κάποιο πρόγραμμα δεν καλύπτεται, περιμένει μέχρι την επόμενη χρονική περίοδο. Μερικές φορές βέβαια ένα πρόγραμμα πρέπει να εκτελεστεί αμέσως, χωρίς καθυστέρηση, επειδή η ταχύτητα απόκρισής του έχει ουσιαστική σημασία. Τότε, σε περιπτώσεις δηλαδή λειτουργίας σε πραγματικό χρόνο (real-time operation), το πρόγραμμα έχει προτεραιότητα έναντι των άλλων και εξυπηρετείται πρώτο. 1.3 Αρχιτεκτονική Λειτουργικών Συστημάτων Τα περισσότερα ΑΣ, και ιδιαίτερα τα σύγχρονα, είναι οργανωμένα σε επίπεδα (layers). Αυτό σημαίνει ότι κατά τη σχεδίασή τους είναι δομημένα σε τμήματα, και κάθε τμήμα τους επικοινωνεί μόνο με αυτά που βρίσκονται στο αμέσως ανώτερο ή το αμέσως κατώτερο επίπεδο. Όσα τμήματα χρησιμοποιούν απευθείας το υλικό του υπολογιστή, βρίσκονται στο κατώτερο επίπεδο του ΑΣ. Τα υπόλοιπα τμήματα, που βρίσκονται σε ανώτερα επίπεδα, δεν επικοινωνούν καθόλου με το υλικό, αλλά χρησιμοποιούν τα τμήματα που ανήκουν στο αμέσως κατώτερο επίπεδο. Στην Εικόνα 5.2 φαίνεται ένα παράδειγμα διάρθρωσης ενός ΑΣ σε επίπεδα. Η οργάνωση αυτή βέβαια είναι ενδεικτική, γιατί υπάρχουν πολλές παραλλαγές της, αλλά η βασική φιλοσοφία είναι κοινή. Στο χαμηλότερο επίπεδο ανήκουν τα τμήματα του ΑΣ που διαχειρίζονται: > τη μνήμη, > τα εκτελούμενα προγράμματα, και > τις λειτουργίες επικοινωνίας με τις περιφερειακές συσκευές. Οι λειτουργίες αυτές αποτελούν το κάτω τμήμα των οδηγών συσκευών Ε/Ε (device drivers), ειδικών τμημάτων του ΑΣ που αναλαμβάνουν την επικοινωνία του ΑΣ με τα περιφερειακά. Στο αμέσους ανώτερο επίπεδο βρίσκεται το άνω τμήμα των οδηγών Ε/Ε και πάνω από αυτό βρίσκεται το επίπεδο που διαχειρίζεται το σύστημα αρχείων. Τα προγράμματα των χρηστών επικοινωνούν μόνο με το υψηλότερο επίπεδο σε ένα ΛΣ, που αποτελείται από την διεπαφή χρήστη (user interface) και τις κλήσεις συστήματος.

18 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. Η διεπαφή με το χρήστη μπορεί να γίνεται είτε με εντολές, μέσω του διερμηνέα εντολών (command interpreter), ή μέσω μίας διεπαφής χρήστη με χρήση γραφικών (Graphical User Interface, GUI). Εικ. 5.2: Οργάνωση Λειτουργικού Συστήματος Σημαντικό ρόλο στην επικοινωνία ανάμεσα στο λειτουργικό σύστημα και στις εφαρμογές του προγραμματιστή είναι η χρήση των Προγραμματισμένων Διεπαφών Εφαρμογής (APIs: Application Programming Interfaces). Οι διεπαφές επιτρέπουν στους προγραμματιστές των εφαρμογών να χρησιμοποιούν κάποιες από τα βασικές διεργασίες και λειτουργίες του υπολογιστή και του λειτουργικού συστήματος. Οι προγραμματιστές δε νοιάζονται για τον τρόπο εκτέλεσης των λειτουργιών αυτών στην ΚΜΕ, καθώς οι διεπαφές ασχολούνται με όλες τις λεπτομέρειες. Για παράδειγμα, ο τρόπος με τον οποίο αποθηκεύονται αρχεία στο σκληρό δίσκο εξαρτάται σε μεγάλο βαθμό και από τον τύπο του δίσκου. Δηλαδή, ανάλογα το σκληρό δίσκο, υπάρχουν διαφορετικές οδηγίες σχετικά με τα μηνύματα που ανταλλάσσονται, τους τύπους τ(ον δεδομένων και γενικά τις διεργασίες στην ΚΜΕ, κατά την διάρκεια μιας αποθήκευσης. Έτσι, ο προγραμματιστής μιας εφαρμογής δεν έχει παρά να φτιάξει μια διεπαφή εφαρμογής (Application Interface), η οποία να ασχολείται με την

ΚΕΦ 5: Λειτουργικά Συστήματα 19 αποθήκευση των αρχείων, λαμβάνοντας υπόψη τον τύπο του σκληρού δίσκου. Έτσι, η διεπαφή θα φέρνει εις πέρας όλες τις απαραίτητες και πολύπλοκες ενέργειες που απαιτεί η διαδικασία της αποθήκευσης.