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



Σχετικά έγγραφα
Εισαγωγή στα Λειτουργικά Συστήματα

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

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

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

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

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

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

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Σχεδίαση Δικτύων Υπολογιστών

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εισαγωγή στους Αλγορίθμους

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 8 η : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΩΝ ΛΟΓΙΚΩΝ ΕΛΕΓΚΤΩΝ

Μηχανολογικό Σχέδιο Ι

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 1 η : Εισαγωγή

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

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

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

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διοικητική Λογιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

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

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Βάσεις Περιβαλλοντικών Δεδομένων

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Ιστορία της μετάφρασης

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 1: Ο ΡΟΛΟΣ ΤΩΝ ΠΩΛΗΣΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΑΡΚΕΤΙΝΓΚ

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Ειδικά Θέματα Δικτύων Ι

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 4: Πηγές Δεδομένων- Δευτερογενή Στοιχεία. Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 8: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Σχεδίαση Δικτύων Υπολογιστών

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

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

Ενότητα. Εισαγωγή στη Microsoft Access

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Εισαγωγή ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Ειδικά Θέματα Δικτύων ΙΙ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Ειδικά Θέματα Δικτύων Ι

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

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

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

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

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Οργάνωση και Διοίκηση Πωλήσεων

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 2 η : ΠΕΡΙΓΡΑΦΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΑΘΗΜΑΤΙΚΑ ΜΟΝΤΕΛΑ

Τεχνολογία Λογισμικού

Συστήματα Αναμονής. Ενότητα 9: Ανέλιξη Γέννησης - Θανάτου. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαχείριση Πολιτισμικών Δεδομένων

Transcript:

Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 1: Εισαγωγή Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σεάδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Γενική περιγραφή και δομή των λειτουργικών συστημάτων. 4

Περιεχόμενα ενότητας (1) Βασικές Έννοιες και Ιστορία των Λειτουργικών Συστημάτων. Δομή Λειτουργικών Συστημάτων. Διεργασίες: Ιδιότητες και Υλοποίηση Διεργασιών, Διαδιεργασιακή Επικοινωνία, Χρονοπρογραμματισμός Διεργασιών. Χρήση και Υλοποίηση Νημάτων, Αναδυόμενα Νήματα, Μετατροπή Μονονηματικού Κώδικα σε Πολυνηματικό, Χρονοπρογραμματισμός Νημάτων. 5

Περιεχόμενα ενότητας (2) Αδιέξοδα: Ανίχνευση, Ανάκαμψη, Αποφυγή, Πρόληψη. Διαχείριση Μνήμης: Εικονική Μνήμη, Σχεδίαση και Υλοποίηση Μηχανισμών Σελιδοποίησης, Αλγόριθμοι Αντικατάστασης Σελίδων, Τμηματοποίηση. Είσοδος/Έξοδος: Υλικό και Λογισμικό Εισόδου-Εξόδου, Δίσκοι, Τερματικά. Συστήματα Αρχείων: Αρχεία και Κατάλογοι, Υλοποίηση. 6

Διαδικαστικά Καθηγητής : Dr. Γεώργιος Φ. Φραγκούλης E-mail: gfraguli@teikoz.gr Office hours: Δευτέρα, 18:00-20:00μμ Class webpage: http://eclass.teikoz.gr/courses/ee120/ και http://gen.teikoz.gr/~fragulis/ Όλα τα α αραίτητα αρχεία βρίσκονται εκεί Περιγραφή µαθήµατος ιαφάνειες (powerpoint, pdf) Ασκήσεις 7

Class Policy 8

