Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Σχετικά έγγραφα
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

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

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

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

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

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

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

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

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ I. 3 η ΔΙΑΛΕΞΗ Περιφερειακές Μνήμες

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


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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

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

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

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

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

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

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

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

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

Θέμα: Σκληρός Δίσκος

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

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

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Κεφάλαιο 2.4: Εργασία με εικονίδια

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 5 ο Οργάνωση Υπολογιστών. Δρ.

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Μάθημα 8: Διαχείριση Μνήμης

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

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

ΠΛΗΡΟΦΟΡΙΚΗ I. 3 η ΔΙΑΛΕΞΗ Περιφερειακές Μνήμες

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 1 : Λειτουργικά συστήματα. Δρ.

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

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

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

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

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

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

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

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

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

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ B.2.M3 Κύρια και Βοηθητική Μνήμη

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

Μαλούτα Θεανώ Σελίδα 1

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

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

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Transcript:

Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών

Ιστοσελίδα Μαθήματος 2 http://people.cn.ntua.gr/jenny/index.php/courses Εργασία: μπόνους 1 μονάδα e-mail επικοινωνίας: eadam@cn.ntua.gr cdemest@cn.ntua.gr

Προτεινόμενη Βιβλιογραφία 3 A. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα (Modern Operating Systems), 3 η έκδοση A. Silberschatz, P.B. Galvin και G. Gagne, Operating System Concepts, 7 η έκδοση ή ανώτερη

Σύνδεση με τα προηγούμενα 4 Το υλικό ενός υπολογιστή αποτελείται από την ΚΜΕ (τα βασικά συστατικά της οποίας είναι η αριθμητική- λογική μονάδα και η μονάδα ελέγχου), μνήμη (κύρια και βοηθητική), καθώς και συσκευές εισόδου/εξόδου (Ε/Ε), συνδεδεμένες μεταξύ τους με έναν ή περισσότερους διαύλους Η υλοποίηση κάθε μονάδας βασίζεται στη λογική σχεδίαση

KME Καταστάσεις Λειτουργίας 5 Οι σύγχρονες KME έχουν δύο καταστάσεις λειτουργίας: πυρήνα (kernel mode): n Η ΚΜΕ μπορεί να εκτελέσει οποιαδήποτε εντολή του ρεπερτορίου της n Σε αυτήν την κατάσταση εκτελείται το ΛΣ χρήστη (user mode): n Η ΚΜΕ μπορεί να εκτελέσει ένα υποσύνολο των εντολών που διαθέτει και να χρησιμοποιήσει ένα μέρος των δυνατοτήτων του υλικού n Ειδικά, δεν επιτρέπονται κάποιες εντολές Ε/Ε ή πρόσβασης σε κάποιες περιοχές της μνήμης n Σε αυτήν εκτελούνται τα προγράμματα των χρηστών (λογισμικό εφαρμογών) n Οι εφαρμογές πρέπει να χρησιμοποιήσουν κλήσεις συστήματος (system calls), προκειμένου να ζητήσουν από το ΛΣ την εκτέλεση τέτοιων εντολών εκ μέρους τους n n n Ο έλεγχος περνάει στο ΛΣ, γίνεται αλλαγή κατάστασης σε κατάσταση πυρήνα και, όταν η εργασία ολοκληρωθεί, ο έλεγχος επιστρέφει στο πρόγραμμα του χρήστη Οι κλήσεις συστήματος παρέχουν μια διεπαφή προς τις υπηρεσίες που διατίθενται από το ΛΣ Γραμμένες συνήθως σε C και εν μέρει σε assembly Η κατάσταση υποδεικνύεται από ένα bit ενός ειδικού καταχωρητή της ΚΜΕ, του PSW (Program Status Word Λέξη Κατάστασης Προγράμματος)

Μνήμη Ιεραρχία Μνήμης 6 Τυπική Αποθηκευτική Ικανότητα μερικά KB Κατα- χωρητές Τυπικός Ρυθμός Μεταφοράς Δεδομένων Τυπικός Χρόνος Προσπέλασης 1 nsec μερικά MB Λανθάνουσα Μνήμη έως 700 GB/sec 2 nsec μερικά GB Κύρια Μνήμη έως 10 GB/sec 10 nsec εκατοντά δες GB Μνήμη Flash έως 600 MB/sec 100 nsec μερικά TB Μαγνητικός Δίσκος έως 160 ΜΒ/sec 10 msec έως και exabyte Μαγνητική Ταινία 100 MB/ sec 100 sec *Ενδεικτικές τιμές για το 2014

