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

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

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

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

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

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

Εισαγωγή στους Η/Υ. Ενότητα 5α: Λειτουργικά Συστήματα ΙΙ (Παραδείγματα Διαδρομών)

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

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

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

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

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

Εισαγωγή στους Η/Υ. Ενότητα 2α: Χάρτης Karnaugh (Βοηθητικό υλικό)

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

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

Διδακτική Πληροφορικής

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

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

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

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

Τεχνικό Σχέδιο - CAD

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

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

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

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

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

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

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

Κβαντική Επεξεργασία Πληροφορίας

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

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

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

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

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

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

Διδακτική Πληροφορικής

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

Τεχνικό Σχέδιο - CAD

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

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

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Εισαγωγή στους Υπολογιστές

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

Διδακτική Πληροφορικής

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Κβαντική Επεξεργασία Πληροφορίας

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

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

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

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

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

Δομημένος Προγραμματισμός

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

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

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

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

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

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

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

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

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Πληροφορική ΙΙ Ενότητα 1

Διδακτική Πληροφορικής

Κβαντική Επεξεργασία Πληροφορίας

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

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

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

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

Μηχανές Πλοίου ΙΙ (Ε)

Διδακτική Πληροφορικής

Ασφάλεια Πληροφοριακών Συστημάτων

Εισαγωγή στη Δικτύωση Υπολογιστών

Προγραμματισμός Η/Υ. Ενότητα 3: Top Down Σχεδιασμός

Τηλεματική και Νέες Υπηρεσίες

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

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στους Υπολογιστές

Τεχνικό Σχέδιο - CAD

Εξελικτική Ψυχολογία: Κοινωνικο-γνωστική ανάπτυξη

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

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

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

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

Γενική Φυσική Ενότητα: Ταλαντώσεις

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

Δομημένος Προγραμματισμός

Ασφάλεια Πληροφοριακών Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων

ΔΡΔ: Διαγράμματα Ροής Δεδομένων

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

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

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

Ψηφιακή Επεξεργασία Εικόνων

Transcript:

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

Σκοποί ενότητας Αναφορά και κατανόηση των τύπων υπολογιστικών συστημάτων Απόδοση του όρου «διεργασίες» και του τρόπου εκτέλεσής τους Κατανόηση της επίδρασης της μνήμης στη λειτουργία του υπολογιστή Κατανόηση των τεχνικών που χρησιμοποιεί ένας υπολογιστής για την εκτέλεση των διαφόρων διεργασιών 2

Περιεχόμενα ενότητας Ποιοι είναι οι βασικοί τύποι υπολογιστικών συστημάτων Διεργασίες Μνήμη υπολογιστή Χρονοπρογραμματισμός επεξεργαστή 3

Μέρος 1 ο Ποιοι είναι οι βασικοί τύποι Υπολογιστικών Συστημάτων

Ποιοι είναι οι βασικοί τύποι Υπολογιστικών Συστημάτων Οι τρεις «ιδανικές» κατηγορίες

Βασικοί τύποι Υπολογιστικών Συστημάτων Υπάρχουν τρεις «ιδανικές» κατηγορίες: 1. Συστήματα Ομαδικής Επεξεργασίας (Batch Processing) 2. Χρονομερισμού (Time-Sharing) 3. Πραγματικού Χρόνου (Real-Time) 6

Συστήματα Ομαδικής Επεξεργασίας 1. Τα προγράμματα των χρηστών υποβάλλονται στον Η/Υ κατά ομάδες. 2. Δεν είναι δυνατή η αλληλεπίδραση ανάμεσα στο χρήστη και το πρόγραμμα κατά τη διάρκεια επεξεργασίας του προγράμματος. 3. Ο χρόνος απόκρισης του Η/Υ είναι το χρονικό διάστημα από την υποβολή του προγράμματος ως την παραλαβή των αποτελεσμάτων. 4. Το ΛΣ διαχειρίζεται τους πόρους και επιβάλει προκαθορισμένη πολιτική ως προς το χρόνο και τη σειρά εκτέλεσης. Οι μικρότεροι υπολογιστές που χρησιμοποιούνται από το κεντρικό σύστημα (πχ εισαγωγή δεδομένων) ονομάζονται δορυφόροι (satellites). Τέτοιοι υπολογιστές χρησιμοποιούνται για την μαζική επεξεργασία μεγάλου όγκου δεδομένων. 7