Δομή Υπολογιστικού Συστήματος (1/2) Πολλές φορές γίνεται σύγχυση μεταξύ του ίδιου του Λ.Σ. και του συστήματος αλληλεπίδρασης με αυτό (command shell, GUI) Το Λ.Σ. βρίσκεται σε κατάσταση πυρήνα (kernel mode): δεν μπορεί να τροποποιηθεί από τον προγραμματιστή. Οι εντολές ελέγχου της μηχανής και οι εντολές Ε/Ε, είναι διαθέσιμες μόνο σε kernel mode. Τα υπόλοιπο λογισμικό βρίσκεται σε κατάσταση χρήστη (user mode): μπορεί να έχει πρόσβαση στην εκτέλεσή του ο προγραμματιστής. Στην κατάσταση χρήστη είναι διαθέσιμο μόνο ένα υποσύνολο των εντολών μηχανής και όχι όλες. 11

Δομή Υπολογιστικού Συστήματος (2/2) Ο προγραμματιστής μπορεί να αλλάξει / γράψει νέα προγράμματα στο user space αλλά όχι στο kernel space (δεν μπορεί να αλλάξει π.χ το χειριστή διακοπών ρολογιού προστατεύεται μέσω του υλικού). Πολλά τμήματα που φαινομενικά αποτελούν το Λ.Σ. (π.χ. διεπαφή shell, GUI) βρίσκονται στο user space. 12

Συστατικά Η/Υ (1/2) Ένας σύγχρονος Η/Υ αποτελείται από: Έναν ή περισσότερους επεξεργαστές. Κύρια μνήμη. Δίσκους. Εκτυπωτές. Διάφορες συσκευές εισόδου/εξόδου (Ε/Ε). Η διαχείριση αυτών των συστατικών, απαιτεί την ύπαρξη ενός στρώματος λογισμικού του Λειτουργικού Συστήματος 13

Συστατικά Η/Υ (2/2) Το Λ.Σ. διαχειρίζεται όλες τις λεπτομέρειες που αφορούν τα συστατικά (το υλικό) ενός υπολογιστικού συστήματος. Για αυτό το λόγο είναι ιδιαίτερα σύνθετα, λεπτομερή και μεγάλα προγράμματα: Ο κώδικας του πυρήνα ενός Λ.Σ. σαν τα windows είναι περίπου 5.000.000 γραμμές κώδικα ή 100 τόμοι των 1000 σελίδων. Ο κώδικας του γραφικού περιβάλλοντος (GUI) είναι 10 ή 20! Αλλάζουν δύσκολα. 14

Εκτεταμένη μηχανή (1/3) Μία εκτεταμένη μηχανή (extended machine): Η αρχιτεκτονική των Η/Υ είναι ιδιαίτερα σύνθετο θέμα (instruction set, διαχείριση μνήμης, Ε/Ε). Το Λ.Σ. αποκρύπτει τις σύνθετες λεπτομέρειες που εκτελεί ένας Η/Υ. Παρουσιάζει στον χρήστη μία «εικονική μηχανή» (virtual machine), πολύ πιο απλή στη χρήση της. Χρησιμοποιεί την έννοια της αφαίρεσης (abstraction) Προσέγγιση top-down (από την κορυφή προς τη βάση). 15

Εκτεταμένη μηχανή (2/3) Παράδειγμα αφαίρεσης κατά τη λειτουργία του Λ.Σ.. Ακόμη και το πιο απλό περιφερειακό (USB stick) έχει έναν ελεγκτή (controller) ο οποίος θα πρέπει να ελέγξει: Ένα σύνολο εντολών (instructions) το USB stick π.χ. έχει 16 εντολές. Φόρτωση αυτών σε καταχωρητές εντός της συσκευής (device register). Διαταγές ανάγνωσης, εγγραφής, διαμόρφωσης δίσκου, προετοιμασία, ανίχνευση θέσης, επανεκκίνηση κτλ. Πάρα πολλές λεπτομέρειες θα πρέπει να καθοριστούν για μία απλή ανάγνωση. Ο προγραμματιστής δεν θέλει να ασχολείται με όλες αυτές τις εξαντλητικές λεπτομέρειες. Είναι προτιμότερο να βλέπει κάποια απλή και υψηλότερου επιπέδου αφαίρεση (abstraction), π.χ. αρχείο δεδομένων με κάποιο όνομα. 16