Μνήμη Χρήση Λανθάνουσας 7 Μνήμης Μια σπουδαία ιδιότητα των εκτελούμενων προγραμμάτων είναι η τοπικότητα της αναφοράς (locality of reference) Όταν ένα πρόγραμμα εκτελείται από την ΚΜΕ, η επόμενη εντολή που ανακαλείται κάθε φορά από τη μνήμη για να εκτελεστεί στην ΚΜΕ ανήκει πιθανότατα σε κάποια γειτονική θέση μνήμης Ομοίως, η τοπικότητα ισχύει και για τα δεδομένα των προγραμμάτων (π.χ., ένας πίνακας με αριθμούς είναι αποθηκευμένος σε γειτονικές θέσεις μνήμης) Τα συχνά χρησιμοποιούμενα δεδομένα μπορούν να αποθηκεύονται σε μια μνήμη με μικρή χωρητικότητα και γρήγορη προσπέλαση (λανθάνουσα μνήμη cache), ενώ τα υπόλοιπα σε μνήμη μεγαλύτερης χωρητικότητας αλλά και μεγαλύτερου χρόνου προσπέλασης (δηλ. στην κύρια μνήμη RAM) Η λανθάνουσα μνήμη βρίσκεται μέσα ή «κοντά» στην ΚΜΕ Οι σύγχρονες CPU περιέχουν μάλιστα από 1 έως 4 επίπεδα λανθάνουσας μνήμης (L1, L2, L3, L4), καθένα μεγαλύτερο σε χωρητικότητα αλλά και πιο αργό από τα προηγούμενα n π.χ. αν δεν βρεθεί μια αναζητούμενη λέξη στη λανθάνουσα μνήμη L1, τότε αναζητείται στην L2, κοκ. Ευστοχία κρυφής μνήμης (cache hit): Όταν το εκτελούμενο πρόγραμμα αναζητεί μια λέξη για να φορτώσει, το υλικό της λανθάνουσας μνήμης ψάχνει να βρει αν αυτή περιέχεται στη λανθάνουσα μνήμη. Αν ναι, τότε η αίτηση ικανοποιείται και δεν χρειάζεται να γίνει αίτηση στην κύρια μνήμη.

Μαγνητικά Μέσα Αποθήκευσης 8 Στα μαγνητικά μέσα αποθήκευσης, η εγγραφή δεδομένων βασίζεται στη μόνιμη μαγνήτιση μιας μικρής περιοχής του μέσου με τη βοήθεια ενός ηλεκτρομαγνήτη Εγγραφή: λογικό 0 ή 1 à φορά επαγωγικού ρεύματος à πολικότητα μαγνήτισης Ανάγνωση: πολικότητα μαγνήτισης à φορά επαγωγικού ρεύματος à λογικό 0 ή 1 Ο κυριότερος τύπος μαγνητικού μέσου σήμερα είναι οι σκληροί δίσκοι

Μαγνητικοί Δίσκοι 9 Ο μαγνητικός (σκληρός) δίσκος είναι συσκευή που έχει ηλεκτρομηχανικά μέρη Ο δίσκος αποτελείται από μαγνητικές πλάκες, κάθε μία εκ των οποίων έχει δύο επιφάνειες Κάθε επιφάνεια αποτελείται από ομόκεντρους κύκλους (ή καλύτερα: δακτύλιους) που ονομάζονται τροχιές Κάθε τροχιά αποτελείται από τομείς χωρισμένους μεταξύ τους με κενά tracks/τροχιές surface/επιφάνεια track/τροχιά gaps/κενά spindle/άτρακτος sectors/τομείς

Μαγνητικοί Δίσκοι 10 Οι ευθυγραμμισμένες τροχιές σχηματίζουν έναν κύλινδρο Οι μαγνητικές πλάκες περιστρέφονται με 5400, 7200 ή 10800 στροφές ανά λεπτό (rpm rotations per minute) Ένας μηχανικός βραχίονας κινείται κατά τη διεύθυνση που δείχνει το σχήμα, διαθέτοντας μία κεφαλή ανάγνωσης/εγγραφής ανά επιφάνεια Το σύνολο των δεδομένων που αποθηκεύονται σε έναν τομέα λέγεται ενότητα ή μπλοκ (block) Στους σύγχρονους δίσκους, οι εξωτερικές τροχιές έχουν περισσότερους τομείς και όχι ισάριθμους με τις εσωτερικές cylinder/κύλινδρος surface/επιφάνεια 0 surface/επιφάνεια 1 surface/επιφάνεια 2 surface/επιφάνεια 3 surface/επιφάνεια 4 surface/επιφάνεια 5 Κεφαλή ανάγνωσης/εγγραφής (1 ανά επιφάνεια) pla er/πλάκα 0 pla er/πλάκα 1 pla er/πλάκα 2 Διεύθυνση κίνησης βραχίονα spindle/άτρακτος