Συστήματα Ομαδικής Επεξεργασίας Εικόνα 1: Εξυπηρετητής (Server) Εικόνα 2: Δωμάτιο Server στο CERN Εικόνα 3: Το κέντρο δεδομένων του CERN με το World Wide Web και Mail servers. 8

Συστήματα Χρονομερισμού 1. Το ΛΣ περιέχει τις υπηρεσίες του Η/Υ σε πολλούς χρήστες «ταυτόχρονα», επιτρέποντας σε καθέναν να αλληλοεπιδρά με το πρόγραμμά του. 2. Το «ταυτόχρονα» είναι μια ψευδαίσθηση! Ο επεξεργαστής αφιερώνεται διαδοχικά σε όλους τους χρήστες «για λίγο» χρόνο. Ο χρόνος αυτός είναι τόσο μικρός και οι εναλλαγές μεταξύ χρηστών τόσο γρήγορες, που ο κάθε χρήστης νομίζει ότι έχει ολόκληρο τον υπολογιστή στη διάθεσή του. 3. Αν η εργασία κάποιου χρήστη δεν ολοκληρωθεί μέσα στο διαθέσιμο χρόνο, τότε αυτή διακόπτεται και συνεχίζεται όταν αφιερωθεί πάλι χρόνος στον ίδιο χρήστη. 9

Συστήματα Χρονομερισμού Εικόνα 4: Σύστημα Αυτόματου Ελέγχου (SCADA) Εικόνα 5: Σύνδεσης πολλαπλών χρηστών σε ένα κοινό υπολογιστή Ιδεατή Μηχανή: ο κάθε χρήστης νομίζει ότι έχει ολόκληρο τον υπολογιστή στη διάθεσή του 10

ΛΣ Πραγματικού Χρόνου Τέτοια συστήματα συναντάμε στα αυτοκίνητα (πχ ABS), τα αεροπλάνα, σε αεροδρόμια (συστήματα εναέριας κυκλοφορίας) κτλ. Εικόνα 6: Σύστημα πληρωμής με κάρτα. Έχει σαφώς πιο «ελαστικό» χρονοδιάγραμμα Εικόνα 7: Σύστημα πλοήγησης GPS 11

Πραγματικοί τύποι Υπολογιστικών Συστημάτων Οι προηγούμενοι τύποι αποτελούν τις «Ιδανικές» κατηγορίες κατάταξης των υπολογιστικών συστημάτων. Στην πράξη, κάθε Υ/Σ αποτελείται από διαφορετικά συστατικά μέρη, καθένα από τα οποία ανήκει σε κάποια από τις προηγούμενες κατηγορίες. Αυτό επιτυγχάνεται με τρόπο «διαφανή» για το χρήστη (Hardware Abstraction). 12

Μέρος 2 ο Διεργασίες

Διεργασίες Διεργασία είναι ένα πρόγραμμα σε εκτέλεση

Διαδικασία ή Διεργασία (Process) Δεν υπάρχει κάποιος κοινά αποδεκτός ορισμός της διεργασίας. Μερικοί δημοφιλείς ορισμοί της βιβλιογραφίας είναι: 1. Ένα μέρος του κώδικα που εκτελείται 2. Το «ζωντάνεμα» ενός κώδικα 3. Μια οντότητα στην οποία προσφέρουν εξυπηρέτηση το ΛΣ και οι επεξεργαστές 4. Ένα ξεχωριστό κομμάτι δραστηριότητας που μπορεί να εναλλαχθεί με άλλο παρόμοιο 15

Διαδικασία ή Διεργασία (Process) Για τις ανάγκες του μαθήματος θα θεωρήσουμε τον απλουστευμένο ορισμό: Διεργασία είναι ένα πρόγραμμα σε εκτέλεση. Δηλαδή: το πρόγραμμα (ο κώδικας που γράφτηκε σε κάποια γλώσσα προγραμματισμού) και οι πόροι που χρησιμοποιεί (μνήμη, δίσκος, επεξεργαστής κτλ) 16

Καταστάσεις μιας διεργασίας Μια διεργασία εξελίσσεται και αλλάζει τα χαρακτηριστικά της με το πέρασμα του χρόνου. Είναι σημαντικό, το ΛΣ να μπορεί να παρακολουθεί, να ελέγχει και να τροποποιεί αυτά τα χαρακτηριστικά. Εικόνα 8: Κύκλος Ζωής μιας Διεργασίας 17