Ένας διαχειριστής πόρων Προσέγγιση bottom-up (από τη βάση προς την κορυφή). Το Λ.Σ. υπάρχει για να διαχειρίζεται τους πόρους του Η/Υ, (CPU, μνήμη, δίσκο κτλ). Ρόλος του Λ.Σ.: Η (δίκαιη) κατανομή των πόρων (resource allocation). Τα προγράμματα των χρηστών ανταγωνίζονται να χρησιμοποιήσουν τους πόρους αυτούς. Παράδειγμα του Λ.Σ. ως διαχειριστή πόρων: Τι θα γινόταν εάν πολλά προγράμματα στέλνονταν στον εκτυπωτή ταυτόχρονα; Ενδέχεται να τυπωθούν μερικές γραμμές από το ένα πρόγραμμα, μετά μερικές από το δεύτερο κ.ο.κ. Χρειάζεται έλεγχος και διαμοίραση του πόρου εκτυπωτής. Αυτό το ρόλο τον αναλαμβάνει το Λ.Σ.. 18

Ένας διαχειριστής πόρων (1/2) Το Λ.Σ. ως ένας διαχειριστής πόρων: Επιτρέπει την ταυτόχρονη εκτέλεση πολλών προγραμμάτων χρησιμοποιώντας πολύπλεξη πόρων (multiplexing) με δύο διαφορετικούς τρόπους: 1. Χρονική πολύπλεξη (time multiplexing). 2. Χωρική πολύπλεξη (space multiplexing). Η πολύπλεξη δημιουργεί θέματα ασφάλειας, προστασίας, αμεροληψίας κτλ. Το Λ.Σ. διαχειρίζεται και προστατεύει τη μνήμη, τις συσκευές Εισόδου/Εξόδου (Ε/Ε) και άλλους πόρους. 19

Ένας διαχειριστής πόρων (2/2) Παράδειγμα χρονικής πολύπλεξης: Κάθε πρόγραμμα θέλει να χρησιμοποιήσει για κάποιο χρονικό διάστημα ένα ή περισσότερους διαμοιραζόμενους πόρους (π.χ. επεξεργαστή - CPU). Παράδειγμα χωρικής πολύπλεξης: Κάθε πρόγραμμα θέλει να χρησιμοποιήσει κάποιο χώρο από ένα ή περισσότερους διαμοιραζόμενους πόρους (π.χ. ταυτόχρονη φόρτωση 2 προγραμμάτων σε δύο περιοχές της κύριας μνήμης. Ή κοινή χρήση σκληρού δίσκου). 20

Ιστορία των Λ.Σ. 21

1η γενιά 1945-1955 Λυχνίες κενού, καλωδίωση συνδέσεων Υπολογιστές όπως (Z3, Collosus, ENIAC). Ο προγραμματισμός γινόταν με καλωδίωση του πίνακα συνδέσεων (plug boards) ή σε απόλυτη γλώσσα μηχανής. Μόνο για απλές αριθμητικές πράξεις. Πολύ χρόνο (αν στο ενδιάμεσο δεν είχε καεί κάποια λυχνία). Τα Λ.Σ. δεν υπάρχουν. 22