Μαγνητικοί Δίσκοι 11 Τυπικό μέγεθος τομέα: 512 bytes Οι δίσκοι διαβάζουν και γράφουν δεδομένα σε συστοιχίες (clusters), δηλ. σε ομάδες συνεχόμενων τομέων ένα cluster μεγέθους 512 bytes περιέχει έναν τομέα ένα cluster μεγέθους 4096 bytes περιέχει 8 τομείς Το μέγεθος του cluster εξαρτάται από το σύστημα αρχείου (file system) του δίσκου Κατά συνέπεια, αν το χρησιμοποιούμενο cluster έχει μέγεθος 4096 bytes, δηλ. 8 τομέων, τότε για την αποθήκευση ενός μικρού αρχείου, π.χ. μεγέθους 10 bytes, θα αφιερωθούν 4096 bytes Χωρητικότητα (capacity): ο μέγιστος αριθμός bytes που μπορούν να αποθηκευτούν στο δίσκο

12 Μαγνητικοί Δίσκοι Χρόνοι για την προσπέλαση δεδομένων Χρόνος αναζήτησης (seek time): ο χρόνος μέχρι ο βραχίονας να βρεθεί στη σωστή (επιθυμητή) τροχιά Μέσος χρόνος αναζήτησης: 3-10 msec Μέγιστος χρόνος αναζήτησης: 20 msec Χρόνος περιστροφικής καθυστέρησης (rotational latency): ο χρόνος αναμονής μέχρι ο επιθυμητός τομέας να φτάσει κάτω από την κεφαλή: T max rotation = 1 RPM 60 secs 1min, T avg rotation = 1/2 T max rotation Χρόνος μεταφοράς (transfer time): ο χρόνος πραγματοποίησης της ανάγνωσης ή εγγραφής των δεδομένων άπαξ και η θέση του πρώτου bit του επιθυμητού τομέα έχει φθάσει κάτω από την κεφαλή γίνεται με ρυθμό από 50 MB/sec για τους φθηνούς δίσκους έως 160 MB/ sec για τους ταχύτερους

Μαγνητικοί Δίσκοι Συνολικός 13 χρόνος προσπέλασης δεδομένων Έστω σκληρός δίσκος των 7200 rpm στον οποίο ο μέσος χρόνος αναζήτησης έχει εκτιμηθεί ίσος με 9 msec, ενώ ο ρυθμός μεταφοράς μόλις βρεθεί ο σωστός τομέας είναι 100 MB/sec Ποιος είναι ο εκτιμώμενος συνολικός χρόνος για την προσπέλαση δεδομένων μεγέθους 300 KB; Απάντηση: T access = T avg seek + T avg rotation + T avg transfer T avg seek = 9 msec T avg rotation = (1/2)*(1/7200)*60 sec = 4.17 msec T avg transfer = (300*2 10 ) / (100*2 20 ) sec = 3/2 10 sec = 2.93 msec T access = 9 + 4.17 + 2.93 = 16.1 msec

Μνήμη Flash Δίσκοι SSD 14 Σημαντική πρόοδος έχει επιτευχθεί όσον αφορά τις επιδόσεις της δευτερεύουσας μνήμης με την εισαγωγή και χρήση των δίσκων SSD Solid State Disks Χρησιμοποιούνται και αυτοί για μόνιμη αποθήκευση δεδομένων Σε αντίθεση με τους μαγνητικούς σκληρούς δίσκους, οι SSD δεν έχουν ηλεκτρομηχανικά μέρη Οι περισσότεροι δίσκοι SSD υλοποιούνται με μνήμη Flash τύπου NAND, δηλ. με τρανζίστορ η συνδεσμολογία των οποίων ομοιάζει με πύλες NAND