Τερματισμός μιας διεργασίας 1. Κανονικός τερματισμός (normal exit) 2. Τερματισμός με σφάλμα (error exit) 3. Σημαντικό σφάλμα (fatal error) (πχ η «μπλε οθόνη των windows») 4. Εκτόπιση (killed by another process) 18

Μέρος 4 ο Μνήμη Υπολογιστή

Μνήμη Υπολογιστή Κύρια Λανθάνουσα Εικονική Μνήμη

Πυρήνας (Kernel) Όλες οι λειτουργίες που αφορούν τις διαδικασίες υλοποιούνται από το μέρος του ΛΣ που ονομάζεται πυρήνας (kernel). Ο πυρήνας αποτελεί ένα πολύ μικρό μέρος του ΛΣ, αλλά είναι το πιο σημαντικό. Ο πυρήνας μένει μόνιμα στην κύρια μνήμη, ενώ άλλα υποσυστήματα μεταφέρονται στη δευτερεύουσα όταν δε χρειάζονται. Ο πυρήνας «χτίζεται» αποκλειστικά για συγκεκριμένο υλικό, πολλές φορές σε γλώσσα assembly. 21

Πυρήνας (Kernel) Για την απλοποίηση της αλληλεπίδρασης με το χρήστη (καθώς και για διάφορους άλλους τεχνικούς λόγους), χρησιμοποιείται ένα εξειδικευμένο υπο-πρόγραμμα (ο φλοιός shell). Εικόνα 9: Αλληλεπίδρασης χρήστη, λειτουργικού συστήματος (φλοιός - πυρήνας) και υλικού 22

Προγραμματισμός και Μνήμη Για να τρέξει ένα πρόγραμμα πρέπει να φορτωθεί στη μνήμη. Τα προγράμματα βρίσκονται μόνιμα αποθηκευμένα σε κάποια περιφερειακή μνήμη (συνήθως σκληρός δίσκος), επειδή: 1. Δεν επηρεάζονται από το αν ο υπολογιστής λειτουργεί ή όχι 2. Η παρουσία τους εκεί έχει μικρό κόστος σε σχέση με το αντίστοιχο στην κύρια μνήμη. 23

Προγραμματισμός και Μνήμη Για να εκτελεστεί ένα πρόγραμμα πρέπει να μεταφερθεί στην κύρια μνήμη. Εικόνα 10: Ακολουθία εκτέλεσης ενός προγράμματος 24

Μνήμη 1. Κάθε πρόγραμμα που θα εκτελείται πρέπει να τοποθετηθεί στη μνήμη 2. Η μνήμη είναι ένας «χώρος» που διαιρείται σε ομάδες των 8 / 16 / 32 / 64 bit 3. Κάθε byte αποθηκεύεται σε συγκεκριμένη θέση στη μνήμη, που αναγνωρίζεται με κάποιο μοναδικό αριθμό Η αντιστοίχιση φυσικής λογικής διεύθυνσης λέγετε Address Binding Εικόνα 11: Συστοιχία κελιών μνήμης 32bit Εικόνα 12: Διάγραμμα κυκλώματος ενός στοιχείου SRAM 25

Χαρακτηριστικά Μνήμης Χωρητικότητα (Capacity). Δηλώνει το μέγιστο πλήθος των bit που μπορεί να αποθηκεύσει η κεντρική μνήμη. Μονάδες (bit (b), byte (B), KB, MB, GB). Χρόνος προσπέλασης (Access time). Χρόνος που απαιτείται από την απαίτηση ανάγνωσης ή εγγραφής ενός κελιού μέχρι την πραγματοποίηση. Τυπικός χρόνος 30 nsec. Εύρος ζώνης (memory bandwidth). Μέγιστη δυνατή ταχύτητα μεταφοράς δεδομένων. (Mbits / sec). Προσοχή: Η μετατροπή B kb MB κτλ γίνεται διαιρώντας με 2 10 =1024 (και όχι με 1000) 26

Λανθάνουσα ή Κρυφή Μνήμη Είναι μία ΠΟΛΥ γρήγορη μνήμη που βρίσκεται μέσα (L1) στον επεξεργαστή ή πολύ κοντά σε αυτόν (L2). Χρησιμοποιείται αποκλειστικά από τον επεξεργαστή για την εκτέλεση των λειτουργιών του. Εικόνα 13: Σχεδιάγραμμα της περιοχής που βρίσκεται η Μνήμη Cache 27