2η γενιά 1955 1965 : Κυκλώματα και Συστήματα δέσμης (2/3) Τα transistor μείωσαν το κόστος και αύξησαν τη χρησιμότητα των υπολογιστών, παρόλα αυτά ήταν δυνατή η χρήση τους μόνο από μεγάλες επιχειρήσεις και οργανισμούς. Mainframes και εργασίες δέσμης (jobs): Αρχικά οι προγραμματιστές έγγραφε το πρόγραμμα, το «τρύπαγε» σε διάτρητες κάρτες εισόδου, το παρέδιδε στο χειριστή και περίμενε τα αποτελέσματα. Αργότερα πέρναγε να πάρει τα αποτελέσματα. Πολύς (και ακριβός) υπολογιστικός χρόνος πήγαινε χαμένος. Λύση: τα συστήματα δέσμης (batch systems): Χρήση υπολογιστών χαμηλών επιδόσεων για Ε/Ε και υψηλής επίδοσης για πραγματικό υπολογισμό. Το πρόγραμμα που χειριζόταν την ανάγνωση κάθε ταινίας εισόδου στο σύστημα επεξεργασίας και αναλάμβανε την αλλαγή του ήταν ο πρόγονος των σύγχρονων Λ.Σ.. 24

3η γενιά: Ολοκληρωμένα κυκλώματα & πολυπρογραμματισμός(2/4) Στις αρχές της 3η γενιάς υπήρχαν 2 γραμμές παραγωγής υπολογιστών: επιστημονικοί (IBM 7094) και για εργασίες προσανατολισμένες σε Ε/Ε (IBM 1401) π.χ. ταξινόμηση. Η IBM παρουσίασε για πρώτη φορά οικογένειες συμβατών υπολογιστών: έτρεχαν το ίδιο λογισμικό, απλά είχαν διαφορετικές δυνατότητες (σειρά System/360 370,,zSeries). Η σειρά 360 ήταν η πρώτη που χρησιμοποιούσε ολοκληρωμένα κυκλώματα άρα καλύτερη τιμή/απόδοση. 27

3η γενιά: Ολοκληρωμένα κυκλώματα & πολυπρογραμματισμός(3/4) Πρόβλημα με το κοινό λογισμικό: πώς θα συνδυαστούν διαφορετικές ανάγκες συστημάτων στο ίδιο λογισμικό; Αποτέλεσμα: πολύπλοκο Λ.Σ. πολύ μεγαλύτερο από το FMS, με πολλά-πολλά σφάλματα. Εισήγαγε όμως την έννοια του πολυπρογραμματισμού. Καλύτερη χρησιμοποίηση της CPU: όταν μία εργασία περιμένει Ε/Ε, κάποια άλλη χρησιμοποιεί τη CPU. Είχε υλικό προστασίας, για την αποφυγή παρεμβάσεων μίας εργασίας στο χώρο μνήμης μίας άλλης. 28

3η γενιά: Ολοκληρωμένα κυκλώματα & πολυπρογραμματισμός(4/4) Άλλες καινοτομίες των Λ.Σ. 3ης γενιάς. Παροχέτευση (spooling): Οι εργασίες διαβάζονται από το δίσκο (πολλές στη σειρά). Με την ολοκλήρωση μίας εργασίας, φόρτωση της επόμενης σε ένα ελεύθερο τμήμα της μνήμης. Πρόβλημα: μεγάλος χρόνο απόκρισης (λόγω της σειριακής εκτέλεσης). Χρονομερισμός (time-sharing): Κάθε χρήστης έχει για ένα μικρό διάστημα τη CPU. Προτεραιότητα στις αλληλεπιδραστικές εργασίες των χρηστών. Οι βαριές εργασίες δέσμης τρέχουν στο παρασκήνιο, όταν η CPU είναι ελεύθερη. 29