Εικονική Μνήμη 15 Πολλοί υπολογιστές χρησιμοποιούν μέρος των σκληρών δίσκων ως εικονική μνήμη (virtual memory) Η εικονική μνήμη είναι μια μέθοδος μέσω της οποίας καλύπτεται η ανάγκη εκτέλεσης προγραμμάτων που είναι πολύ μεγάλα για να χωρέσουν στη φυσική μνήμη (κύρια μνήμη RAM) του υπολογιστή προγραμμάτων που επιθυμούμε να εκτελεστούν ταυτόχρονα, καθένα εκ των οποίων χωράει μεν μεμονωμένα στη μνήμη αλλά όλα μαζί υπερβαίνουν τη χωρητικότητά της Η βασική ιδέα είναι η τοποθέτηση των εκτελούμενων προγραμμάτων στο δίσκο και η χρήση της κύριας μνήμης ως ένα είδος «λανθάνουσας» μνήμης (cache) για τα τμήματα των προγραμμάτων που χρησιμοποιούνται πιο συχνά χρησιμοποιείται μηχανισμός αντιστοίχισης των εικονικών διευθύνσεων μνήμης σε διευθύνσεις φυσικής μνήμης Εναλλακτική της μεθόδου εικονικής μνήμης είναι η εναλλαγή (swapping): τα εκτελούμενα προγράμματα μεταφέρονται από το δίσκο στη μνήμη στην ολότητά τους, εκτελούνται για κάποιο διάστημα και, στη συνέχεια, επιστρέφονται στο δίσκο

Άσκηση 16 Θεωρείστε ένα σύστημα υπολογιστή που διαθέτει λανθάνουσα μνήμη (cache), κύρια μνήμη (RAM) και σκληρό δίσκο, μέρος του οποίου χρησιμοποιείται ως εικονική μνήμη (virtual memory). Χρειάζονται 2 nsec για την προσπέλαση μιας λέξης από τη λανθάνουσα μνήμη, 10 nsec για την προσπέλαση μιας λέξης από τη μνήμη RAM, και 10 msec για την προσπέλαση μιας λέξης από το δίσκο. Αν το ποσοστό ευστοχίας (cache hit) της λανθάνουσας μνήμης είναι 95% και το ποσοστό ευστοχίας της κύριας μνήμης (μετά από μια αστοχία λανθάνουσας μνήμης) είναι 99%, ποιος είναι ο μέσος χρόνος προσπέλασης μιας λέξης; Απάντηση: 0.95*2nsec + 0.05*(0.99*10nsec + 0.01*10msec) = 1.9nsec + 0.05*(9.9nsec + 0.1*10 6 nsec) = 1.9 + 0.495 + 5000 nsec = 5002.395 nsec = 5.002395 μsec

Λειτουργικό Σύστημα 17 Tο υλικό ενός υπολογιστικού συστήματος χαρακτηρίζεται από πολυπλοκότητα, ενώ η αρχιτεκτονική των υπολογιστών στο επίπεδο της γλώσσας μηχανής είναι αρκετά δύσχρηστη για προγραμματισμό Το Λειτουργικό Σύστημα (ΛΣ) είναι το πιο σημαντικό συστατικό του λογισμικού ενός υπολογιστή Παρέχει ένα επίπεδο «αφαίρεσης» (abstraction), δηλ. «κρύβει» το υλικό του υπολογιστικού συστήματος και εμφανίζει σαφείς και φιλικές (προς τα προγράμματα εφαρμογών και τους προγραμματιστές) διεπαφές Διαχειρίζεται τους πόρους του υπολογιστή, ιδιαίτερα δε την κοινή χρήση αυτών (π.χ. επεξεργαστή, μνήμη, εκτυπωτή κλπ.) από διάφορα προγράμματα εφαρμογών

Λειτουργικά Συστήματα 18 Υπολογιστικών Συστημάτων Ευρέως γνωστά ΛΣ Windows Unix n ΛΣ με υποστήριξη παράλληλης εκτέλεσης διεργασιών και πολλαπλών χρηστών, διαθέσιμο σε πολλές παραλλαγές n Φιλοσοφία του Unix: η απλότητα (τόσο στην παρεχόμενη διεπαφή όσο και στην υλοποίηση) είναι η πιο σημαντική ιδιότητα n Δεκαετίες 70-80: Επειδή ο πηγαίος κώδικας ήταν διαθέσιμος, πολλοί οργανισμοί έφτιαξαν τις δικές τους, ασύμβατες εκδόσεις του Unix n Για να λυθεί το πρόβλημα, η IEEE ανέπτυξε ένα πρότυπο, το POSIX, το οποίο πρέπει να τηρούν τα συστήματα Unix n Το Single UNIX Specification είναι ένα μια οικογένεια προτύπων βασισμένων στο POSIX που καθορίζουν τι πρέπει να τηρείται από ένα ΛΣ για να μπορεί αυτό να φέρει την (επισήμως) ονομασία Unix n «Επίσημα» (Πιστοποιημένα) Unix ΛΣ: Solaris, OS X, HP-UX, z/os (IBM) κ.ά. n «Ανεπίσημα» (Μη- πιστοποιημένα) Unix-like ΛΣ: Linux, FreeBSD n Η πιστοποίηση κοστίζει! n Το MINIX αποτελεί ένα δωρεάν, εκπαιδευτικού σκοπού ΛΣ βασισμένο στο Unix n Το Linux ξεκίνησε ως μια δωρεάν, πιο πλήρης έκδοση του MINIX

