Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 1 ο Εξάμηνο Σπουδών, Χειμερινό Εξάμηνο 2012/13 Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης Διδάσκων: Χαρμανδάρης Ευάγγελος, email: vagelis@tem.uoc.gr Ιστοσελίδα Μαθήματος: www.tem.uoc.gr/~vagelis/courses/τem101/em101.html Κεφ. II: Hardware, Λειτουργικά Συστήματα
Hardware: Μέσα Σε Ένα Η/Υ
Μέσα Σε Ένα Η/Υ Τι είναι ένας ηλεκτρονικός υπολογιστής, Η/Υ?
Ηλεκτρονικές Λυχνίες
Μητρική (Motherboard)
Πρακτική Εξάσκηση
Νόμος Moore Νόμος Moore: ο αριθμός των transistors ανά τετραγωνικό εκατοστό σε ένα ολοκληρωμένο κύκλωμα διπλασιάζεται κάθε 18 μήνες. Η υπολογιστική ισχύς ενός επεξεργαστή διπλασιάζεται κάθε 18 μήνες! Ιστορικά στοιχεία: Moore's original statement that transistor counts had doubled every year can be found in his publication "Cramming more components onto integrated circuits", Electronics Magazine 19 April 1965: «The complexity for minimum component costs has increased at a rate of roughly a factor of two per year... Certainly over the short term this rate can be expected to continue, if not to increase. Over the longer term, the rate of increase is a bit more uncertain, although there is no reason to believe it will not remain nearly constant for at least 10 years. That means by 1975, the number of components per integrated circuit for minimum cost will be 65,000» Ιn 1975, Moore altered his projection to a doubling every two years. Despite popular misconception, he is adamant that he did not predict a doubling "every 18 months". However, an Intel colleague had factored in the increasing performance of transistors to conclude that integrated circuits would double in performance every 18 months.
Νόμος Moore
Ταξινόμηση Flynn (1966) Ταξινόμηση των υπολογιστών με κριτήρια τον αριθμό μονάδων εντολών και τον αριθμό δεδομένων εισαγωγής. SISD: Single Instruction Single Data (Ενιαίες Εντολές Ενιαία Δεδομένα). SIMD: Single Instruction Multiple Data (Ενιαίες Εντολές Πολλαπλά Δεδομένα). MISD: Multiple Instruction Single Data (Πολλαπλές Εντολές Ενιαία Δεδομένα). MIMD: Multiple Instruction Multiple Data (Πολλαπλές Εντολές Πολλαπλά Δεδομένα). Προσοχή: Η ταξινόμηση Flynn μπορεί να αναφέρεται τόσο στο hardware όσο και στο software. Εδώ εστιάζουμε στο hardware.
Αρχιτεκτονική von Neumann: SISD: Ο Σειριακός Υπολογιστής Ο (μοναδικός) υπολογιστής εκτελεί σειριακά (μια-μια) τις εντολές. Τόσο τα δεδομένα όσο και οι εντολές φορτώνονται στην μνήμη. Βελτίωση της Υπολογιστικής Ισχύος με: Αύξηση της ταχύτητας του υπολογιστή ή Βελτίωση του χρόνου πρόσβασης στη μνήμη. Συμφόρηση δεδομένων (bottleneck): Η ταχύτητα εκτέλεσης του κώδικα εξαρτάται από τον ρυθμό μεταφοράς των δεδομένων από την μνήμη στον επεξεργαστή.
Ιεραρχική Αρχιτεκτονική Μνήμης Διάφορα «επίπεδα» μνήμης: δευτερογενές αποθήκευση (secondary storage), κυρίως μνήμη (main memory), εσωτερική μνήμη (internal memory). Ανάλογα με την διαχείριση της κυρίως μνήμης υπάρχουν δύο τύποι συστημάτων: Συστήματα μοιρασμένης-κοινής μνήμης (Shared Memory Machines). Συστήματα κατανεμημένης μνήμης (Distributed Memory Machines).
Ιεραρχική Αρχιτεκτονική Μνήμης Στόχος: H βελτίωση της πρόσβασης της μνήμης: Χρήση ιεραρχικής μνήμης Hierarchical Memory: Hard Disk, RAM, Cache (Level 1 and Level 2), Registers)
Εφαρμογές Υπολογιστικών Μεθόδων Υπάρχει μεγάλη ανάγκη προσέγγισης δύσκολων και περίπλοκων προβλημάτων. Περίπλοκα προβλήματα μεγάλης κλίμακας - Προσομοιώσεις (Simulations): -- Κβαντική Χημεία, Στατιστική Φυσική -- Σχεδιασμός Υλικών -- Βιολογικών Συστημάτων (Χαρτογράφηση DNA, Παραγωγή Φαρμάκων) -- Πρόβλεψη Κλίματος -- Μελέτη Γεωλογικών Φαινομένων -- Αστροφυσική και Κοσμολογία -- Αεροναυπηγική ---... ΚΑΙ ΠΟΛΛΑ ΑΛΛΑ Αυτό σημαίνει ότι απαιτείται περισσότερη υπολογιστική ισχύς. Νόμος Moore Αγγίζοντας τα φυσικά όρια: Ο αριθμός των transistors ανά τετραγωνικό εκατοστό σε ένα ολοκληρωμένο κύκλωμα δεν μπορεί να αυξάνεται επ άπειρο. Μια λύση είναι οι παράλληλοι υπολογισμοί: ταυτόχρονη εκτέλεση προγραμμάτων σε πολλούς επεξεργαστές.
Τι είναι Λειτουργικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: Έναν ή περισσότερους επεξεργαστές Κύρια Μνήμη Δίσκους Εκτυπωτές Διάφορες μονάδες εισόδου/εξόδου Διάφορες αποθηκευτικές μονάδες Η διαχείριση όλων αυτών των μερών απαιτεί ένα επίπεδο λογισμικού το Λειτουργικό Σύστημα
Λειτουργικό Σύστημα Λειτουργικό Σύστημα (ΛΣ) είναι το λογισμικό του υπολογιστή που είναι υπεύθυνο για την διαχείριση και τον συντονισμό των εργασιών καθώς και για την κατανομή των διαθέσιμων πόρων.
Λειτουργικό Σύστημα - Διαχείριση Πόρων Το λειτουργικό σύστημα (ΛΣ) διαχειρίζεται συνολικά τους πόρους του υπολογιστικού συστήματος. Το ΛΣ επιτρέπει την συντρέχουσα (concurrent) ή ταυτόχρονη εκτέλεση πολλών προγραμμάτων. Διαχειρίζεται και προστατεύει τη CPU, τη μνήμη, τις συσκευές Ε/Ε και άλλους πόρους. Επιτρέπει πολυπλεξία (διαμοιρασμό) πόρων με δύο τρόπους: Χρονική πολυπλεξία (χρονομερισμός) Χωρική πολυπλεξία (τοποθέτηση σε μνήμη, δίσκο)
Λειτουργικό Σύστημα - Διαχείριση Πόρων
Λειτουργικά Συστήματα (Operating Systems) - Γενικά Επεξεργασία κατά δεσμίδες (batch processing) Εκτέλεση εργασιών (job, task) ξεχωριστά μία-μία με τη σειρά Ανάπτυξη λειτουργικών συστημάτων για έλεγχο και διαχείριση της εκτέλεσης των διεργασιών Πολυπρογραμματισμός (multiprogramming) Πολλαπλές ταυτόχρονες εργασίες ( simultaneous jobs) Χρονικός καταμερισμός (timesharing) της χρήσης του Η/Υ Μη προεκτοπιστικός χρονοπρογραμματισμός (non-preemptive scheduling) Προεκτοπιστικός χρονοπρογραμματισμός (preemptive scheduling)
Σύγχρονα Πολυεπίπεδα Συστήματα
Σύγχρονα Πολυεπίπεδα Συστήματα
Ιστορικά Στοιχεία (1945 1955) Λυχνίες Κενού (1955 1965) Transistors και Συστήματα Δέσμης (1965 1980) ICs και Πολυπρογραμματισμός (1980 1995) Προσωπικοί Υπολογιστές (1995 2010) Δίκτυα, Διαδίκτυο (2010...) Δικτυωμένοι Υπολογιστές Ειδικού Σκοπού
Ιστορικά Στοιχεία
Διάφορα Λειτουργικά Συστήματα UΝΙΧ που περιλαμβάνει όλα τα UNIX BSD (FreeBSD, OpenBSD, NetBSD), το Solaris (και το OpenSolaris), το GNU/Linux και το Mac OS X. MAC OS Microsoft Windows
Σύγχρονα Λειτουργικά Συστήματα Πληθώρα διαφορετικών συστημάτων Eεφαρμογές πέρα των κλασσικών Η/Υ: Έξυπνα Κινητά (smartphones), tables,
Linux Το Linux είναι ένα λειτουργικό σύστημα τύπου UNIX. Βασίζεται στο πρότυπο ελεύθερης και ανοιχτής πρόσβασης. Σήμερα τα περισσότερα υπολογιστικά συστήματα που χρησιμοποιούνται για υπολογισμούς πολύπλοκων συστημάτων (high performance computing) χρησιμοποιούν Linux.
Linux: Ιστορικά Στοιχεία
Linux: Εισαγωγή Υπάρχουν πάρα πολλά βιβλία, σημειώσεις, σελίδες στον ιστό όπου μπορεί κανείς να βρει πληροφορίες για το Linux. Βασίζεται στο πρότυπο ελεύθερης και ανοιχτής πρόσβασης. Σήμερα τα περισσότερα υπολογιστικά συστήματα που χρησιμοποιούνται για υπολογισμούς πολύπλοκων συστημάτων (high performance computing) χρησιμοποιούν Linux. Περισσότερα στο Εργαστήριο
Βιβλιογραφία Modern Operating Systems, Tanenbaum, Structured Computer Organization, http://www.cs.vu.nl/~ast/books/mos2/ Εισαγωγή στο λειτουργικό σύστημα UNIX/LINUX: www.ee.surrey.ac.uk/teaching/unix/ «Η τέχνη και η επιστήμη της C», Eric S. Roberts, Εκδόσεις Κλειδάριθμος.