Λανθάνουσα ή Κρυφή Μνήμη Μνήμη Cache δεν έχει μόνο ο επεξεργαστής, αλλά διάφορες άλλες συσκευές που χειρίζονται δεδομένα (πχ σκληροί δίσκοι). Μερικά μόνο kb μνήμης cache μπορούν να οδηγήσουν σε αισθητή αύξηση της ταχύτητας (αλλά και της τιμής) Εικόνα 14: Εξωτερική θήκη για σκληρό δίσκο 28

Εικονική Μνήμη Όταν η φυσική μνήμη γεμίσει, τότε τμήματά της μεταφέρονται προσωρινά σε κάποιο μέσο δευτερεύουσας μνήμης (σκληρός δίσκος). Τα τμήματα αυτά ξαναμεταφέρονται στην κύρια μνήμη όταν κάποιο πρόγραμμα τα χρειαστεί. Εικόνα 15: Σχέδιο απεικόνισης αποθήκευσης εικονικής μνήμης 29

Εικονική Μνήμη Η επιλογή των τμημάτων που θα μεταφερθούν στο δίσκο απαιτεί την υλοποίηση σύνθετων αλγορίθμων, ώστε το λειτουργικό σύστημα να «καταλάβει» ποια δεδομένα δε χρειάζεται τώρα, αλλά και ποια δεδομένα δε θα του χρειαστούν στο προσεχές χρονικό διάστημα. Μια κακή υλοποίηση εικονικής μνήμης, μπορεί να οδηγήσει σε συνεχή και άσκοπα γραψίματα/διαβάσματα στο δίσκο, με αποτέλεσμα την επιβράδυνση του συστήματος. 30

Μέρος 4 ο Χρονοπρογραμματισμός CPU

Χρονοπρογραμματισμός CPU Γενικές πληροφορίες και οι διάφορες τεχνικές που χρησιμοποιούνται στην εκτέλεση των διεργασιών

Χρονοπρογραμματισμός CPU CPU Scheduling: Έλεγχος και επιλογή της διεργασίας που θα μεταβεί από κατάσταση ετοιμότητας σε κατάσταση εκτέλεσης Παρεμβατικός: Το ΛΣ μπορεί να επέμβει και να σταματήσει κάποια διεργασία Μη-Παρεμβατικός: Μια διεργασία σταματάει μόνο όταν έχει ολοκληρωθεί (ή λόγω σφάλματος). Το ΛΣ δεν επιτρέπεται να παρέμβει. 33

Χρονοπρογραμματισμός CPU Turnaround Time: (Χρόνος Διεκπεραίωσης) Ο χρόνος από τη στιγμή που η διεργασία μεταβαίνει σε κατάσταση ετοιμότητας μέχρι την ολοκλήρωσή της Εικόνα 16: Κύκλος Ζωής μιας Διεργασίας 34

First Come First Served (FCFS) Οι διεργασίες εκτελούνται με αυστηρή χρονική σειρά. Από τη στιγμή που μια διεργασία έχει στη διάθεσή της τον επεξεργαστή, θα συνεχίσει μέχρι να ολοκληρωθεί. Ο FCFS είναι δίκαιος με την έννοια που δίνουν άνθρωποι, αλλά από την άλλη είναι άδικος γιατί αναγκάζει σύντομες εργασίες να περιμένουν την ολοκλήρωση άλλων πιο χρονοβόρων και ίσως πιο λιγότερο σημαντικών. Ερώτηση: Είναι παρεμβατικός ή μη-παρεμβατικός αλγόριθμος; 35

Παράδειγμα τεχνικής FCFS Οι διεργασίες εκτελούνται με αυστηρή χρονική σειρά. Πίνακας 1: Ο χρόνος που απαιτείται για την εκτέλεση κάθε διεργασίας Process Duration Turnaround Times: P1 140 P2 75 P3 320 P4 280 P5 125 T1 = 140 T2 = 140 + 75 = 215 T3 = 140 + 75 + 320 = 535 T4 = 140 + 75 + 320 + 280 = 815 T5 = 140 + 75 + 320 + 280 + 125 = 940 Εικόνα 17: Τοποθέτηση των διεργασιών πάνω στον άξονα του χρόνου Μέσος Χρόνος Διεκπεραίωσης: (Τ1 + Τ2 + Τ3 + Τ4 + Τ5) / 5 = 529 Average Turnaround Time 36