Λειτουργικά Συστήματα 19 Υπολογιστικών Συστημάτων Διάκριση ανάλογα με το είδος του υπολογιστικού συστήματος ΛΣ μεγάλων υπολογιστών (mainframes) μεγάλα κέντρα πληροφοριών εταιρειών χιλιάδες δίσκοι ανά σύστημα έντονη χρήση εργασιών Ε/Ε Παραδείγματα: OS/390 (απόγονος του OS/360), παραλλαγές του Unix ΛΣ διακομιστών (servers) εξυπηρετούν πολλαπλούς χρήστες μέσω δικτύου και επιτρέπουν το διαμοιρασμό πόρων παρέχουν υπηρεσίες Ιστού, διαμοιρασμού αρχείων και άλλες υπηρεσίες Διαδικτύου Παραδείγματα: Solaris, FreeBSD, Linux, Windows Server ΛΣ πολυεπεξεργαστών (multiprocessor systems) υπολογιστικά συστήματα με πολλαπλούς επεξεργαστές (distributed, multicomputer ή multiprocessor systems, αναλόγως με την ακριβή αρχιτεκτονική) καλύπτουν ειδικές απαιτήσεις για: communication, connectivity και consistency Παραδείγματα: Χρησιμοποιούνται παραλλαγές των ΛΣ για διακομιστές ή και ΛΣ προσωπικών υπολογιστών

Λειτουργικά Συστήματα 20 Υπολογιστικών Συστημάτων ΛΣ προσωπικών υπολογιστών ευρέως διαδεδομένα παροχή καλής υποστήριξης για ένα μόνο χρήστη Παραδείγματα: Windows, Linux, FreeBSD, Mac OS ΛΣ υπολογιστών χειρός (PDAs) και κινητών τηλεφώνων αρχίζουν και μοιάζουν αρκετά σε δυνατότητες με τα ΛΣ των προσωπικών υπολογιστών Παραδείγματα: Symbian, Palm OS, Windows Mobile, ios, Android ios: βασισμένο στο Darwin, ένα open-source, Unix-based ΛΣ Android: το πιο δημοφιλές ΛΣ (από το 2013), είναι open-source και βασίζεται σε πυρήνα Linux και στην εικονική μηχανή Dalvik Ενσωματωμένα ΛΣ (embedded) συσκευές, όπως τηλεοράσεις, DVD recorders, φούρνοι μικροκυμάτων, αυτοκίνητα, MP3 players κ.ά., στις οποίες ο χρήστης δεν μπορεί να κατεβάσει και να εγκαταστήσει λογισμικό n π.χ. δεν μπορείτε να κατεβάσετε νέες εφαρμογές στο φούρνο μικροκυμάτων σας! - όλο το λογισμικό του περιέχεται σε ROM n βέβαια, σήμερα ορισμένες τηλεοράσεις (Smart TV) διαθέτουν ΛΣ προσωπικών υπολογιστών (π.χ. Linux) ή κινητών τηλεφώνων Παραδείγματα: QNX, VxWorks