4η γενιά: Προσωπικοί υπολογιστές (2/3) CP/M (1974): H Intel δημιουργεί τον επεξεργαστή 8080 (8 bit) και αναζητά δοκιμαστικό Λ.Σ.. 2. Ο Kildall φτιάχνει ένα ελεγκτή δίσκου (controller) για οδηγό δισκέτας, δημιουργώντας τον 1 ο μικροϋπολογιστή με δισκέττα. 3. H Intel δεν πιστεύει στους μικροϋπολογιστές με δισκέττα, ο Kildall ιδρύει δική του εταιρεία (Digital Research). DOS: 1. Στις αρχές του 80 η ΙΒΜ ψάχνει Λ.Σ. για το IBM PC. Επικοινωνεί με τον Bill Gates για να αποκτήσει την άδεια χρήσης του διερμηνευτή BASIC. 2. Ο Gates τους συνέστησε την Digital Research για ανάπτυξη Λ.Σ. για το ΙΒΜ PC. 3. O Kildal αρνήθηκε να υπογράψει μυστική συμφωνία με την ΙΒΜ για το PC. H IBM επέστρεψε στον Gates. 4. O Gates αγοράζει το DOS από μία μικρή εταιρεία και προσφέρει το πακέτο DOS/BASIC στην ΙΒΜ. To πακέτο πουλιέται μαζί με τον υπολογιστή και κάνει τεράστια εμπορική επιτυχία. 32

4η γενιά: Προσωπικοί υπολογιστές (3/3) Apple: Τη δεκαετία του 60 στο Standford Research Institute ο Dough Engelbart ανακαλύπτει το Graphical User Interface (GUI). Οι ιδέες ενσωματώθηκαν από ερευνητές στο XEROX PARC. Ο Steve Jobs επισκέπτεται το XEROX PARC και αμέσως κατάλαβε την αξία του GUI. Κατασκευάζει στο γκαράζ του τον πρώτο του υπολογιστή LISA με GUI. Ήταν αρκετά ακριβός και δεν έκανε επιτυχία. Η δεύτερη προσπάθεια Apple Macintosh έκανε τεράστια επιτυχία. Windows: (1985-1995) Η microsoft δημιουργεί ένα Λ.Σ. με GUI, το MS-Windows. Στην πραγματικότητα εκκινεί με DOS και μετά φορτώνει το κέλυφος με το παραθυρικό περιβάλλον. (1995) Δημιουργεί τα Windows 95 (16 bit), τα οποία χρησιμοποιούν το DOS μόνο κατά την εκκίνηση. Windows 98, Vista, Windows 7 & 8. 33

Κεντρική μονάδα επεξεργασίας (CPU) Κύκλος λειτουργίας CPU: μεταφορά της επόμενης εντολής από τη μνήμη, την αποκωδικοποίηση του τύπου της, και την εκτέλεση. Η μεταφορά διαρκεί περισσότερο, γι αυτό χρησιμοποιεί καταχωρητές (registers): Μετρητής προγράμματος (program counter): δείχνει τη διεύθυνση της επόμενης εντολής. Δείκτης στοίβας (stack pointer): δείχνει την κορυφή της τρέχουσας στοίβας στη μνήμη. Πλαίσιο στοίβας (stack frame): έχει τις παραμέτρους εισόδου, τοπικές και προσωρινές μεταβλητές που δεν διατηρούνται σε καταχωρητές. (Program Status Word) PSW: δείχνει την κατάσταση λειτουργίας (πυρήνα ή χρήστη), την προτεραιότητα στη CPU, bit ελέγχου κτλ. 35

Διοχέτευση επεξεργαστή (CPU Pipelining)(2/2) Για καλύτερη απόδοση, το απλό μοντέλο προσκόμισης αποκωδικοποίησης εκτέλεσης μίας εντολής ανά φορά έχει αλλάξει. Η CPU έχει διαφορετικές μονάδες προσκόμισης, αποκωδικοποίησης και εκτέλεσης εντολών ονομάζεται διοχέτευση επεξεργαστή (pipelining). Μπορεί ταυτόχρονα να προσκομίζει μία εντολή, να αποκωδικοποιεί μία δεύτερη και να εκτελεί μία τρίτη. Στην υπερβαθμωτή CPU υπάρχουν πολλαπλές μονάδες fetch, decode, execute. Π.χ. μία για αριθμητική ακεραίων, άλλη για κινητής υποδιαστολής άλλη για Boolean πράξεις. Για την εκτέλεση των πολλαπλών εντολών χρησιμοποιείται buffer. 37