Shortest Job Next (SJN) ή Shortest Job First (SJF) Οι διεργασίες εκτελούνται ανάλογα με το ποια χρειάζεται λιγότερο χρόνο. Είναι ο πιο κατάλληλος όταν εκ των προτέρων γνωρίζουμε το χρόνο εκτέλεσης κάθε διεργασίας. Δίνει το μικρότερο μέσο χρόνο εκτέλεσης. Δείχνει προτίμηση στις σύντομες εργασίες εις βάρος των πιο χρονοβόρων. Ερώτηση: Είναι παρεμβατικός ή μη-παρεμβατικός αλγόριθμος; 37

Παράδειγμα τεχνικής SJN Οι διεργασίες εκτελούνται ανάλογα με το ποια χρειάζεται λιγότερο χρόνο. Πίνακας 2: Ο χρόνος που απαιτείται για την εκτέλεση κάθε διεργασίας Process P1 140 P2 75 P3 320 P4 280 P5 125 Duration Ταξινόμηση Πίνακας 3: Ταξινόμηση των διεργασιών σύμφωνα με το χρόνο εκτέλεσης (από το μικρότερο στο μεγαλύτερο) Process P2 75 P5 125 P1 140 P4 280 P3 320 Duration 38

Παράδειγμα τεχνικής SJN Εικόνα 18: Τοποθέτηση των διεργασιών πάνω στον άξονα του χρόνου σύμφωνα με τον Πίνακα 3 Turnaround Times: T2 = 75 T5 = 75 + 125 = 200 T1 = 75 + 125 + 140 = 340 T4 = 75 + 125 + 140 + 280 = 620 T3 = 75 + 125 + 140 + 280 + 320 = 940 Μέσος Χρόνος Διεκπεραίωσης: (Τ2 + Τ5 + Τ1 + Τ4 + Τ3) / 5 = 435 Για τον FCFS ήταν: (Τ1 + Τ2 + Τ3 + Τ4 + Τ5) / 5 = 529 39

Round Robin Οι διεργασίες εκτελούνται για λίγο εκ περιτροπής. Εικόνα 19: Σχέδιο κυκλικής εκτέλεσης των διεργασιών Ερώτηση: Είναι παρεμβατικός ή μη-παρεμβατικός αλγόριθμος; 40

Παράδειγμα τεχνικής RR Οι διεργασίες εκτελούνται για λίγο εκ περιτροπής. Εικόνα 20: Τοποθέτηση των διεργασιών πάνω στον άξονα του χρόνου 41

Παράδειγμα τεχνικής RR Πίνακας 4: Ο χρόνος που απαιτείται για την εκτέλεση κάθε διεργασίας Process P1 140 P2 75 P3 320 P4 280 P5 125 Duration Μέσος Χρόνος Διεκπεραίωσης: ( Τ1 + Τ2 + Τ3 + Τ4 + Τ5 ) / 5 = 668 Για τον FCFS ήταν : (Τ1 + Τ2 + Τ3 + Τ4 + Τ5) / 5 = 529 Για τον SJN ήταν : (Τ2 + Τ5 + Τ1 + Τ4 + Τ3) / 5 = 435 Το μικρό χρονικό διάστημα εκτέλεσης κάθε διεργασίας λέγεται Time Quantum. 42

Σύγκριση των τεχνικών RR-FCFS-SJN Για τον Round Robin: ( Τ1 + Τ2 + Τ3 + Τ4 + Τ5 ) / 5 = 668 Για τον FCFS ήταν : (Τ1 + Τ2 + Τ3 + Τ4 + Τ5) / 5 = 529 Για τον SJN ήταν : (Τ2 + Τ5 + Τ1 + Τ4 + Τ3) / 5 = 435 Αν και ο συνολικός χρόνος εκτέλεσης (θεωρητικά) είναι ίδιος 1. με τον SJN κάθε διεργασία ολοκληρώνεται κατά μέσο όρο πιο σύντομα. συνήθως δεν ξέρουμε εξ αρχής τη διάρκεια εκτέλεσης 2. O round robin δίνει το χειρότερο χρόνο εκτέλεσης, αλλά επιτρέπει να τρέχουν ταυτόχρονα περισσότερες από μια διεργασίες. Συμπέρασμα: Η επιλογή αλγορίθμου πρέπει να γίνεται κατά περίσταση και ανάλογα με την εφαρμογή! 43