Λειτουργικά Συστήματα 21 Υπολογιστικών Συστημάτων ΛΣ κόμβων αισθητήρων (sensor nodes) κόμβος αισθητήρα: πρόκειται για μικρό, ενεργειακά αποδοτικό αλλά πραγματικό υπολογιστή, με CPU, RAM, ROM και έναν ή περισσότερους αισθητήρες χώρου χρησιμοποιεί μικρό αλλά πραγματικό ΛΣ, συνήθως οδηγούμενο από συμβάντα (event driven) Παραδείγματα: TinyOS ΛΣ πραγματικού χρόνου (real-time) χρησιμοποιούνται σε βιομηχανικά συστήματα ελέγχου διεργασιών, όπου ο χρόνος είναι η πιο σημαντική παράμετρος (π.χ. μηχανήματα στην αλυσίδα παραγωγής μιας αυτοκινητοβιομηχανίας) αυστηρό ΛΣ πραγματικού χρόνου: οι ενέργειες πρέπει να γίνονται σε απολύτως συγκεκριμένες χρονικές στιγμές ήπιο ΛΣ πραγματικού χρόνου: η μη τήρηση περιστασιακά μιας χρονικής προθεσμίας είναι μεν ανεπιθύμητη αλλά αποδεκτή Παραδείγματα: e-cos ΛΣ έξυπνων καρτών (smart cards) συσκευές μεγέθους πιστωτικής κάρτας που ενσωματώνουν τσιπ CPU τροφοδοτούνται με επαφή με τη συσκευή ανάγνωσης στην οποία τοποθετούνται ή... ανέπαφα (μέσω επαγωγής) Παραδείγματα: Proprietary ΛΣ, συχνά διαθέτοντας εικονικές μηχανές Java (Java Virtual Machines JVM)

22 Βασικές Έννοιες Λειτουργικών Συστημάτων Βασικές έννοιες Διεργασίες n Χώροι διευθύνσεων Αρχεία Κλήσεις συστήματος (έννοια που ήδη εξετάσαμε) Γενική δομή ΛΣ: Τεχνολογία Πληροφορίας και Επικοινωνιών - Ε. Αδαμοπούλου, Κ. Δεμέστιχας

Διεργασίες 23 Διεργασία (process) είναι ένα πρόγραμμα σε εκτέλεση αντίθετα με το πρόγραμμα, η διεργασία είναι δηλ. μια ενεργή (και όχι παθητική) οντότητα, με ένα μετρητή προγράμματος και ένα σύνολο συσχετισμένων πόρων Τμήματα διεργασίας τμήμα κειμένου (text section), που είναι ο κώδικας του προγράμματος τρέχουσα δραστηριότητα διεργασίας n τιμή του μετρητή προγράμματος (PC) n περιεχόμενα καταχωρητών στοίβα διεργασίας, που περιέχει προσωρινά δεδομένα n π.χ. παράμετροι συναρτήσεων, διευθύνσεις επιστροφής (μετά από κλήση συνάρτησης), τοπικές μεταβλητές τμήμα δεδομένων, που περιέχει καθολικές μεταβλητές σωρός (heap), που είναι μνήμη η οποία δεσμεύεται δυναμικά κατά τη διάρκεια του χρόνου εκτέλεσης

Διεργασίες Χώρος διευθύνσεων 24 Μια διεργασία στη μνήμη: Χώρος διευθύνσεων (address space) είναι μια λίστα από θέσεις της μνήμης, που μεταβάλλονται από ένα ελάχιστο όριο (συνήθως το 0) έως κάποιο μέγιστο, σχηματίζοντας μια περιοχή μέσα στην οποία η διεργασία μπορεί να διαβάσει και να γράψει

Διεργασίες Καταστάσεις 25 διεργασίας Διάγραμμα καταστάσεων διεργασίας

Διεργασίες Πίνακας ελέγχου 26 διεργασίας Πίνακας ελέγχου διεργασίας (Process Control Block PCB) Διάγραμμα εναλλαγής της ΚΜΕ από διεργασία σε διεργασία

Αρχεία 27 Τα αρχεία είναι λογικές μονάδες αποθήκευσης πληροφοριών οι οποίες δημιουργούνται και διαχειρίζονται από το ΛΣ Το ΛΣ κρύβει τις φυσικές ιδιότητες των συσκευών αποθήκευσης, προσφέροντας ένα απλοποιημένο λογικό μοντέλο για την αποθήκευση πληροφοριών στους δίσκους Τυπική ονομασία αρχείων: όνομα και επέκταση αρχείου (π.χ.: prog.c) Δύο βασικοί τύποι αρχείων: κανονικά αρχεία και κατάλογοι Λειτουργίες αρχείων Κάθε ΛΣ προσφέρει συνήθως κλήσεις συστήματος για τα εξής: Δημιουργία, Διαγραφή, Άνοιγμα, Κλείσιμο, Ανάγνωση, Εγγραφή, Αναζήτηση, Λήψη ιδιοτήτων, Καθορισμός ιδιοτήτων αρχείου Στα δημοφιλή ΛΣ, Windows και Unix, το ΛΣ θεωρεί τα αρχεία ως ακολουθίες bytes και τίποτε παραπάνω, επιτυγχάνοντας μέγιστη ευελιξία Ιδιότητες (attributes) ή μεταδεδομένα αρχείων: Ανάλογα και με το σύστημα αρχείων (file system) του υπολογιστή, ένα αρχείο μπορεί να διαθέτει μια πληθώρα ιδιοτήτων, όπως Δημιουργός, Ιδιοκτήτης, Μέγεθος, Χρόνοι δημιουργίας, τελευταίας τροποποίησης, τελευταίας προσπέλασης, κ.λπ.