CPU και κατάσταση πυρήνα (1/2) Η CPU έχει κατάσταση πυρήνα και κατάσταση χρήστη. Η κατάσταση εκτέλεσης κάθε εντολής ελέγχεται από bit ελέγχου στον καταχωρητή PSW. Στην κατάσταση πυρήνα εκτελούνται όλες οι εντολές, σε κατάσταση χρήστη μόνο ορισμένες. Το Λ.Σ. εκτελείται σε κατάσταση πυρήνα. Τα προγράμματα χρήστη που θέλουν ειδικές λειτουργίες πραγματοποιούν κλήσεις συστήματος (system calls), η οποία προκαλεί παγίδευση (trap) και μεταβαίνει σε κατάσταση πυρήνα. Η εντολή TRAP προκαλεί την ανάμιξη του Λ.Σ.. 38

CPU και κατάσταση πυρήνα (2/2) Η εντολή TRAP προκαλεί αλλαγή από κατάσταση χρήστη σε κατάσταση πυρήνα και ξεκινά την ανάμιξη του Λ.Σ.. Όταν η εργασία ολοκληρωθεί, ο έλεγχος επιστρέφει στο πρόγραμμα χρήστη, στην εντολή που ακολουθεί την system call. Περισσότερα στη συνέχεια, προς το παρόν θεωρείστε την TRAP ως μία ειδική εντολή. Το υλικό έχει και άλλες παγιδεύσεις για προστασία από κάποια λάθος κατάσταση (π.χ. διαίρεση με το 0, underflow υποδιαστολής κτλ) 39

Επεξεργαστές πολλαπλών νημάτων (Multithread) & πυρήνων (Multicore)(2/2) Νόμος του Moore: Υπολογιστική ισχύς 2πλασιάζεται κάθε 18 μήνες. Οι Cache (κρυφές) μνήμες, αυξάνουν την απόδοση των (πολύ) πιο γρήγορων επεξεργαστών, αλλά έχουν κόστος. Υπερνημάτωση ή πολυνημάτωση (multithreading). Αυξάνει την απόδοση αλλά κάθε επεξεργαστής τρέχει ένα νήμα κάθε φορά. Πολλαπλοί πυρήνες (dual core, multi core): Περισσότεροι πραγματικοί πλήρεις επεξεργαστές Κρυφή μνήμη επιπέδου 1 (L1-cache): πολύ γρήγορη αλλά και ακριβότερη. Κρυφή μνήμη επιπέδου 2 (L2-cache): λιγότερο γρήγορη από την 1 αλλά και λιγότερο ακριβότερη. 41

Μνήμη(Καταχωρητές) Καταχωρητές (registers): Κορυφαίο επίπεδο μνήμης, πολύ υψηλό κόστος. Βρίσκονται στο εσωτερικό της CPU, άρα προκαλούν ελάχιστες καθυστερήσεις. Μέγεθος: (< 1ΚΒ) π.χ., 32 32 bit ή 64 64 bit. Τα προγράμματα αποφασίζουν ποια δεδομένα θα διατηρούνται εκεί. 43

Μνήμη(Κρυφή μνήμη) Κρυφή μνήμη (Cache): Δεύτερο επίπεδο, ελέγχεται από το υλικό. Χωρίζεται σε γραμμές κρυφής μνήμης (cache lines)των 64 byte. Όσες γραμμές χρησιμοποιούνται συχνότερα, διατηρούνται στην ταχύτερη κρυφή μνήμη που βρίσκεται μέσα στην CPU. Όταν το πρόγραμμα βρίσκει τα δεδομένα που ψάχνει μέσα στην μνήμη αυτή της CPU, τότε έχουμε ευστοχία μνήμης (cache hit). Οι ευστοχίες διαρκούν κατά Μ.Ο. 2 κύκλους ρολογιού, μετά γίνεται αναζήτηση της ζητούμενης λέξης στη μνήμη με μεγάλη καθυστέρηση. 44

