ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ Πρϊτθ Διάλεξθ - Βαςικζσ Ζννοιεσ
Περιεχόμενα Ηλεκτρονικόσ Τπολογιςτισ Λειτουργικό φςτθμα Σμιματα Λειτουργικοφ υςτιματοσ Διεπαφι Λειτουργικοφ υςτιματοσ Πολφ-προγραμματιςμόσ - Πολφ-διεργαςία Ιςτορικι Εξζλιξθ Κατθγορίεσ υςτθμάτων
Ηλεκτρονικόσ Τπολογιςτισ (1/2) Η/Τ Ειδικήσ Χρήςησ Φτιαγμζνοσ για ςυγκεκριμζνθ εργαςία Γενικήσ Χρήςησ Εκτελεί ποικίλεσ εργαςίεσ βάςει των εντολϊν που παίρνει από το λογιςμικό
Ηλεκτρονικόσ Τπολογιςτισ (2/2) Ηλεκτρονικόσ Τπολογιςτισ Λογιςμικό (Software) Τλικό (Hardware) υςτιματοσ (System Software) Εφαρμογϊν (Application Software)
Συπικι Θζςθ Λειτουργικοφ υςτιματοσ
Λειτουργικό φςτθμα (1/4) Ζνα ςφγχρονο υπολογιςτικό ςφςτθμα αποτελείται από: Ζναν ι περιςςότερουσ επεξεργαςτζσ Κφρια Μνιμθ Δίςκουσ Εκτυπωτζσ Διάφορεσ μονάδεσ ειςόδου/εξόδου Διάφορεσ αποκθκευτικζσ μονάδεσ Η διαχείριςθ όλων αυτϊν των μερϊν απαιτεί ζνα ειδικό λογιςμικό το Λειτουργικό φςτθμα
Λειτουργικό φςτθμα (2/4) Ανικει ςτο Λογιςμικό υςτιματοσ Είναι το πρόγραμμα ι θ ςυλλογι προγραμμάτων που ελζγχει τθ λειτουργία του υπολογιςτι και υποςτθρίηει τθν εκτζλεςθ κάκε άλλου προγράμματοσ Προςφζρει: Ευκολία Αποτελεςματικότθτα Ικανότθτα εξζλιξθσ
Λειτουργικό φςτθμα (3/4) Αρμοδιότθτεσ: Παρζχει τθ διεπαφι (Interface) υπολογιςτι χριςτθ Διαχειρίηεται τουσ πόρουσ του ςυςτιματοσ (Resources) Μεταφζρει εντολζσ ι απαιτιςεισ του χριςτθ ςτον ΗΤ Δίνει πλθροφορίεσ για τθν κατάςταςθ του ςυςτιματοσ, λάκθ και προβλιματα Ελζγχει τθν ΚΜΕ (CPU) κατανζμοντασ το χρόνο τθσ ςε εργαςίεσ και χριςτεσ Διαχειρίηεται τθν κεντρικι μνιμθ RAM Ελζγχει τισ ςυςκευζσ και τισ διαδικαςίεσ Ειςόδου Εξόδου και τθ ροι πλθροφοριϊν Οργανϊνει και Διαχειρίηεται τα αρχεία του ςυςτιματοσ Ελζγχει τθν εκτζλεςθ των προγραμμάτων των χρθςτϊν Παρζχει και εφαρμόηει μθχανιςμοφσ αςφάλειασ του υπολογιςτι και των χρθςτϊν
Λειτουργικό φςτθμα (4/4) Σα Λειτουργικά υςτιματα ςχεδιάηονται ϊςτε να αποτελοφνται από διάφορα αφθρθμζνα επίπεδα, κακζνα από τα οποία εκτελεί τισ λειτουργίεσ του «κρφβοντασ» τθν πολυπλοκότθτά του ο χριςτθσ ζχει τθν εικόνα μιασ «υψθλοφ επιπζδου» μθχανισ
Σμιματα Λειτουργικοφ υςτιματοσ Λ.. Πυρήνασ (Kernel) Είναι το χαμθλότερο επίπεδο του λειτουργικοφ ςυςτιματοσ Ελζγχει το υλικό Αναγνωρίηει και ανταποκρίνεται ςτισ διακοπζσ που δθμιουργοφνται από το υλικό Διεπαφζσ (Interfaces) Επιτρζπουν τθν επικοινωνία με τον υπολογιςτι Βοθκοφν ςτθν ανάπτυξθ και εκτζλεςθ προγραμμάτων, ςτθν πρόςβαςθ ςε ςυςκευζσ Ε/Ε, ςτθν ελεγχόμενθ πρόςβαςθ ςε αρχεία, ςτθν πρόςβαςθ ςτο ςφςτθμα, ςτθν ανίχνευςθ και απόκριςθ ςε ςφάλματα και ςτθ λογιςτικι Βοηθήματα (Utilities) Βοθκθτικά προγράμματα για τθν επιτζλεςθ λειτουργιϊν
Διεπαφι Λειτουργικοφ υςτιματοσ Σο λειτουργικό ςφςτθμα ενεργεί ωσ ενδιάμεςοσ, κακϊσ μεταφζρει τισ εντολζσ του χριςτθ ςτο Λ.. αλλά και τα μθνφματα του Λ.. προσ το χριςτθ Σο λειτουργικό ςφςτθμα ερμθνεφει τισ εντολζσ του χριςτθ μζςω του διερμηνευτή εντολών (command interpreter) ή αλλιώσ του φλοιοφ ή του κελφφουσ (shell) Γραφικι Διεπαφι (GUI) Γραμμι Εντολϊν
Πολφ-προγραμματιςμόσ ι Πολφδιεργαςία Αν ζνα Λειτουργικό φςτθμα ζχει τθν ικανότθτα να εκτελεί περιςςότερα από ζνα προγράμματα (του ίδιου ι διαφορετικϊν χρθςτϊν) ταυτόχρονα τότε λζμε ότι είναι ζνα ςφςτθμα Πολυπρογραμματιςμοφ (Multiprogramming) Αν ζνα Λειτουργικό φςτθμα ζχει τθν ικανότθτα να εκτελεί πολλζσ εργαςίεσ ταυτόχρονα, κάκε μια από τισ οποίεσ μπορεί να είναι αυτόνομο πρόγραμμα ι τμιμα ενόσ προγράμματοσ τότε λζγεται ςφςτθμα πολφ-διεργαςίασ (Multi-tasking) Κάποιεσ από τισ διεργαςίεσ μποροφν να τρζχουν ςτο παραςκινιο επιτελϊντασ λειτουργίεσ όπωσ π.χ. θ επικοινωνία ςε ζνα δίκτυο, θ προςταςία του υπολογιςτι από ιοφσ Σο πλεονζκτθμα είναι ότι μειϊνεται ο ςυνολικόσ χρόνοσ εκτζλεςησ όλων των εργαςιών και αξιοποιοφνται καλφτερα οι πόροι του ςυςτήματοσ π.χ. όταν μια εργαςία δεν χρειάηεται τον επεξεργαςτι μπορεί αυτόσ να εξυπθρετιςει μια άλλθ που «τρζχει παράλλθλα» Σο μειονζκτθμα είναι ότι αυξάνει θ πολυπλοκότθτα και χρειάηονται μθχανιςμοί προςταςίασ τθσ μιασ εργαςίασ από ενζργειεσ ι αςτοχίεσ άλλθσ που εκτελείται παράλλθλα
Ιςτορικι Εξζλιξθ (1/8) Σα λειτουργικά ςυςτιματα ακολουκοφν τθν εξζλιξθ των υπολογιςτϊν κάκε εποχισ και προςαρμόηονται: τισ εκάςτοτε δυνατότθτεσ του υλικοφ τισ αντιλιψεισ τθσ εποχισ για τθν επικοινωνία ανκρϊπου μθχανισ
Ιςτορικι Εξζλιξθ (2/8) θμαντικά ορόςθμα: ειριακι Επεξεργαςία Απλά υςτιματα Δζςμθσ Πολυπρογραμματιηόμενα υςτιματα Δζςμθσ υςτιματα Διαμοιραςμοφ Χρόνου
Ιςτορικι Εξζλιξθ (3/8) ειριακι Επεξεργαςία: Από τθ δεκαετία 40 ζωσ και τα μζςα τθσ δεκαετίασ 50 Οι προγραμματιςτζσ επικοινωνοφςα άμεςα με το υλικό του υπολογιςτι δεν υπιρχε Λ.. Οι υπολογιςτζσ αποτελοφνταν από μια κονςόλα, που διζκετε φϊτα ενδείξεων, διακόπτεσ αντιςτροφισ, κάποιο είδοσ ειςόδου και ζναν εκτυπωτι Σα προγράμματα που ιταν γραμμζνα ςε κϊδικα μθχανισ φορτϊνονταν μζςω μιασ ςυςκευισ (π.χ. αναγνϊςτθ καρτϊν) Αν κάποιο ςφάλμα διζκοπτε το πρόγραμμα, θ ςυνκικθ ςφάλματοσ γινόταν αντιλθπτι μζςω ειδοποίθςθσ από τα φϊτα Αν το πρόγραμμα ολοκλθρωνόταν κανονικά, θ ζξοδοσ εμφανιηόταν ςτον εκτυπωτι Ονομάςτθκε ςειριακι επεξεργαςία, κακϊσ οι χριςτεσ είχαν πρόςβαςθ ςτον υπολογιςτι με τθ ςειρά
Ιςτορικι Εξζλιξθ (4/8) ειριακι Επεξεργαςία (ςυνζχεια): Δφο βαςικά προβλιματα: Χρονοδρομολόγθςθ: ζνασ χριςτθσ τθ φορά μποροφςε να ζχει ςτθ διάκεςι του τον υπολογιςτι για ζνα χρονικό διάςτθμα, που ιταν πολλαπλάςια τθσ μιςισ ϊρασ ι ςπατάλθ χρόνου ι μθ ολοκλιρωςθ εργαςιϊν Χρόνοσ εκκίνθςθσ: ζνα μοναδικό πρόγραμμα (job), μποροφςε να περιλαμβάνει τθ φόρτωςθ του μεταγλωττιςτι και του προγράμματοσ γλϊςςασ υψθλοφ επιπζδου (πθγαίου προγράμματοσ) ςτθ μνιμθ, τθν αποκικευςθ του μεταγλωττιςμζνου προγράμματοσ (αντικειμενικοφ προγράμματοσ) και ςτθ ςυνζχεια τθ φόρτωςθ και τθ διαςφνδεςθ του αντικειμενικοφ προγράμματοσ και των κοινϊν λειτουργιϊν ςε περίπτωςθ ςφάλματοσ, όλθ θ διαδικαςία άρχιηε από τθν αρχι και ςθμαντικό ποςοςτό χρόνου ςπαταλοφνταν μόνο για τθ ρφκμιςθ και τθν εκκίνθςθ του προγράμματοσ που ζπρεπε να εκτελεςτεί
Ιςτορικι Εξζλιξθ (5/8) Απλά υςτιματα Δζςμθσ: Για να ξεπεραςτοφν τα προβλιματα τθσ ςειριακισ επεξεργαςίασ, αναπτφχκθκε θ ιδζα ενόσ Λ.. δζςμθσ Σο πρϊτο Λ.. δζςμθσ, το οποίο είναι ταυτόχρονα και το πρϊτο Λ.. οποιουδιποτε είδουσ, αναπτφχκθκε ςτα μζςα τθσ δεκαετίασ 50 από τθν εταιρεία General Motors και χρθςιμοποιικθκε ςε ζναν IBM 701 Η κεντρικι ιδζα ιταν θ χριςθ ενόσ τμιματοσ λογιςμικοφ, γνωςτοφ ωσ παρακολουκθτι, ϊςτε ο χριςτθσ να μθ χρειάηεται να ζχει άμεςθ ςχζςθ με τον επεξεργαςτι ο χριςτθσ υποβάλλει τθν εργαςία ςε κάρτεσ ι ταινίεσ ςε κάποιο χειριςτι του υπολογιςτι, ο οποίοσ ςυγκεντρϊνει όλεσ τισ εργαςίεσ ακολουκιακά και τοποκετεί ολόκλθρθ τθ δζςμθ ςε μία ςυςκευι ειςόδου, για να χρθςιμοποιθκεί από τον παρακολουκθτι
Ιςτορικι Εξζλιξθ (6/8) Απλά υςτιματα Δζςμθσ (ςυνζχεια): Κάκε πρόγραμμα καταςκευάηεται με τζτοιο τρόπο, ϊςτε όταν ολοκλθρϊνεται ο ζλεγχοσ επιςτρζφει ςτον παρακολουκθτι, ο οποίοσ διαβάηει τθν επόμενθ εργαςία Σα αποτελζςματα κάκε εργαςίασ αποςτζλλονται ςτον εκτυπωτι Ο παρακολουκθτισ (Λ.. δζςμθσ) είναι απλά ζνα πρόγραμμα υπολογιςτι, το οποίο βαςίηεται ςτθν ικανότθτα του επεξεργαςτι να ανακαλεί εντολζσ από διάφορα τμιματα τθσ κφριασ μνιμθσ, ζτςι ϊςτε εναλλάξ να αποκτά ι να χάνει τον ζλεγχο
Ιςτορικι Εξζλιξθ (7/8) Πολυπρογραμματιηόμενα υςτιματα Δζςμθσ: Ακόμα και ςτα απλά Λ.. δζςμθσ, ο επεξεργαςτισ ςυχνά είναι αδρανισ, κακϊσ οι ςυςκευζσ Ε/Ε είναι αργζσ ςυγκριτικά με τον επεξεργαςτι Ο επεξεργαςτισ δαπανά ςυγκεκριμζνο χρόνο για τθν εκτζλεςθ εντολϊν, μζχρι να φτάςει ςε μια εντολι Ε/Ε, όπου πρζπει να περιμζνει τθν ολοκλιρωςι τθσ πριν προχωριςει ςτα επόμενα βιματα Η βαςικι ιδζα των ςυςτθμάτων αυτϊν είναι ότι, εφόςον υπάρχει αρκετι διακζςιμθ μνιμθ τόςο για το Λ.. όςο και για περιςςότερα από ζνα προγράμματα, όταν μια εργαςία χρειάηεται να αναμείνει Ε/Ε, ο επεξεργαςτισ μπορεί να μεταβεί ςε άλλθ εργαςία τρόποσ λειτουργίασ ςφγχρονων Λ..
Ιςτορικι Εξζλιξθ (8/8) υςτιματα Διαμοιραςμοφ Χρόνου: Διαμεριςμόσ χρόνου ο χρόνοσ του επεξεργαςτι διαμοιράηεται μεταξφ πολλαπλϊν χρθςτϊν τα ςυςτιματα αυτά, πολλαπλοί χριςτεσ προςπελάηουν ταυτόχρονα το ςφςτθμα μζςω τερματικϊν Σο Λ.. εναλλάςςει τθν εκτζλεςθ κάκε προγράμματοσ χριςτθ ςε ςφντομα χρονικά διαςτιματα ι μζρθ τθσ υπολογιςτικισ δφναμθσ Εάν υπάρχουν n ενεργοί χριςτεσ που ηθτοφν ταυτόχρονθ εξυπθρζτθςθ, κάκε χριςτθσ βλζπει κατά μζςω όρο μόνο το 1/n τθσ δυναμικότθτασ του υπολογιςτι, χωρίσ να ςυνυπολογίηεται θ επιβάρυνςθ του Λ..
Κατθγορίεσ υςτθμάτων (1/2) Δζςμθσ (Batch) Δεν υπάρχουν ιδιαίτερεσ χρονικζσ απαιτιςεισ Οιεργαςίεσ υποβάλλονται και παραλαμβάνονται τα αποτελζςματα υναλλαγϊν (Transactions) υνεχισ επικοινωνία χριςτθ-ςυςτιματοσ Άμεςθ απάντθςθ. π.χ. ςυναλλαγζσ με τράπεηα Διαλογικά ι Αλλθλεπιδραςτικά Χρονομεριςμοφ (Time Sharing) Ο χριςτθσ δίνει εντολζσ και το ςφςτθμα απαντά π.χ. Βάςθ Δεδομζνων Σο ςφςτθμα μοιράηει και χρεϊνει τισ υπθρεςίεσ του ςε πολλοφσ χριςτεσ π.χ. Κεντρικό ςφςτθμα πανεπ/μιου που χρθςιμοποιείται από πολλοφσ ερευνθτζσ
Κατθγορίεσ υςτθμάτων (2/2) Πραγματικοφ Χρόνου (Real Time) Απαιτείται άμεςθ απόκριςθ ςε ςυνικωσ ελάχιςτο διάςτθμα π.χ. Ζλεγχοσ βιομθχανικϊν διεργαςιϊν, διαςτθμικζσ αποςτολζσ Κατανεμθμζνα Σο ςφςτθμα είναι γεωγραφικά διαςκορπιςμζνο αλλά δίνει τθν εντφπωςθ ενιαίου ςυςτιματοσ Με ανοχι ςφαλμάτων (fault tolerant) ι Άνευ Παφςθσ (Non-Stop) Δε ςταματάει να λειτουργεί όταν παρουςιαςτεί βλάβθ π.χ. Σραπεηικζσ εργαςίεσ, Όργανα Ελζγχου αεροςκαφϊν