Συστήματα Αρχείων 28 Κάθε δίσκος ενός υπολογιστή πρέπει να οργανωθεί σύμφωνα με κάποιο σύστημα αρχείων Οι περισσότεροι δίσκοι μπορούν να διαιρεθούν σε ένα ή περισσότερα διαμερίσματα (partitions), και κάθε διαμέρισμα να έχει ανεξάρτητο σύστημα αρχείων Ο πρώτος τομέας (τομέας 0) στο δίσκο ονομάζεται Βασική Εγγραφή Εκκίνησης (MBR Master Boot Record) και χρησιμοποιείται κατά την εκκίνηση του υπολογιστή Στο τέλος του MBR βρίσκεται ο πίνακας διαμερισμάτων Κατά την εκκίνηση του υπολογιστή, το BIOS μεταφέρει στη μνήμη το MBR και το εκτελεί. Το MBR εντοπίζει, διαβάζει και εκτελεί το πρώτο μπλοκ (μπλοκ εκκίνησης) του επιλεγμένου ενεργού διαμερίσματος του δίσκου. Το πρόγραμμα στο μπλοκ εκκίνησης φορτώνει και εκτελεί το ΛΣ που περιέχεται στο διαμέρισμα αυτό.

Συστημάτων Αρχείων 29 Παραδείγματα Συνεχής Κατανομή Αποτελεί τη βάση του UDF - Universal Disk Format, που χρησιμοποιείται σε οπτικούς δίσκους (CD, DVD) Κάθε αρχείο αποθηκεύεται ως μια συνεχή αλληλουχία μπλοκ n π.χ., σε ένα δίσκο με μπλοκ μεγέθους 512 bytes, ένα αρχείο μεγέθους 50 KB αποθηκεύεται σε 100 διαδοχικά μπλοκ n για να εντοπίσουμε ένα αρχείο, αρκεί να γνωρίζουμε τη διεύθυνση του πρώτου μπλοκ του αρχείου, καθώς και το μέγεθος του αρχείου στο δίσκο (δηλ. τον αριθμό των μπλοκ που καταλαμβάνει στο δίσκο) (α) Συνεχής κατανομή του χώρου του δίσκου για 7 αρχεία (β) Η κατάσταση του δίσκου μετά από τη διαγραφή των αρχείων Δ και Ζ

Συστημάτων Αρχείων 30 Παραδείγματα Κατανομή Συνδεδεμένης Λίστας με χρήση πίνακα στη μνήμη Αποτελεί τη βάση του FAT File Allocation Table, που χρησιμοποιείται στο DOS αλλά και σε υπολογιστές Windows Ένας πίνακας κατανομής αρχείων βρίσκεται φορτωμένος στην κύρια μνήμη Ξεκινώντας από το πρώτο μπλοκ του αρχείου, μπορούμε να φτάσουμε διαδοχικά μέχρι το τελευταίο του μπλοκ, απλώς μεταβαίνοντας κάθε φορά σε εκείνο το μπλοκ που υποδεικνύει η εκάστοτε λέξη του πίνακα

Συστημάτων Αρχείων 31 Παραδείγματα Κόμβοι i Αποτελεί τη βάση του συστήματος αρχείων που χρησιμοποιεί το Unix Συσχετίζουμε κάθε αρχείο με μια δομή δεδομένων που ονομάζεται κόμβος i (inode ή index-node) και περιέχει τις διευθύνσεις των μπλοκ του αρχείου στο δίσκο