Μνήμη(κρυφή μνήμη -επίπεδα) Επίπεδα κρυφής μνήμης (cache memory layers): L1 cache memory (συνήθως 16 ΚΒ): Βρίσκεται πάντα στο εσωτερικό της CPU και τροφοδοτεί τη λογική μονάδα εκτέλεσης με αποκωδικοποιημένες εντολές. Πολλά chip έχουν και δεύτερη L1 μνήμη για τις συχνότερα χρησιμοποιούμενες λέξεις δεδομένων. L2 cache memory (μερικά ΜΒ): Υπάρχει συχνά, είναι αρκετά μεγαλύτερη και διατηρεί τις πρόσφατα χρησιμοποιούμενες από τη CPU λέξεις. Η L2 έχει μεγαλύτερη καθυστέρηση από την L1 (π.χ. 1-2 κύκλους ρολογιού). 45

Μνήμη(Κύρια Μνήμη) Μνήμη Τυχαίας Προσπέλασης (Random Access Memory RAM): O εργάτης του συστήματος. Όταν μία αίτηση της CPU δεν μπορεί να ικανοποιηθεί απότην κρυφή μνήμη, τότε μεταφέρεται στην κύρια μνήμη. Η RAM είναι πτητική μνήμη (τα δεδομένα χάνονται όταν κλείσει το ρεύμα). Η μνήμη ROM (Read Only Memory) είναι μη πτητική. Διατηρεί πληροφορία όπως τον boot loader. H μνήμες EEPROM (Electrically Erasable ProgrammableROM) μπορούν να ξαναγραφούν. 46

Δίσκοι (2/3) Η αποθήκευση στο σκληρό δίσκο είναι 2 τάξεις μεγέθους (100 φορές) φθηνότερη ανά bit από την RAM. αλλά και 3 τάξεις μεγέθους (1000 φορές!) πιο αργή επειδή είναι μηχανική συσκευή. Αποτελείται από πολλές μεταλλικές πλάκες που περιστρέφονται με ταχύτητα 5400, 7200 ή 10800 στροφές ανά λεπτό (rpm). Ένα μεταλλικό βραχίονα που κινείται πάνω στις πλάκες. Τα δεδομένα γράφονται πάνω στο δίσκο φτιάχνοντας σειρές από ομόκεντρους κύκλους. Τροχιά (track): δακτύλιος με κάποια ακτίνα πάνω στην επιφάνεια. Κύλινδρος (cylinder): το σύνολο των τροχιών μίας δεδομένης ακτίνας πάνω σε όλες τις επιφάνειες. Τομέας (sector): οι τροχιές διαιρούνται σε τομείς, δηλαδή περιοχές δεδομένου μήκους (π.χ. 512 byte) 48

Δίσκοι (3/3) H μετακίνηση του βραχίονα σε έναν κύλινδρο διαρκεί π.χ. 5-10 msec. Η μετακίνηση του ζητούμενου τομέα κάτω από την κεφαλή, προσθέτει άλλα 5-10 msec. Χρόνος ανάγνωσης ή εγγραφής: περίπου 50 160 ΜΒ/sec. Η εικονική μνήμη δίνει τη δυνατότητα να εκτελεστούν προγράμματα που έχουνμέγεθος μεγαλύτερο από τη φυσική μνήμη, χρησιμοποιώντας το δίσκο σαν να ήτανκύρια μνήμη. Χρησιμοποιεί τη μονάδα διαχείρισης μνήμης (MMU) της CPU. 49