Άλλες Τεχνικές Priority Scheduling Σε κάθε διεργασία δίνεται ένας αριθμός προτεραιότητας. Διεργασίες με ίδιο αριθμό προτεραιότητας, εκτελούνται με FCFS. Οι προτεραιότητες δεν καθορίζονται με αυστηρά κριτήρια με αποτέλεσμα κάποιες διεργασίες να αργούν πολύ ή να μην εκτελούνται ποτέ Λύση: «Ωρίμανση» προτεραιοτήτων 44

Εμπλοκές Εικόνα 21: Εκτυπωτής Εικόνα 22: Σκληρός Δίσκος 45

Εκκίνηση του ΛΣ Το ΛΣ είναι το θεμελιώδες στοιχείο του λογισμικού ενός Η/Υ, το οποίο μεταξύ των άλλων είναι υπεύθυνο για την εκκίνηση και τον τερματισμό των προγραμμάτων. Πώς όμως ξεκινάει το ίδιο το ΛΣ; Το ΛΣ ξεκινάει μέσω μια ειδικής ακολουθίας εντολών που έχει ενσωματωθεί στον υπολογιστή (από την κατασκευάστρια εταιρία) μέσα στο BIOS. Αυτός είναι και ένας από τους λόγους που ο πυρήνας γράφεται αποκλειστικά για το υλικό, ώστε να υπάρχει η απαραίτητη «συνεννόηση» μεταξύ υπολογιστή και ΛΣ. Εικόνα 23: Ακολουθία εντολών για την εκκίνηση ενός λειτουργικού συστήματος 46

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

Ανάπτυξη Το παρόν εκπαιδευτικό υλικό αναπτύχθηκε από την Ερευνητική Ομάδα Δομικής Ανάλυσης και Ευφυών Υλικών του Εργαστηρίου Τεχνικής Μηχανικής και Ταλαντώσεων. http://saam.mech.upatras.gr 48

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

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Πολυτεχνική Σχολή, Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών, Δημήτρης Σαραβάνος. Δημήτρης Σαραβάνος. «Εισαγωγή στους Η/Υ.». Έκδοση: 1.0. Πάτρα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/mech1203/ 50

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

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

Σημείωμα Χρήσης Έργων Τρίτων (1/3) Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνα 1: σελ. 8, public domain, http://wiki.openstreetmap.org/wiki/file:serverramoth-and-bowser.jpg Εικόνα 2: σελ. 8, CC BY-SA 3.0, http://commons.wikimedia.org/wiki/file%3acern_server.jpg Εικόνα 3: σελ. 8, CC BY-SA 3.0, http://en.wikipedia.org/wiki/file:cern_datacenter.jpg Εικόνα 6: σελ. 11, public domain, http://en.wikipedia.org/wiki/file:credit_card_terminal.jpg 53

Σημείωμα Χρήσης Έργων Τρίτων (2/3) Εικόνα 7: σελ. 11, CC BY-SA 3.0, http://en.wikipedia.org/wiki/file:magellan_gps_blazer12.jpg Εικόνα 12: σελ. 25, public domain, http://commons.wikimedia.org/wiki/file:sram_cell_%286_transistors%29.svg Εικόνα 14: σελ. 28, CC Free Use, http://commons.wikimedia.org/wiki/file:usb_firewire_hard_disk_enclosure.jpg Εικόνα 15: σελ. 29, CC BY-SA 3.0, http://plhrofekp2011.wikispaces.com/file/view/va.png/240613975/552x406/va.pn g Εικόνα 21: σελ. 45, CC BY-SA 3.0, http://en.wikipedia.org/wiki/file:epson-inkjetprinter.jpg 54

Σημείωμα Χρήσης Έργων Τρίτων (3/3) Εικόνα 22: σελ. 45, CC BY-SA 3.0, http://en.wikipedia.org/wiki/file:apertura_hard_disk_04.jpg Οποιοδήποτε έργο δεν αναφέρεται, έχει δημιουργηθεί από το διδάσκοντα του μαθήματος ή/και την Τμηματική Ομάδα Εργασίας και παρέχεται με την ίδια άδεια CC BY-NC-SA 4.0 55