Χρονοπρογραμματισμός 32 Είναι συχνό φαινόμενο πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο της ΚΜΕ Το τμήμα του ΛΣ που λαμβάνει την απόφαση για τη σειρά εκτέλεσης των διεργασιών ονομάζεται χρονοπρογραμματιστής (scheduler), ενώ ο αλγόριθμος που χρησιμοποιείται λέγεται αλγόριθμος χρονοπρογραμματισμού Τυπικοί στόχοι: αύξηση της διεκπεραιωτικής ικανότητας (throughput), δηλ. του αριθμού των ολοκληρωμένων διεργασιών ανά ώρα, μείωση του μέσου χρόνου διεκπεραίωσης των διεργασιών, δικαιοσύνη Οι διεργασίες περνούν το χρόνο τους είτε σε εκτέλεση στην ΚΜΕ είτε σε αναμονή στις μονάδες Ε/Ε. Διάκριση διεργασιών: Διεργασίες εξαρτημένες από την ΚΜΕ (computer-bound) n αφιερώνουν τον περισσότερο χρόνο τους σε υπολογισμούς (έχουν μεγάλα ξεσπάσματα στην ΚΜΕ CPU bursts) Διεργασίες εξαρτημένες από είσοδο- έξοδο (I/O-bound) n αφιερώνουν τον περισσότερο χρόνο τους σε είσοδο- έξοδο, όντας μπλοκαρισμένες και περιμένοντας κάποια εξωτερική συσκευή να ολοκληρώσει την εργασία της (έχουν μεγάλα ξεσπάσματα Ε/Ε I/O bursts)

Χρονοπρογραμματισμός 33 Παραδείγματα Αλγορίθμων Εξυπηρέτηση με βάση τη σειρά άφιξης, χωρίς πολυπρογραμματισμό οι διεργασίες, καθώς καταφθάνουν, μπαίνουν σε μια ουρά και εκτελούνται με τη σειρά άφιξής τους n όταν η εκτελούμενη διεργασία μπλοκαριστεί (δηλ. αναμένει Ε/Ε), δεν παίρνει κάποια άλλη τη θέση της Εξυπηρέτηση με βάση τη σειρά άφιξης εκτέλεση με βάση άφιξης n n όταν η εκτελούμενη διεργασία μπλοκαριστεί, τότε εκτελείται η επόμενη στη σειρά όταν μια μπλοκαρισμένη διεργασία ξαναγίνει έτοιμη, τότε τοποθετείται στο τέλος της τρέχουσας ουράς Εξυπηρέτηση με βάση τη μικρότερη διάρκεια (shortest job first) επιλέγεται προς εκτέλεση η διεργασία με τη μικρότερη χρονική διάρκεια ξεσπάσματος ΚΜΕ έτσι, ελαχιστοποιείται ο μέσος χρόνος εκτέλεσης στην ΚΜΕ Εξυπηρέτηση εκ περιτροπής (round robin, καταμερισμού χρόνου) σε κάθε διεργασία εκχωρείται κάποιο χρονικό διάστημα που ονομάζεται κβάντο χρόνου, μέσα στο οποίο επιτρέπεται η εκτέλεσή της στην ΚΜΕ όταν παρέλθει το διάστημα αυτό, η ΚΜΕ παραχωρείται υποχρεωτικά σε κάποια άλλη διεργασία για τη διάρκεια του επόμενου κβάντου

Χρονοπρογραμματισμός Άσκηση 34 ΚΜΕ Δίσκος Εκτυπωτής Σύνολο P1 2 2 3 7 P2 3 2 1 6 P3 2 3 2 7 Σύνολο 7 7 6 20 ΚΜΕ Δίσκος Εκτυπωτής Εξυπηρέτηση με βάση τη σειρά άφιξης, χωρίς πολυπρογραμματισμό 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ΚΜΕ Δίσκος Εκτυπωτής ΚΜΕ Δίσκος Εκτυπωτής ΚΜΕ Δίσκος Εκτυπωτής Εξυπηρέτηση με βάση τη σειρά άφιξης 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Εξυπηρέτηση με βάση τη μικρότερη διάρκεια 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Εξυπηρέτηση εκ περιτροπής 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Χρονοπρογραμματισμός Άσκηση 35 Εξυπηρέτηση με βάση τη σειρά άφιξης, χωρίς πολυπρογραμματισμό Εξυπηρέτηση με βάση τη σειρά άφιξης Εξυπηρέτηση με βάση τη μικρότερη διάρκεια Συνολικός Χρόνος Ανενεργός Χρόνος Ολοκλήρωση της P1 Ολοκλήρωση της P2 Ολοκλήρωση της P3 Μέσος Χρόνος Διεκπεραίωσης 20 40 7 13 20 13.33 12 16 7 8 12 9.00 10 10 7 10 9 8.67 Εξυπηρέτηση εκ περιτροπής 12 16 9 12 11 10.67

36 Ευχαριστώ για την προσοχή σας! K Kilo 2 10 M Mega 2 20 G Giga 2 30 T Tera 2 40 m milli 10-3 μ micro 10-6 n nano 10-9

37 Παράρτημα Α3

38

39