Συσκευές Εισόδου/Εξόδου (Ε/Ε) (Οδηγός συσκευής) Η διασύνδεση του Λ.Σ. με τον ελεγκτή γίνεται μέσα από τονοδηγό συσκευής (device driver). Τοποθέτηση driver στον πυρήνα του Λ.Σ.: (3 μέθοδοι) Επανασύνδεση του πυρήνα με το νέο οδηγό καιεπανεκκίνηση (UNIX). Δημιουργία μίας καταχώρησης για τον οδηγό της συσκευήςσε κάποιο ειδικό αρχείο και επανεκκίνηση (Windows). Δυναμική φόρτωση (on-the-fly). Κάθε ελεγκτής συσκευής έχει έναν αριθμό καταχωρητώνγια να επικοινωνεί με τον έξω κόσμο. Το σύνολο των καταχωρητών μίας συσκευής Ε/Ε αποτελεί τοχώρο θυρών Ε/Ε (I/O port space) Ο κατασκευαστής κάθε συσκευής Ε/Ε παρέχει έναν driver για κάθε Λ.Σ.. Αυτό επιτρέπει σε μία συσκευή να μπορεί να λειτουργήσει σε πολλά διαφορετικά Λ.Σ.. 51

Δίαυλοι (Buses)(2/2) Πλέον ένας δίαυλος δεν αρκεί, για το λόγο αυτό υπάρχουν σε ένα σύγχρονο σύστημα πολλοί ειδικοί δίαυλοι. Δίαυλοι: ISA (Industry Standard Architecture): για ιστορικούς λόγους (8.33 MHz, 2 byte ταυτόχρονα, ταχύτητα 16.67 ΜΒ/sec). PCI (Peripheral Component Interconnect): (66MHz, 8byte ταυτόχρονα, ταχύτητα 528 MB/sec). PCI Express. Εξειδικευμένοι δίαυλοι: SCSI (160 MB/sec). IDE. USB (έκδοση 1.0: 1.5 MB/sec, έκδοση 2.0: 60 MB/sec). 54

Εκκίνηση του Η/Υ Το πρόγραμμα BIOS ελέγχει τις συσκευές, τη RAM, τους διαύλους, τις συσκευές άμεσης λειτουργίας. Το BIOS (Basic Input Output System) βρίσκεται επάνω στο motherboard και υποστηρίζει λειτουργίες Ε/Ε χαμηλού επιπέδου. Το BIOS αποφασίζει ποια είναι η συσκευή εκκίνησης (σκληρός δίσκος, CD, flash κτλ). Από τον τομέα εκκίνησης (boot sector) της συσκευής εκκίνησης, βρίσκεται ποιο είναι το ενεργό partition. Φορτώνεται ο boot loader και από εκεί το Λ.Σ. του ενεργού partition. To Λ.Σ. βρίσκει από το BIOS τους οδηγούς των συσκευών και τους φορτώνει στον πυρήνα. Το Λ.Σ. δίνει αρχικές τιμές στους πίνακές του, δημιουργεί τις απαραίτητες διεργασίες παρασκηνίου και ξεκινά το πρόγραμμα login. Εκκίνηση του Η/Υ. 55

Βιβλιογραφία 1. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, Κλειδάριθμος, 2014. κεφάλαιο 1 : 1.1-1.7. Πηγή των διαφανειών τα slides από τα βιβλία και τα online-tutorials των : 1. Α. Tanenbaum. 2. W. Stallings. Καθώς και οι online σημειώσεις των: 1. Π. Κοτζανικολάου. 2. Κ. Λαμπρινουδάκη. 3. Κ. Μαργαρίτη. 4. Γ. Παπαδόπουλου. 5. Χ. Μανιφάβα. Αll material copyright 1996-2012. All Rights Reserved...56

Τέλος Ενότητας

Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Φραγκούλης Γεώργιος. «Εισαγωγή στα Λειτουργικά Συστήματα». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: URL.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. πουδεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. πουδεν προσπορίζει στο διανομέα του έργου καιαδειοδόχοέμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχοξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 59

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 60

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφί ες: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 61