ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Παναγιώτα Φατούρου. Παύλος Σπυράκης

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Παναγιώτα Φατούρου. Παύλος Σπυράκης"

Transcript

1 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Παναγιώτα Φατούρου Τµήµα Πληροφορικής, Πανεπιστήµιο Ιωαννίνων Παύλος Σπυράκης Τµήµα Μηχανικών Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών & Ινστιτούτο Τεχνολογίας Υπολογιστών Σεπτέµβριος 2007

2 ΑΚΟΥΓΕ ΟΤΑΝ ΜΙΛΑΣ Μη λες πολύ συχνά ότι έχεις δίκιο δάσκαλε! Άσε να το δουν κι οι µαθητές! Μην πιέζεις πολύ την αλήθεια, εν το αντέχει. Άκουγε όταν µιλάς! Μπέρτολτ Μπρεχτ από τη συλλογή «76 Ποιήµατα»

3 Πίνακας Περιεχοµένων 1 ΕΙΣΑΓΩΓΗ ΣΎΝΤΟΜΗ ΑΝΑΣΚΌΠΗΣΗ ΥΛΙΚΟΎ ΥΠΟΛΟΓΙΣΤΏΝ ΣΚΟΠΌΣ & ΥΠΗΡΕΣΊΕΣ ΕΝΌΣ ΛΣ ΠΟΛΥΠΡΟΓΡΑΜΜΑΤΙΣΜΌΣ ΚΑΙ ΙΑΜΟΙΡΑΣΜΌΣ ΧΡΌΝΟΥ ΚΑΤΑΣΤΆΣΕΙΣ ΛΕΙΤΟΥΡΓΊΑΣ ΣΥΣΤΗΜΆΤΩΝ ΤΑ ΚΎΡΙΑ ΜΈΡΗ ΕΝΌΣ ΛΕΙΤΟΥΡΓΙΚΟΎ ΣΥΣΤΉΜΑΤΟΣ ΚΑΤΑΝΕΜΗΜΈΝΑ ΣΥΣΤΉΜΑΤΑ & ΣΥΣΤΉΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΎ ΧΡΌΝΟΥ ΓΙΑ ΠΕΡΙΣΣΌΤΕΡΗ ΜΕΛΈΤΗ ΒΙΒΛΙΟΓΡΑΦΙΚΈΣ ΑΝΑΦΟΡΈΣ ΙΕΡΓΑΣΙΕΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗ ΙΕΡΓΑΣΙΩΝ ΙΕΡΓΑΣΊΕΣ ΚΑΤΑΣΤΆΣΕΙΣ ΙΕΡΓΑΣΙΏΝ ΤΟ ΜΠΛΟΚ ΕΛΈΓΧΟΥ ΙΕΡΓΑΣΙΏΝ ΛΕΙΤΟΥΡΓΊΕΣ ΕΠΊ ΙΕΡΓΑΣΙΏΝ ΙΑΚΟΠΈΣ ΧΡΟΝΟ ΡΟΜΟΛΌΓΗΣΗ ΑΛΓΌΡΙΘΜΟΙ ΧΡΟΝΟ ΡΟΜΟΛΌΓΗΣΗΣ Πρώτη Εισερχόµενη Πρώτη Εξυπηρετούµενη (First Come First Served, FCFS) Εκ Περιτροπής (Round Robin, RR) Προτεραιοτήτων (Priority) Θεωρητική Μελέτη Απόδοσης Χρονοδροµολογητών ΒΙΒΛΙΟΓΡΑΦΙΚΈΣ ΑΝΑΦΟΡΈΣ ΙΑ ΙΕΡΓΑΣΙΑΚΗ ΕΠΙΚΟΙΝΩΝΙΑ & ΣΥΓΧΡΟΝΙΣΜΟΣ ΤΑΥΤΌΧΡΟΝΗ ΕΚΤΈΛΕΣΗ ΙΕΡΓΑΣΙΏΝ Η ΑΝΆΓΚΗ ΣΥΓΧΡΟΝΙΣΜΟΎ ΤΟ ΠΡΌΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΊΟΥ ΑΠΟΚΛΕΙΣΜΟΎ ΛΎΣΕΙΣ ΜΕ ΤΗ ΒΟΉΘΕΙΑ ΤΟΥ ΥΛΙΚΟΎ ΛΎΣΕΙΣ ΜΕ ΧΡΉΣΗ ΛΟΓΙΣΜΙΚΟΎ ΜΌΝΟ Πρώτες Προσπάθειες προς την λύση Λύση του Peterson ΣΗΜΑΦΌΡΟΙ ΠΡΟΒΛΉΜΑΤΑ ΙΑ ΙΕΡΓΑΣΙΑΚΉΣ ΕΠΙΚΟΙΝΩΝΊΑΣ Για Προθέρµανση Το Πρόβληµα του Ζωολογικού Κήπου (Θέµα 6, Α Τελική Εξέταση, Ιούνιος 2003) Το Πρόβληµα του Κουρέα (Θέµα 3Β, Α Τελική Εξέταση, Μάιος 2001) Το Πρόβληµα των Αναγνωστών-Εγγραφέων Για περισσότερη εξάσκηση Γενικές Παρατηρήσεις ΚΡΊΣΙΜΕΣ ΠΕΡΙΟΧΈΣ ΚΑΙ ΚΡΊΣΙΜΕΣ ΠΕΡΙΟΧΈΣ ΥΠΌ ΣΥΝΘΉΚΗ ΛΊΓΟ ΠΙΟ ΎΣΚΟΛΑ Λύση του Lamport (Bakery Algorithm) Λύση του Dekker ικαιοσύνη Προσοµοιώσεις ΒΙΒΛΙΟΓΡΑΦΙΚΈΣ ΑΝΑΦΟΡΈΣ ΠΑΡΑΡΤΗΜΑ Ι ΜΟΡΦΗ ΨΕΥ ΟΚΩ ΙΚΑ ΠΕΡΙΓΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΙΕΡΓΑΣΙΑΣ Πρόταση ήλωσης Μεταβλητών Πρόταση Καταχώρησης Βρόγχοι Προτάσεις Ελέγχου

4 Πρόταση goto Πίνακες και οµές Typedef Συναρτήσεις Άλλα Θέµατα ΒΙΒΛΙΟΓΡΑΦΙΑ

5 Πίνακας Σχηµάτων ΣΧΗΜΑ 1: ΒΑΣΙΚΗ ΟΡΓΑΝΩΣΗ ΕΝΟΣ ΥΠΟΛΟΓΙΣΤΗ ΣΧΗΜΑ 2: ΣΧΕΣΗ ΤΟΥ ΛΣ ΜΕ ΤΟ ΥΛΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΤΟΥΣ ΧΡΗΣΤΕΣ ΣΧΗΜΑ 3: ΓΡΑΦΗΜΑ ΚΑΤΑΣΤΑΣΕΩΝ ΙΕΡΓΑΣΙΑΣ ΣΧΗΜΑ 4: ΤΟ PCB ΜΙΑΣ ΙΕΡΓΑΣΙΑΣ ΣΧΗΜΑ 5: Η ΟΥΡΑ ΕΤΟΙΜΩΝ ΙΕΡΓΑΣΙΩΝ ΣΧΗΜΑ 6: ΣΧΗΜΑΤΙΚΗ ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗΣ ΙΕΡΓΑΣΙΩΝ ΣΧΗΜΑ 7: ΕΙ ΟΣ ΡΟΜΟΛΟΓΗΣΗΣ ΠΟΥ ΠΑΡΕΧΕΤΑΙ ΑΠΟ ΤΟΥΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΤΕΣ ΚΜΕ ΚΑΙ ΜΝΗΜΗΣ- ΙΣΚΟΥ ΣΧΗΜΑ 8: ΠΙΝΑΚΑΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗΣ ΓΙΑ ΤΟΝ ΑΛΓΟΡΙΘΜΟ RR ΣΧΗΜΑ 9: ΙΑΓΡΑΜΜΑΤΑ GANNT ΓΙΑ ΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΧΡΟΝΟ ΡΟΜΟΛΟΓΗΣΗΣ ΤΟΥ ΠΑΡΑ ΕΙΓΜΑΤΟΣ ΣΧΗΜΑ 10: 1 Ο ΠΑΡΑ ΕΙΓΜΑ ΥΝΑΤΗΣ ΤΑΥΤΟΧΡΟΝΗΣ ΕΚΤΕΛΕΣΗΣ ΣΧΗΜΑ 11: 1 Ο ΠΑΡΑ ΕΙΓΜΑ ΥΝΑΤΗΣ ΤΑΥΤΟΧΡΟΝΗΣ ΕΚΤΕΛΕΣΗΣ: ΠΙΟ ΕΥΑΝΑΓΝΩΣΤΗ ΠΑΡΟΥΣΙΑΣΗ ΣΧΗΜΑ 12: 2 Ο ΠΑΡΑ ΕΙΓΜΑ ΥΝΑΤΗΣ ΤΑΥΤΟΧΡΟΝΗΣ ΕΚΤΕΛΕΣΗΣ ΣΧΗΜΑ 13: ΚΩ ΙΚΕΣ ΠΟΥ ΕΚΤΕΛΟΥΝ ΟΙ ΙΕΡΓΑΣΙΕΣ Α ΚΑΙ Β ΣΧΗΜΑ 14: ΣΕΝΑΡΙΟ ΠΟΥ Ο ΗΓΕΙ ΣΤΗΝ ΜΙΚΡΟΤΕΡΗ ΤΙΜΗ ΓΙΑ ΤΗ ΙΑΜΟΙΡΑΖΟΜΕΝΗ ΜΕΤΑΒΛΗΤΗ TALLY ΣΧΗΜΑ 15: ΟΥΡΑ ΣΤΗΝ ΟΠΟΙΑ ΚΑΤΑΓΡΑΦΟΝΤΑΙ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΤΑ ΠΡΟΣ ΕΚΤΥΠΩΣΗ ΑΡΧΕΙΑ ΣΧΗΜΑ 16: ΣΕΝΑΡΙΟ ΠΟΥ Ο ΗΓΕΙ ΣΕ ΑΝΑΛΗΨΗ 1000 ΑΠΟ ΕΝΑ ΛΟΓΑΡΙΑΣΜΟ ΠΟΥ ΠΕΡΙΕΧΕΙ ΜΟΝΟ ΣΧΗΜΑ 17: ΕΝΑΛΛΑΚΤΙΚΕΣ ΙΣΟ ΥΝΑΜΕΣ ΓΕΝΙΚΕΣ ΜΟΡΦΕΣ ΚΩ ΙΚΑ ΙΕΡΓΑΣΙΩΝ ΣΧΗΜΑ 18: ΙΑΚΟΠΕΣ ΕΝΟΣΩ ΜΙΑ ΙΕΡΓΑΣΙΑ ΕΚΤΕΛΕΙ ΤΟ ΚΡΙΣΙΜΟ ΤΜΗΜΑ ΤΗΣ ΣΧΗΜΑ 19: Η ΕΝΤΟΛΗ TEST&SET() ΣΧΗΜΑ 20: ΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΗΣ ΕΝΤΟΛΗΣ TEST&SET().. 69 ΣΧΗΜΑ 21: ΚΩ ΙΚΑΣ ΠΟΥ ΕΚΤΕΛΕΙΤΑΙ ΣΤΗΝ ΠΡΑΞΗ ΑΠΟ ΥΟ ΙΕΡΓΑΣΙΕΣ 0 ΚΑΙ 1 ΟΤΑΝ Η TEST&SET() ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ ΓΙΑ ΕΠΙΤΕΥΞΗ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 22: ΕΚΤΕΛΕΣΗ ΠΟΥ ΠΑΡΑΒΙΑΖΕΙ ΤΗ ΣΥΝΘΗΚΗ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΑΝ Η TEST&SET() ΕΝ ΕΚΤΕΛΕΙΤΑΙ ΑΤΟΜΙΚΑ ΣΧΗΜΑ 23: ΑΤΟΜΙΚΗ ΕΚ ΟΣΗ ΤΗΣ DEPOSIT() ΣΧΗΜΑ 24: ΑΤΟΜΙΚΗ ΕΚ ΟΣΗ ΤΗΣ WITHDRAW() ΣΧΗΜΑ 25: ΕΚΤΕΛΕΣΗ ΠΟΥ Ο ΗΓΕΙ ΣΕ ΠΑΡΑΤΕΤΑΜΕΝΗ ΣΤΕΡΗΣΗ ΓΙΑ ΤΗ ΙΕΡΓΑΣΙΑ 1 ΣΤΗ ΛΥΣΗ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΕΙ ΤΗΝ TEST&SET() ΣΧΗΜΑ 26: Η ΕΝΤΟΛΗ FETCH&ADD() ΣΧΗΜΑ 27: Η ΕΝΤΟΛΗ SWAP() ΣΧΗΜΑ 28: Η ΕΝΤΟΛΗ RMW() ΣΧΗΜΑ 29: ΠΡΩΤΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 30: ΣΕΝΑΡΙΟ ΠΟΥ ΚΑΤΑΣΤΡΑΤΗΓΕΙ ΤΗ ΣΥΝΘΗΚΗ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΓΙΑ ΤΗΝ 1 Η ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΣΧΗΜΑ 31: ΕΥΤΕΡΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 32: ΣΕΝΑΡΙΟ ΠΟΥ ΚΑΤΑΣΤΡΑΤΗΓΕΙ ΤΗ ΣΥΝΘΗΚΗ ΤΗΣ ΠΡΟΟ ΟΥ ΓΙΑ ΤΗ 2 Η ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΣΧΗΜΑ 33: ΤΡΙΤΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ (ΛΥΣΗ ΤΗΣ ΑΥΣΤΗΡΗΣ ΕΝΑΛΛΑΓΗΣ) ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 34: ΣΕΝΑΡΙΟ ΠΟΥ ΚΑΤΑΣΤΡΑΤΗΓΕΙ ΤΗ ΣΥΝΘΗΚΗ ΤΗΣ ΠΡΟΟ ΟΥ ΓΙΑ ΤΗΝ 3 Η ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ.. 80 ΣΧΗΜΑ 35: ΤΕΤΑΡΤΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΓΙΑ ΥΟ ΙΕΡΓΑΣΙΕΣ ΣΧΗΜΑ 36: Η ΛΥΣΗ ΤΟΥ PETERSON ΣΧΗΜΑ 37: ΠΕΜΠΤΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΓΙΑ ΥΟ ΙΕΡΓΑΣΙΕΣ ΣΧΗΜΑ 38: ΈΚΤΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 39: ΣΕΝΑΡΙΟ ΠΟΥ ΚΑΤΑΣΤΡΑΤΗΓΕΙ ΤΗ ΣΥΝΘΗΚΗ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΓΙΑ ΤΗΝ 5 Η ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΣΧΗΜΑ 40: ΕΛΑΦΡΩΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚ ΟΣΗ ΤΗΣ ΛΥΣΗΣ ΤΟΥ PETERSON... 89

6 ΣΧΗΜΑ 41: ΈΝΑ ΣΕΝΑΡΙΟ ΠΟΥ Ο ΗΓΕΙ ΣΕ ΠΑΡΑΤΕΤΑΜΕΝΗ ΣΤΕΡΗΣΗ ΤΗΝ ΕΛΑΦΡΩΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚ ΟΣΗ ΤΗΣ ΛΥΣΗΣ ΤΟΥ PETERSON ΣΧΗΜΑ 42: ΈΒ ΟΜΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 43: ΌΓ ΟΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΣΧΗΜΑ 44: ΠΙΟ ΑΝΑΛΥΤΙΚΗ ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΚΩ ΙΚΑ ΤΩΝ ΙΕΡΓΑΣΙΩΝ ΤΗΣ ΟΓ ΟΗΣ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗΣ ΣΧΗΜΑ 45: ΈΝΑΤΗ ΠΡΟΤΕΙΝΟΜΕΝΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΓΙΑ ΥΟ ΙΕΡΓΑΣΙΕΣ ΣΧΗΜΑ 46: ΥΛΟΠΟΙΗΣΗ ΛΕΙΤΟΥΡΓΙΩΝ UP() ΚΑΙ DOWN() ΜΕ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΣΧΗΜΑ 47: ΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΜΕ ΣΗΜΑΦΟΡΟΥΣ ΣΧΗΜΑ 48: ΈΝΑ ΚΟΙΝΟ ΛΑΘΟΣ ΣΤΗ ΧΡΗΣΗ ΣΗΜΑΦΟΡΩΝ ΣΧΗΜΑ 49: ΈΝΑ ΑΚΟΜΗ ΚΟΙΝΟ ΛΑΘΟΣ ΣΤΗ ΧΡΗΣΗ ΣΗΜΑΦΟΡΩΝ ΣΧΗΜΑ 50: ΥΛΟΠΟΙΗΣΗ ΣΗΜΑΦΟΡΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΑΚΕΡΑΙΕΣ ΙΑΜΟΙΡΑΖΟΜΕΝΕΣ ΜΕΤΑΒΛΗΤΕΣ ΚΑΙ ΤΗΝ ΑΤΟΜΙΚΗ ΛΕΙΤΟΥΡΓΙΑ TEST&SET() ΠΟΥ ΠΑΡΕΧΕΤΑΙ ΑΠΟ ΤΟ ΥΛΙΚΟ ΣΧΗΜΑ 51: ΠΕΡΙΓΡΑΦΗ ΕΝΕΡΓΕΙΩΝ ΠΟΥ ΕΚΤΕΛΟΥΝ ΟΙ ΙΕΡΓΑΣΙΕΣ ΠΕΛΑΤΩΝ ΚΑΙ ΕΞΥΠΗΡΕΤΗ ΣΧΗΜΑ 52: ΜΙΑ ΠΡΩΤΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΠΕΛΑΤΩΝ-ΕΞΥΠΗΡΕΤΗ ΣΧΗΜΑ 53: ΜΙΑ ΒΕΛΤΙΣΤΟΠΟΙΗΜΕΝΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΠΕΛΑΤΩΝ-ΕΞΥΠΗΡΕΤΗ ΣΧΗΜΑ 54: ΜΙΑ ΛΑΘΟΣ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΠΕΛΑΤΩΝ-ΕΞΥΠΗΡΕΤΗ ΣΧΗΜΑ 55: ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΩΝ ΚΑΠΝΙΣΤΩΝ-ΠΩΛΗΤΗ ΣΧΉΜΑ 56: PING-PONG ΣΧΗΜΑ 57: ΠΕΡΙΓΡΑΦΗ ΑΠΛΩΝ ΕΝΕΡΓΕΙΩΝ ΠΟΥ ΕΚΤΕΛΟΥΝ ΟΙ ΙΕΡΓΑΣΙΕΣ ΕΠΙΒΑΤΩΝ ΚΑΙ ΑΥΤΟΚΙΝΗΤΩΝ. 107 ΣΧΗΜΑ 58: ΑΠΛΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΖΩΟΛΟΓΙΚΟΥ ΚΗΠΟΥ ΣΧΗΜΑ 59: ΠΡΩΤΗ ΒΕΛΤΙΩΜΕΝΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΖΩΟΛΟΓΙΚΟΥ ΚΗΠΟΥ ΣΧΗΜΑ 60: ΕΥΤΕΡΗ ΒΕΛΤΙΩΜΕΝΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΖΩΟΛΟΓΙΚΟΥ ΚΗΠΟΥ ΣΧΗΜΑ 61: ΛΥΣΗ ΣΤΗΝ ΑΠΛΗ ΕΚ ΟΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΤΟΥ ΚΟΥΡΕΑ ΣΧΗΜΑ 62: ΜΙΑ ΑΚΟΜΗ ΣΩΣΤΗ ΛΥΣΗ ΣΤΗΝ ΑΠΛΗ ΕΚ ΟΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΤΟΥ ΚΟΥΡΕΑ ΣΧΗΜΑ 63: ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΚΟΥΡΕΑ ΣΧΗΜΑ 64: ΠΡΩΤΗ ΠΡΟΣΠΑΘΕΙΑ ΕΠΙΛΥΣΗΣ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΓΝΩΣΤΩΝ-ΕΓΓΡΑΦΕΩΝ ΣΧΗΜΑ 65: ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΑΝΑΓΝΩΣΤΩΝ-ΕΓΓΡΑΦΕΩΝ ΣΧΗΜΑ 66: ΣΚΕΛΕΤΟΣ ΚΩ ΙΚΑ ΙΕΡΓΑΣΙΑΣ ΑΥΤΟΚΙΝΗΤΟΥ ΣΧΗΜΑ 67: ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΕΝΕΡΓΕΙΩΝ ΤΩΝ ΙΕΡΓΑΣΙΩΝ ΤΗΣ ΆΣΚΗΣΗΣ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΣΧΗΜΑ 68: ΣΚΕΛΕΤΟΣ ΚΩ ΙΚΑ ΙΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΠΡΟΒΛΗΜΑ ΠΟΥ ΠΕΡΙΓΡΑΦΕΤΑΙ ΣΤΗΝ ΆΣΚΗΣΗ ΑΥΤΟΑΞΙΟΛΟΓΟΓΗΣΗΣ ΣΧΗΜΑ 69: ΓΛΩΣΣΙΚΗ ΈΚΦΡΑΣΗ ΤΟΥ HANSEN ΣΧΗΜΑ 70: ΑΤΟΜΙΚΗ ΕΚ ΟΣΗ ΤΩΝ DEPOSIT() ΚΑΙ WITHDRAW() ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΗ ΓΛΩΣΣΙΚΗ ΕΚΦΡΑΣΗ ΤΟΥ HANSEN. 120 ΣΧΗΜΑ 71: ΓΛΩΣΣΙΚΗ ΈΚΦΡΑΣΗ ΚΡΙΣΙΜΗΣ ΠΕΡΙΟΧΗΣ ΥΠΟ ΣΥΝΘΗΚΗ ΣΧΗΜΑ 72: ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΖΩΟΛΟΓΙΚΟΥ ΚΗΠΟΥ ΜΕ ΧΡΗΣΗ ΚΡΙΣΙΜΩΝ ΠΕΡΙΟΧΩΝ ΥΠΟ ΣΥΝΘΗΚΗ (ΑΝΤΙΣΤΟΙΧΗ ΕΚΕΙΝΗΣ ΤΟΥ ΣΧΗΜΑΤΟΣ 59) ΣΧΗΜΑ 73: ΠΡΩΤΗ ΒΕΛΤΙΩΜΕΝΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΖΩΟΛΟΓΙΚΟΥ ΚΗΠΟΥ ΜΕ ΧΡΗΣΗ ΚΡΙΣΙΜΩΝ ΠΕΡΙΟΧΩΝ ΥΠΟ ΣΥΝΘΗΚΗ (ΑΝΤΙΣΤΟΙΧΗ ΕΚΕΙΝΗΣ ΤΟΥ ΣΧΗΜΑΤΟΣ 60) ΣΧΗΜΑ 74: ΕΥΤΕΡΗ ΒΕΛΤΙΩΜΕΝΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΖΩΟΛΟΓΙΚΟΥ ΚΗΠΟΥ ΜΕ ΧΡΗΣΗ ΚΡΙΣΙΜΩΝ ΠΕΡΙΟΧΩΝ ΥΠΟ ΣΥΝΘΗΚΗ (ΑΝΤΙΣΤΟΙΧΗ ΕΚΕΙΝΗΣ ΤΟΥ ΣΧΗΜΑΤΟΣ 61) ΣΧΗΜΑ 75: ΛΥΣΗ ΑΝΤΙΣΤΟΙΧΗ ΕΚΕΙΝΗΣ ΤΟΥ ΣΧΗΜΑΤΟΣ 75 ΑΛΛΑ ΠΟΥ ΕΠΙΤΥΓΧΑΝΕΙ ΜΕΓΑΛΥΤΕΡΟ ΠΑΡΑΛΛΗΛΙΣΜΟ ΣΧΗΜΑ 76: ΠΡΩΤΗ ΠΡΟΣΠΑΘΕΙΑ ΕΠΙΛΥΣΗΣ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΓΝΩΣΤΩΝ-ΕΓΓΡΑΦΕΩΝ ΜΕ ΧΡΗΣΗ ΚΡΙΣΙΜΩΝ ΠΕΡΙΟΧΩΝ ΥΠΟ ΣΥΝΘΗΚΗ ΣΧΗΜΑ 77: ΣΩΣΤΗ ΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΓΝΩΣΤΩΝ-ΕΓΓΡΑΦΕΩΝ ΜΕ ΧΡΗΣΗ ΚΡΙΣΙΜΩΝ ΠΕΡΙΟΧΩΝ ΥΠΟ ΣΥΝΘΗΚΗ ΣΧΗΜΑ 78: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΑΡΤΟΠΩΛΕΙΟΥ ΣΧΗΜΑ 79: Η ΛΥΣΗ ΤΟΥ DEKKER ΣΧΗΜΑ 80: ΙΚΑΙΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΑΜΟΙΒΑΙΟΥ ΑΠΟΚΛΕΙΣΜΟΥ ΜΕ ΧΡΗΣΗ TEST&SET() ΣΧΗΜΑ 81: ΙΚΑΙΗ ΛΥΣΗ ΣΤΟ ΠΡΟΒΛΗΜΑ ΤΩΝ ΑΝΑΓΝΩΣΤΩΝ-ΕΓΓΡΑΦΕΩΝ

7 ΣΧΗΜΑ 82: ΕΝΕΡΓΕΙΕΣ ΠΟΥ ΕΠΙΤΕΛΟΥΝ ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ SEM_DOWN() ΚΑΙ GSEM_UP() ΣΧΗΜΑ 83: ΥΛΟΠΟΙΗΣΗ ΓΕΝΙΚΟΥ ΣΗΜΑΦΟΡΟΥ ΑΠΟ ΥΑ ΙΚΟ ΣΗΜΑΦΟΡΟ ΣΧΗΜΑ 84: ΣΚΕΛΕΤΟΣ ΚΩ ΙΚΑ ΓΙΑ ΤΗΝ ΥΛΟΠΟΙΗΣΗ ΚΡΙΣΙΜΩΝ ΠΕΡΙΟΧΩΝ ΥΠΟ ΣΥΝΘΗΚΗ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΣΗΜΑΦΟΡΟΥΣ

8 Πρόλογος Το εκπαιδευτικό υλικό αυτό αποτελεί βοηθητικό διδακτικό υλικό για το µάθηµα των Λειτουργικών Συστηµάτων και έχει γραφτεί για τις ανάγκες των φοιτητών της θεµατικής ενότητας ΠΛΗ-11 του ΕΑΠ, της οποίας τα µαθήµατα διδάσκονται στο 1 ο έτος σπουδών του Τµήµατος Πληροφορικής, δηλαδή σε φοιτητές που δεν έχουν πολύ µεγάλη εξοικείωση µε θέµατα προγραµµατισµού και αρχιτεκτονικής υπολογιστών. Έτσι, το εκπαιδευτικό υλικό αυτό παρουσιάζει βασικά µόνο θέµατα των ΛΣ και αυτά µε συνοπτικό και όσο το δυνατό πιο απλό τρόπο. Πολλά από τα παραδείγµατα και τις ασκήσεις αυτοαξιολόγησης που περιγράφονται στο εκπαιδευτικό υλικό, έχουν προταθεί από διάφορα µέλη ΣΕΠ της θεµατικής ενότητας και έχουν αποτελέσει µέρος των εργασιών των φοιτητών της ΠΛΗ-11 στο παρελθόν. Οι συγγραφείς έχουν βάλει τη προσωπική τους σφραγίδα στα περισσότερα µέρη του εκπαιδευτικού υλικού, πολλές φορές αποκλίνοντας από τις προτεινόµενες λύσεις της θεµατικής ενότητας, προκειµένου να καλύψουν διάφορα θέµατα που θα ήθελαν να συζητηθούν µε µεγαλύτερη λεπτοµέρεια. Ωστόσο, δεν παύουν να πιστεύουν πως το εκπαιδευτικό υλικό αυτό είναι αποτέλεσµα και της συλλογικής προσπάθειας των µελών ΣΕΠ της θεµατικής ενότητας. Σε επόµενες εκδόσεις του εκπαιδευτικού υλικού θα προστεθεί υλικό που θα αφορά τη διαχείριση µνήµης (και θα ενσωµατωθούν οποιεσδήποτε αλλαγές και βελτιώσεις θεωρηθούν απαραίτητες στα υπάρχοντα κεφάλαια).

9 1ο Κεφάλαιο Εισαγωγή

10 1 ο Κεφάλαιο Εισαγωγή Ένα Λειτουργικό Σύστηµα (ΛΣ) είναι ένα πρόγραµµα που αποσκοπεί στο να διευκολύνει τους χρήστες στη χρήση του υλικού (hardware) ενός υπολογιστή και των υπολοίπων πόρων του συστήµατος. Ονοµάζουµε πόρο οτιδήποτε µπορεί να χρησιµοποιηθεί κάθε χρονική στιγµή από ένα µόνο πρόγραµµα που εκτελείται. Οι πόροι µπορεί να είναι είτε συσκευές υλικού (π.χ., η κεντρική µονάδα επεξεργασίας, η µνήµη, ο δίσκος, ο εκτυπωτής, ο σχεδιογράφος, άλλες συσκευές εισόδου/εξόδου, κλπ.) είτε δεδοµένα ή λογικές οντότητες (π.χ., ένα αρχείο, µια εγγραφή σε βάση δεδοµένων, µια δοµή δεδοµένων στην οποία το ΛΣ αποθηκεύει πληροφορίες, κλπ.). Προφανώς, είναι δυνατόν να υπάρχουν δύο ή περισσότεροι πόροι του ίδιου είδους (π.χ., δύο εκτυπωτές). Το ΛΣ ελέγχει όλους τους πόρους του συστήµατος, παρέχοντας ένα εύχρηστο περιβάλλον για την ανάπτυξη των εφαρµογών των χρηστών. 1.1 Σύντοµη Ανασκόπηση Υλικού Υπολογιστών Τα βασικά µέρη του υλικού ενός υπολογιστή παρουσιάζονται στο Σχήµα 1. Ένα από τα κυριότερα συστατικά του είναι η κεντρική µονάδα επεξεργασίας (ΚΜΕ). Η ΚΜΕ ελέγχει τη λειτουργία του υπολογιστή και πραγµατοποιεί την επεξεργασία των δεδοµένων κατά την εκτέλεση ενός προγράµµατος. Η ΚΜΕ εκτελεί επαναληπτικά τα εξής. ιαβάζει την επόµενη προς εκτέλεση εντολή, την αποκωδικοποιεί και την εκτελεί. Η εκτέλεση των λειτουργιών αυτών είναι γνωστή ως κύκλος λειτουργίας ΚΜΕ. Η ΚΜΕ ξεκινά µε την πρώτη εντολή ενός προγράµµατος (1 ος κύκλος λειτουργίας) και συνεχίζει µε όσους κύκλους είναι απαραίτητοι για να εκτελεστούν όλες οι εντολές του προγράµµατος. Κάθε χρονική στιγµή µπορεί να εκτελείται µόνο ένα πρόγραµµα στην ΚΜΕ και ένα πρόγραµµα µπορεί να εκτελεστεί µόνο αν υπάρχει διαθέσιµη ΚΜΕ που θα το εκτελέσει. ίσκος Καταχωρητές Συσκευή Λήψης Εφεδρικών Αντιγράφων ίσκος Κύρια Μνήµη Κρυφή Μνήµη ΚΜΕ ίσκος Σχήµα 1: Βασική οργάνωση ενός υπολογιστή. Κάθε υπολογιστής έχει ένα ρολόι συστήµατος (system clock) που χρησιµοποιείται από την ΚΜΕ για να συγχρονίζει τις λειτουργίες επεξεργασίας. Ένας κύκλος λειτουργίας συνήθως απαιτεί έναν µικρό σταθερό αριθµό από χτύπους του ρολογιού συστήµατος. 2 η έκδοση 10

11 1 ο Κεφάλαιο Εισαγωγή Η ΚΜΕ χρησιµοποιεί ένα µικρό αριθµό γρήγορων στοιχείων αποθήκευσης που ονοµάζονται καταχωρητές. Ένας καταχωρητής συνήθως αποθηκεύει δεδοµένα των 32 ή των 64 bit (ωστόσο, σήµερα έχουν κάνει την εµφάνισή τους και υπολογιστικά συστήµατα των οποίων οι καταχωρητές έχουν µέγεθος 128 bit). Μερικοί καταχωρητές χρησιµοποιούνται για την εκτέλεση πολύ συγκεκριµένων λειτουργιών. Ένας τέτοιος καταχωρητής είναι ο µετρητής προγράµµατος (Program Counter, PC). Ο καταχωρητής αυτός περιέχει την πληροφορία του ποια είναι η επόµενη προς εκτέλεση εντολή του εκτελούµενου προγράµµατος. Η εντολή αυτή µεταφέρεται από τη µνήµη σε έναν άλλο καταχωρητή, που ονοµάζεται καταχωρητής εντολών (Instruction Register, IR), προκειµένου να την προσπελάσει και να την επεξεργαστεί η ΚΜΕ. Οι καταχωρητές είναι ενσωµατωµένοι στο chip του επεξεργαστή και έτσι µπορούν να προσπελασθούν πάρα πολύ γρήγορα (µε την ίδια ταχύτητα όπως εκείνη της λειτουργίας της ΚΜΕ), αλλά είναι εξαιρετικά ακριβοί. Έτσι, οι σηµερινοί υπολογιστές περιέχουν έναν µικρό µόνο αριθµό καταχωρητών. Είναι εποµένως απαραίτητη η ύπαρξη πολύ µεγαλύτερου χώρου αποθήκευσης προκειµένου να αποθηκεύονται εκεί τα εκτελούµενα προγράµµατα, καθώς και τα δεδοµένα που χρησιµοποιούνται από αυτά. Για το λόγο αυτό, το δεύτερο βασικό συστατικό κάθε υπολογιστή είναι η κύρια µνήµη. Η κύρια µνήµη χρησιµοποιείται ως χώρος αποθήκευσης και επεξεργασίας από τα προγράµµατα και περιέχει προσωρινά δεδοµένα (που χάνονται όταν πάψει να λειτουργεί ο υπολογιστής). Η ΚΜΕ επικοινωνεί µε τη µνήµη (και τις υπόλοιπες µονάδες του υπολογιστή) διαµέσου του διαύλου του συστήµατος (system bus). Ο δίαυλος αποτελείται από έναν αριθµό καναλιών µέσω των οποίων γίνεται η ανταλλαγή των πληροφοριών µεταξύ των διαφορετικών µονάδων του συστήµατος (π.χ., µεταξύ µνήµης και καταχωρητών). Ένα πρόγραµµα δεν µπορεί να εκτελεστεί αν δεν βρίσκεται στη µνήµη του υπολογιστή. Καθώς το πρόγραµµα εκτελείται, τα δεδοµένα που απαιτούνται θα πρέπει να τοποθετηθούν στους καταχωρητές του συστήµατος. Η ΚΜΕ λειτουργεί σε υψηλότερες ταχύτητες από την κύρια µνήµη. Έτσι, πολύς χρόνος καταναλώνεται για τη µετακίνηση δεδοµένων µεταξύ ΚΜΕ και κύριας µνήµης. Για τη µείωση του χρόνου αυτού, κάθε υπολογιστικό σύστηµα χρησιµοποιεί µία ή περισσότερες κρυφές µνήµες. Η κρυφή µνήµη βρίσκεται µεταξύ της κύριας µνήµης και των καταχωρητών. Οι κρυφές µνήµες κατασκευάζονται από ειδικά κυκλώµατα ώστε να είναι πολύ γρήγορες, αλλά έχουν µεγάλο κόστος και εποµένως το µέγεθος τους είναι περιορισµένο (αρκετά µικρότερο από εκείνο της κύριας µνήµης). Όταν η ΚΜΕ χρειάζεται να διαβάσει δεδοµένα (ή εντολές) από τη µνήµη, τα δεδοµένα αναζητούνται πρώτα στην κρυφή µνήµη. Αν βρίσκονται εκεί, η µεταφορά τους στους καταχωρητές θα γίνει πολύ γρήγορα (απευθείας από την κρυφή µνήµη). ιαφορετικά, τα δεδοµένα θα πρέπει να αναζητηθούν στην κύρια µνήµη και να φορτωθούν στους καταχωρητές από εκεί. Ταυτόχρονα τα δεδοµένα τοποθετούνται και στην κρυφή µνήµη, ώστε να είναι διαθέσιµα εκεί στο µέλλον (αν εν τω µεταξύ δεν αντικατασταθούν από άλλα πιο πρόσφατα δεδοµένα). Τα δύο βασικότερα χαρακτηριστικά µιας µονάδας αποθήκευσης (όπως η µνήµη) είναι η ταχύτητα προσπέλασής της και το κόστος της. υστυχώς, τα δύο αυτά χαρακτηριστικά αντιπαλεύονται το ένα το άλλο. Γρήγορες µνήµες είναι εξαιρετικά ακριβές για να µπορούν να παρέχονται σε µεγάλες ποσότητες. Επιπρόσθετα, τόσο η κύρια όσο και οι 2 η έκδοση 11

12 1 ο Κεφάλαιο Εισαγωγή κρυφές µνήµες δεν διατηρούν τα δεδοµένα τους, όταν ο υπολογιστής δεν είναι σε λειτουργία. Έτσι, οι υπολογιστές χρησιµοποιούν και άλλες µονάδες αποθήκευσης που το κόστος τους είναι αρκετά χαµηλό ώστε να παρέχονται σε µεγάλες ποσότητες. Οι µονάδες αυτές είναι αρκετά αργές συγκριτικά µε την κύρια µνήµη. Οι µονάδες εξωτερικής αποθήκευσης, όπως π.χ., µονάδες ταινίας, κλπ., έχουν το µικρότερο κόστος αλλά το µεγαλύτερο χρόνο προσπέλασης. Μια άλλη µονάδα αποθήκευσης είναι οι (ηλεκτρονικοί) δίσκοι που είναι σχετικά φθηνοί αλλά και σχετικά αργοί (παρότι σαφώς πιο γρήγοροι από τις µονάδες εξωτερικής αποθήκευσης). Όπως είναι αναµενόµενο, οι µονάδες κύριας µνήµης είναι αρκετά ακριβότερες από τις µονάδες βοηθητικής αποθήκευσης (δίσκοι, µονάδες εξωτερικής αποθήκευσης). Το µέγεθος της κύριας µνήµης επηρεάζει σηµαντικά την ισχύ ενός υπολογιστή. Περισσότερη µνήµη σηµαίνει πως ο υπολογιστής µπορεί να εκτελεί περισσότερο απαιτητικά σε µνήµη προγράµµατα και µάλιστα περισσότερα του ενός από αυτά ταυτόχρονα. Κάθε υπολογιστικό σύστηµα περιλαµβάνει ένα σύνολο συσκευών Εισόδου/Εξόδου (Ε/Ε), όπως η οθόνη, το πληκτρολόγιο, το ποντίκι, ο εκτυπωτής, το modem, το τερµατικό, κλπ. Τα προγράµµατα των χρηστών αποτελούνται από αλληλουχίες εκτέλεσης υπολογισµών και λειτουργιών Ε/Ε. Ένα πρόγραµµα επιτελεί λειτουργίες Ε/Ε αν δεν µπορεί να χρησιµοποιήσει την ΚΜΕ επειδή περιµένει κάποια εξωτερική συσκευή να ολοκληρώσει την εργασία της. Μια συσκευή Ε/Ε µπορεί να λειτουργεί ταυτόχρονα µε την ΚΜΕ. Αυτό είναι πολύ επιθυµητό για λόγους απόδοσης, αφού οι συσκευές Ε/Ε είναι πολύ πιο αργές στη λειτουργία τους από την ΚΜΕ. Σε όλους τους υπολογιστές το υλικό παρέχει ένα µηχανισµό για τη διακοπή της κανονικής λειτουργίας της ΚΜΕ. Μια διακοπή είναι ένα σήµα που στέλνεται στην ΚΜΕ π.χ., από κάποια συσκευή Ε/Ε (µια διακοπή µπορεί να προκληθεί και για άλλους λόγους µερικούς από τους οποίους θα µελετήσουµε στο Κεφάλαιο 2). Η συσκευή Ε/Ε µπορεί, για παράδειγµα, να ενηµερώσει µε αυτό τον τρόπο την ΚΜΕ για το πότε ολοκληρώνεται η εκτέλεση της τρέχουσας λειτουργίας της. Όταν πραγµατοποιείται µια διακοπή, η ΚΜΕ σταµατά την εκτέλεση του τρέχοντος προγράµµατος και ξεκινά την εκτέλεση ενός κατάλληλου προγράµµατος χειρισµού της διακοπής ανάλογα µε το είδος της συσκευής Ε/Ε από όπου προήλθε η διακοπή. Όταν πραγµατοποιηθούν οι κατάλληλες ενέργειες χειρισµού διακοπής, η ΚΜΕ µπορεί να συνεχίσει µε την εκτέλεση του προγράµµατος που εκτελούσε πριν προκληθεί η διακοπή. Προκειµένου η ΚΜΕ και οι συσκευές Ε/Ε να δουλεύουν ταυτόχρονα κάποιες χρονικές περιόδους κατά την εκτέλεση ενός προγράµµατος, συχνά χρησιµοποιούνται από τις συσκευές Ε/Ε µικροί χώροι προσωρινής αποθήκευσης (buffers). Η βασική ιδέα είναι η εξής. Αφού διαβαστούν τα δεδοµένα από τη συσκευή Ε/Ε, τοποθετούνται σε έναν µικρό χώρο προσωρινής αποθήκευσης και στη συνέχεια αντιγράφονται στη µνήµη, προκειµένου να τα επεξεργαστεί η ΚΜΕ. Καθώς γίνεται η επεξεργασία αυτή, η συσκευή Ε/Ε διαβάζει νέα δεδοµένα και τα τοποθετεί στον ενδιάµεσο χώρο προσωρινής αποθήκευσης. Κάτι αντίστοιχο µπορεί να συµβεί και κατά την έξοδο δεδοµένων. Η ΚΜΕ τοποθετεί τα δεδοµένα εξόδου σε ένα χώρο προσωρινής αποθήκευσης και συνεχίζει την εκτέλεση του προγράµµατος. Η συσκευή Ε/Ε διαβάζει τα δεδοµένα από το χώρο αυτό. Ένας προσωρινός χώρος αποθήκευσης συνήθως δεν µπορεί να αποθηκεύσει περισσότερα από µερικές εκατοντάδες bytes. 2 η έκδοση 12

13 1 ο Κεφάλαιο Εισαγωγή Μια δεύτερη τεχνική που επιτρέπει την ταυτόχρονη λειτουργία ΚΜΕ και Ε/Ε, είναι η τεχνική της παροχέτευσης (Spooling Simultaneous Peripheral Operation On Line). Η βασική ιδέα είναι να χρησιµοποιείται µεγάλο µέρος του δίσκου σαν ένας τεράστιος προσωρινός χώρος αποθήκευσης. Όταν ένα πρόγραµµα εκτελείται διαβάζει τα δεδοµένα εισόδου του από το χώρο παροχέτευσης του δίσκου και αντίστοιχα γράφει τα δεδοµένα εξόδου του στο χώρο αυτό, αντί να διαβάζει κα να γράφει απευθείας στις συσκευές Ε/Ε. Παρόµοια, µια συσκευή Ε/Ε διαβάζει τα δεδοµένα από το χώρο παροχέτευσης του δίσκο και γράφει τα δεδοµένα εισόδου επίσης στο χώρο αυτό. Με τον τρόπο αυτό, οι λειτουργίες Ε/Ε ενός προγράµµατος µπορούν να εκτελεστούν ακόµη και µετά τον τερµατισµό του (offline) προγράµµατος. Είναι αξιοσηµείωτο ότι η τεχνική της παροχέτευσης επιτρέπει σε πολλά προγράµµατα να διαβαστούν και να αποθηκευτούν στο δίσκο. ίνεται έτσι η δυνατότητα, οποιοδήποτε από αυτά να είναι το επόµενο που θα τοποθετηθεί στη µνήµη προκειµένου να µπορέσει να εκτελεστεί. 1.2 Σκοπός & Υπηρεσίες ενός ΛΣ Η κυρίαρχη φροντίδα ενός ΛΣ είναι η κατάλληλη διαχείριση όλων των πόρων του υπολογιστή. Αυτό κατανέµει τους πόρους στα προγράµµατα των χρηστών και µεσολαβεί όταν υπάρχουν αντικρουόµενες αιτήσεις. Για παράδειγµα, φανταστείτε τι θα συµβεί αν δύο διαφορετικά προγράµµατα χρησιµοποιήσουν ταυτόχρονα τον εκτυπωτή. Το πιθανότερο είναι το αποτέλεσµα να είναι ένα µπερδεµένο σύνολο σελίδων. Το λειτουργικό εξασφαλίζει πως κάτι τέτοιο δεν θα συµβεί. Μέριµνα του ΛΣ είναι όχι µόνο η ελεγχόµενη αλλά και η συστηµατική κατανοµή των πόρων ώστε να επιτυγχάνεται ως επί το πλείστον η αποδοτική λειτουργία του συστήµατος. Ένας δεύτερος βασικός στόχος ενός λειτουργικού συστήµατος είναι η διευκόλυνση του χρήστη στην εκτέλεση προγραµµάτων. Κάθε µέρος του υλικού ενός συστήµατος έχει τις δικές του ιδιαιτερότητες. Το λειτουργικό σύστηµα αναλαµβάνει να αποκρύψει από τον µέσο προγραµµατιστή τις ιδιαιτερότητες αυτές, παρέχοντάς του µια απλή και υψηλού επιπέδου αφαιρετική εικόνα. Τέλος, ένας ακόµη σηµαντικός στόχος ενός λειτουργικού συστήµατος είναι η παροχή προστασίας στους χρήστες. Το ΛΣ είναι υπεύθυνο για τον έλεγχο των συσκευών και των προγραµµάτων, προκειµένου να αποφεύγονται σφάλµατα και να γίνεται δόκιµη χρήση του υπολογιστή. Με λίγα λόγια, το λειτουργικό σύστηµα αποσκοπεί στην αποτελεσµατική εκτέλεση προγραµµάτων και την εύκολη και γρήγορη επίλυση των προβληµάτων επικοινωνίας του χρήστη µε τον υπολογιστή. Η τοποθέτηση του ΛΣ σε ένα υπολογιστικό σύστηµα φαίνεται στο Σχήµα 2 (ένα αντίστοιχο σχήµα παρουσιάζεται στην Ενότητα 1.1 του Τόµου Γ της θεµατικής ενότητας). Η άποψη που έχει ο χρήστης για το σύστηµα είναι η άποψη ενός συνόλου εφαρµογών (όπως µεταγλωττιστών, συστηµάτων βάσεων δεδοµένων, επεξεργαστών κειµένου, διορθωτών, κλπ.) Οι λεπτοµέρειες του υλικού αποκρύπτονται µε τη βοήθεια του ΛΣ. 2 η έκδοση 13

14 1 ο Κεφάλαιο Εισαγωγή Χρήστης 1 Π ρ ο γ ρ ά µ µ Λειτουργικό Σύστηµα α τ α Χρήστης 2 Υλικό Χρήστης 3 Ε φ α ρ µ ο γ ώ ν Χρήστης 5 Χρήστης 4 Σχήµα 2: Σχέση του ΛΣ µε το υλικό του υπολογιστή και τους χρήστες. Όταν βάζουµε τον υπολογιστή σε λειτουργία, εκκινείται αυτόµατα η εκτέλεση του λειτουργικού συστήµατος πριν αρχίσει η εκτέλεση οποιουδήποτε άλλου προγράµµατος στο σύστηµα. 1.3 Πολυπρογραµµατισµός και ιαµοιρασµός Χρόνου Όταν σε έναν υπολογιστή εκτελείται ένα µόνο πρόγραµµα, η ΚΜΕ παραµένει για αρκετό χρόνο ανενεργή. Αυτό συµβαίνει γιατί, όπως έχει ήδη αναφερθεί, τα περισσότερα προγράµµατα απαιτούν λειτουργίες Ε/Ε των οποίων η εκτέλεση είναι εξαιρετικά αργή. Προκειµένου να αυξηθεί η απόδοση των συστηµάτων, τα σύγχρονα λειτουργικά συστήµατα χρησιµοποιούν µια τεχνική που λέγεται πολυ-προγραµµατισµός. Η βασική ιδέα είναι να υπάρχουν αρκετά έτοιµα προς εκτέλεση προγράµµατα στη µνήµη. Κάθε φορά που η εκτέλεση ενός από αυτά φθάνει σε σηµείο που απαιτείται η εκτέλεση κάποιας λειτουργία Ε/Ε, ένα άλλο πρόγραµµα επιλέγεται και εκτελείται στην ΚΜΕ. Η τεχνική αυτή εφαρµόζεται επαναληπτικά (όσο υπάρχουν έτοιµα προς εκτέλεση προγράµµατα στο σύστηµα). Έτσι, σε µια τυχαία χρονική στιγµή µπορεί να υπάρχουν πολλά προγράµµατα που έχουν µερικώς εκτελεστεί. Κάποια από αυτά µπορεί να εκτελούν κάποια λειτουργία Ε/Ε την τρέχουσα χρονική στιγµή, ενώ άλλα ίσως βρίσκονται στη µνήµη και είναι έτοιµα να εκτελεστούν, όταν η ΚΜΕ γίνει διαθέσιµη. Το ΛΣ είναι και αυτό ένα πρόγραµµα που χρησιµοποιεί περιοδικά την ΚΜΕ προκειµένου να εκτελέσει τα δικά του καθήκοντα. Το ΛΣ είναι το πρόγραµµα µε την υψηλότερη προτεραιότητα στη χρήση της ΚΜΕ. Το ΛΣ και πιο συγκεκριµένα ένα µέρος του, που ονοµάζεται χρονο-δροµολογητής (ή χρονοπρογραµµατιστής), είναι αυτό που θα αποφασίσει ποιο πρόγραµµα θα απασχολεί κάθε χρονική στιγµή την ΚΜΕ. Ο 2 η έκδοση 14

15 1 ο Κεφάλαιο Εισαγωγή πολυπρογραµµατισµός επιφέρει εποµένως την ανάγκη σχεδιασµού καλών αλγορίθµων χρονοδροµολόγησης. Επιπρόσθετα, εφόσον περισσότερα του ενός προγράµµατα πρέπει να βρίσκονται στη µνήµη ταυτόχρονα, ο πολυπρογραµµατισµός οδηγεί στην αναγκαιότητα ύπαρξης µηχανισµών διαχείρισης της µνήµης, δηλαδή αλγορίθµων που θα αποφασίζουν πώς η µνήµη κατανέµεται στα διάφορα προγράµµατα. Το πρόβληµα της διαχείρισης της µνήµης είναι ένα ακόµη σηµαντικό πρόβληµα που θα µελετηθεί σε κάποια από τα επόµενα κεφάλαια. Πολλά προγράµµατα απαιτούν κάποιου είδους αλληλεπίδραση µε το χρήστη. Για παράδειγµα, ο χρήστης µπορεί να πρέπει να καθορίσει διάφορες παραµέτρους καθώς το πρόγραµµα εκτελείται ή µπορεί να χρειαστεί να παρέχει δεδοµένα εισόδου, κλπ. Προγράµµατα τα οποία απαιτούν αλληλεπίδραση µε το χρήστη ονοµάζονται αλληλεπιδραστικά (interactive) και τα συστήµατα που παρέχουν αυτή τη δυνατότητα ονοµάζονται αλληλεπιδραστικά συστήµατα. Ένα λειτουργικό σύστηµα διαµοιρασµού χρόνου επιτρέπει σε πολλούς χρήστες ταυτόχρονα να χρησιµοποιούν το σύστηµα, παρέχοντας τους ωστόσο τη ψευδαίσθηση ότι ο κάθε ένας από αυτούς είναι ο µοναδικός χρήστης του συστήµατος. Αυτό επιτυγχάνεται µε τη γρήγορη εναλλαγή (switching) των προγραµµάτων των διαφόρων χρηστών που είναι έτοιµα προς εκτέλεση από και προς την ΚΜΕ. Πιο συγκεκριµένα, κάθε πρόγραµµα εκτελείται για λίγο και στη συνέχεια εναλλάσσεται µε κάποιο άλλο, το οποίο είναι επίσης έτοιµο για εκτέλεση και διεκδικεί την ΚΜΕ. Με τον τρόπο αυτό, κάθε χρήστης χρησιµοποιεί ένα µέρος της υπολογιστικής ισχύος του συστήµατος, έχοντας ωστόσο τη ψευδαίσθηση ότι είναι ο µοναδικός χρήστης που απασχολεί το σύστηµα. Όπως έχει ήδη αναφερθεί, η απόφαση του ποιο πρόγραµµα θα εκτελείται κάθε χρονική στιγµή λαµβάνεται από τον χρονοδροµολογητή. Είναι σηµαντικό να γίνει κατανοητό, πως ο χρονοδροµολογητής µπορεί να διακόπτει την εκτέλεση ενός προγράµµατος οποιαδήποτε χρονική στιγµή και να αποδίδει την ΚΜΕ σε κάποιο άλλο πρόγραµµα. Έτσι, ακόµη και σε συστήµατα µε µια µόνο ΚΜΕ, τα διάφορα προγράµµατα εκτελούνται κατά µία έννοια (ψευδο-)παράλληλα. Η τεχνική του διαµοιρασµού χρόνου βασίζεται στις τεχνικές του πολυπρογραµµατισµού και της χρνοδροµολόγησης και είναι εφικτή για τους ακόλουθους λόγους: Τα προγράµµατα των χρηστών είναι συνήθως µικρά και απαιτούν πολύ Ε/Ε. Η ταχύτητα µε την οποία ο χρήστης παρέχει δεδοµένα στο σύστηµα (π.χ., η ταχύτητα πληκτρολόγησης) είναι εξαιρετικά µικρή σε σχέση µε εκείνη της ΚΜΕ. Η εναλλαγή των προγραµµάτων γίνεται πολύ γρήγορα, ώστε να µην είναι αντιληπτή. Αξίζει να σηµειωθεί πως κάποια από τα πρώτα υπολογιστικά συστήµατα ήταν συστήµατα οµαδικής επεξεργασίας (ή συστήµατα δέσµης, batch systems) και δεν υποστήριζαν καµία αλληλεπίδραση µε το χρήστη. Το ΛΣ ενός τέτοιου συστήµατος δέχεται µια οµάδα εργασιών (προγραµµάτων) προς εκτέλεση και έχει σαν στόχο να κάνει καλή διανοµή των πόρων και να εφαρµόσει καλές πολιτικές χρονοδροµολόγησης, ώστε να ελαχιστοποιηθεί ο χρόνος περάτωσης της εκτέλεσης των εργασιών αυτών. Με την τεχνική του διαµοιρασµού χρόνου µπορούν πολλοί χρήστες να χρησιµοποιούν ταυτόχρονα τον υπολογιστή. Έτσι, προγράµµατα διαφορετικών χρηστών (που 2 η έκδοση 15

16 1 ο Κεφάλαιο Εισαγωγή ενδεχόµενα έχουν διαφορετικούς και αντικρουόµενους στόχους) συναγωνίζονται για τους πόρους του υπολογιστή. Το λειτουργικό σύστηµα θα πρέπει να λάβει µέτρα για την δίκαιη χρήση των πόρων αυτών. Προκειµένου να αποφευχθεί, για παράδειγµα, η επ άπειρο χρήση της ΚΜΕ από ένα µόνο πρόγραµµα, πολλά συστήµατα χρησιµοποιούν έναν µετρητή, που ονοµάζεται χρονοµετρητής. Η τιµή του χρονοµετρητή ρυθµίζεται κάθε φορά που ένα πρόγραµµα αποκτά την ΚΜΕ. Με κάθε παλµό του ρολογιού του συστήµατος, η τιµή του χρονοµετρητή µειώνεται και όταν µηδενιστεί προκαλείται διακοπή. Τότε αναλαµβάνει δράση το ΛΣ, το οποίο ελέγχει το χρόνο που το τρέχον πρόγραµµα έχει χρησιµοποιήσει την ΚΜΕ και αποφασίζει αν αυτό θα συνεχίσει να κατέχει την ΚΜΕ για µια ακόµη περίοδο χρόνου (ή κβάντο χρόνου όπως ονοµάζεται), ή αν θα ανασταλεί παραχωρώντας την ΚΜΕ σε κάποιο άλλο ενεργό πρόγραµµα. Έτσι, το ΛΣ µπορεί περιοδικά να ελέγχει τη λειτουργία της ΚΜΕ και να αποφασίζει ποιο πρόγραµµα πρέπει να εκτελείται εκεί. 1.4 Καταστάσεις Λειτουργίας Συστηµάτων Ένα υπολογιστικό σύστηµα µπορεί να λειτουργεί µε δύο τρόπους, σε κατάσταση επόπτη (supervisor mode), στην οποία εκτελείται µόνο το ΛΣ και σε κατάσταση χρήστη (user mode), στην οποία εκτελούνται όλα τα προγράµµατα των χρηστών. Πολλές λειτουργίες πρέπει να εκτελούνται σε κατάσταση επόπτη για λόγους προστασίας (π.χ., για να διασφαλιστεί πως δεν θα εκτελέσουν παράνοµες ενέργειες και δεν θα χρησιµοποιήσουν τους πόρους παραπάνω από όσο χρόνο τους αναλογεί). Οι λειτουργίες αυτές ονοµάζονται προνοµιακές εντολές (privileged instructions). Οι λειτουργίες Ε/Ε επιτρέπεται να εκτελεστούν µόνο σε κατάσταση επόπτη, αφού αν ένα πρόγραµµα χρήστη εκτελέσει λειτουργίες Ε/Ε χωρίς την παρεµβολή του ΛΣ, τίποτα δεν µπορεί να το αποτρέψει από το να προσπελάσει και να τροποποιήσει δεδοµένα που ανήκουν σε άλλους χρήστες, το οποίο δεν είναι επιθυµητό. Προκειµένου να εκτελεστούν οι λειτουργίες Ε/Ε που απαιτούνται από τα προγράµµατα χρήστη, τα προγράµµατα αυτά θα πρέπει να ζητήσουν από το ΛΣ να τα εξυπηρετήσει εκτελώντας τις λειτουργίες αυτές, εφ όσον δεν έχουν τη δικαιοδοσία να τις εκτελέσουν από µόνα τους. Όλα τα ΛΣ παρέχουν µια συλλογή από ρουτίνες, κάθε µια από τις οποίες αντιστοιχεί σε µια προνοµιακή εντολή που µπορεί να εκτελείται από τα προγράµµατα των χρηστών. Οι ρουτίνες αυτές ονοµάζονται κλήσεις συστήµατος. Κάθε φορά που ένα πρόγραµµα χρήστη καλεί µια κλήση συστήµατος, γίνεται διακοπή προς το ΛΣ και το σύστηµα µεταπίπτει από κατάσταση χρήστη σε κατάσταση επόπτη. Το ΛΣ αρχίζει να εκτελείται, αποκρυπτογραφεί το είδος της διακοπής και αναλαµβάνει να διεκπεραιώσει την προνοµιακή εντολή που του ζητήθηκε, αφού φυσικά πρώτα ελέγξει ότι αυτή είναι έγκυρη και ότι δεν παρουσιάζεται κανένα πρόβληµα προστασίας. Εν τω µεταξύ, το ΛΣ µπορεί να αποφασίσει πως θα πρέπει να ανασταλεί η εκτέλεση του προγράµµατος που περιµένει τη διεκπεραίωση της προνοµιακής εντολής και να αρχίσει να εκτελείται κάποιο άλλο πρόγραµµα, προκειµένου η ΚΜΕ να µην παραµείνει ανενεργή. Επίσης, ίσως έχει ζητηθεί από κάποια από τις συσκευές Ε/Ε να εκτελέσει τις απαραίτητες λειτουργίες για τη διεκπεραίωση της προνοµιακής εντολής. Όταν η συσκευή Ε/Ε τελειώσει την εκτέλεση της λειτουργίας που της ζητήθηκε, διακόπτει και πάλι την ΚΜΕ, το σύστηµα εισέρχεται σε κατάσταση επόπτη και το ΛΣ λαµβάνει τις κατάλληλες ενέργειες εξυπηρέτησης της διακοπής. Αν η εκτέλεση της προνοµιακής εντολής έχει τελειώσει, το ΛΣ έχει τη 2 η έκδοση 16

17 1 ο Κεφάλαιο Εισαγωγή δυνατότητα να ξανα-αποδώσει την ΚΜΕ στο πρόγραµµα που ζήτησε την προνοµιακή εντολή για να συνεχιστεί η εκτέλεσή του (προφανώς µε µετάπτωση σε κατάσταση χρήστη). Εναλλακτικά, το ΛΣ µπορεί να αποφασίσει ότι είναι προτιµότερο να συνεχιστεί η εκτέλεση του προγράµµατος που απασχολούσε την ΚΜΕ όταν έγινε η διακοπή, ή µε οποιοδήποτε άλλο ενεργό πρόγραµµα. Είναι αξιοσηµείωτο πως κλήσεις συστήµατος υπάρχουν όχι µόνο για την εκτέλεση λειτουργιών Ε/Ε αλλά και για τη δηµιουργία διεργασιών, τη διαχείριση µνήµης, κ.α. 1.5 Τα Κύρια Μέρη ενός Λειτουργικού Συστήµατος Μια διεργασία είναι ένα πρόγραµµα που εκτελείται. (Περισσότερα για τις διεργασίες θα συζητηθούν στο Κεφάλαιο 2.) Τα περισσότερα ΛΣ υποστηρίζουν τη δηµιουργία και τον τερµατισµό διεργασιών, παρέχουν µηχανισµούς για τη µεταξύ τους επικοινωνία και το συγχρονισµό τους, ενώ επιπρόσθετα επιτρέπουν την αναστολή εκτέλεσης µιας διεργασίας, καθώς και την επαναπόδοση της ΚΜΕ σε αυτήν. Όλες αυτές οι λειτουργίες αποτελούν βασικά καθήκοντα ενός από τα σηµαντικότερα µέρη του ΛΣ, που ονοµάζεται διαχειριστής διεργασιών. Ένα σύνολο διεργασιών βρίσκεται σε αδιέξοδο αν κάθε διεργασία του συνόλου περιµένει να συµβεί κάποιο γεγονός που µόνο µια άλλη διεργασία του συνόλου µπορεί να προκαλέσει. Για παράδειγµα, έστω ότι µία διεργασία Α έχει υπό την κατοχή της και χρησιµοποιεί έναν πόρο Π, αλλά για να τελειώσει την εκτέλεσή της και να τερµατίσει, ελευθερώνοντας τον πόρο Π, χρειάζεται να χρησιµοποιήσει και τον πόρο Π. Έστω τώρα ότι µια άλλη διεργασία Β, που έχει υπό την κατοχή της και χρησιµοποιεί τον Π, χρειάζεται, για να τερµατίσει και να ελευθερώσει τον Π, να χρησιµοποιήσει τον Π. Προφανώς, από κάποιο σηµείο και έπειτα, η εκτέλεση και των δύο διεργασιών θα σταµατήσει και για καµία από τις δύο δεν θα είναι εφικτό να συνεχίσει, αφού κάθε µια περιµένει µια ενέργεια που θα πρέπει να προκαλέσει η άλλη. Όταν οι δύο διεργασίες δεν µπορούν πλέον να εκτελεστούν, βρίσκονται σε αδιέξοδο. Είναι ευθύνη του διαχειριστή διεργασιών κάθε ΛΣ να χειρίζεται καταστάσεις αδιεξόδου (είτε επιλύοντας αδιέξοδα που προκύπτουν, είτε προλαµβάνοντας ή αποφεύγοντάς τα ώστε να µην προκύψουν, ή λαµβάνοντας κάποιου άλλου είδους ενέργειες προκειµένου να τα διαχειριστεί). Μέρος του διαχειριστή διεργασιών είναι και ο χρονοδροµολογητής διεργασιών, που αποφασίζει ποια διεργασία θα απασχολεί την ΚΜΕ κάθε χρονική στιγµή. Πολλά θέµατα που άπτονται του διαχειριστή διεργασιών θα συζητηθούν στα Κεφάλαια 2 και 3. Ένα δεύτερο σηµαντικό συστατικό ενός ΛΣ είναι ο διαχειριστής µνήµης. Μερικές από τις λειτουργίες για τις οποίες είναι υπεύθυνος ο διαχειριστής µνήµης είναι (1) η επιλογή των διεργασιών που βρίσκονται κάθε χρονική στιγµή στη µνήµη, (2) η χορήγηση µνήµης στις διεργασίες όταν τη χρειάζονται και διαχείριση του ελεύθερου χώρου που προκύπτει στη µνήµη όταν αυτές ολοκληρώνουν την εκτέλεσή τους, (3) η εναλλαγή πληροφοριών µεταξύ κύριας µνήµης και δίσκου όταν η κύρια µνήµη δεν επαρκεί για τις ανάγκες όλων των ενεργών διεργασιών, και (4) η διατήρηση πληροφοριών για τα µέρη της µνήµης που χρησιµοποιούνται, καθώς και για εκείνα που είναι αχρησιµοποίητα κάθε χρονική στιγµή. ιαφορετικές τεχνικές διαχείρισης µνήµης θα µελετηθούν αναλυτικά στο κεφάλαιο 4. 2 η έκδοση 17

18 1 ο Κεφάλαιο Εισαγωγή Το εκπαιδευτικό υλικό αυτό, ως εισαγωγικό στο χώρο των ΛΣ, επικεντρώνεται µόνο στα παραπάνω δύο σηµαντικά συστατικά των ΛΣ. Ωστόσο, ένα ΛΣ απαρτίζεται από πολύ περισσότερα συστατικά τα οποία αναφέρονται περιληπτικά στη συνέχεια. Κάθε διεργασία µπορεί να αποθηκεύει τα δεδοµένα της στην κύρια µνήµη. Ωστόσο, ο χώρος αυτός είναι περιορισµένος και για τις περισσότερες εφαρµογές δεν είναι αρκετός. Επιπρόσθετα όταν µια διεργασία τερµατίζει όλες οι πληροφορίες που γράφτηκαν από αυτήν στην κύρια µνήµη χάνονται. Για τους λόγους αυτούς, τα δεδοµένα χρειάζεται να αποθηκεύονται και σε δίσκους ή σε άλλα µέσα δευτερεύουσας αποθήκευσης, όπως τα CD, τα DVD, κλπ. Η λογική µονάδα αποθήκευσης στα µέσα αυτά ονοµάζεται αρχείο. Ένα αρχείο αποτελείται είτε από µια ακολουθία χαρακτήρων ή έχει κάποιου είδους µορφοποίηση (π.χ., είναι αρχείο εγγραφών). Τα αρχεία λειτουργούν αφαιρετικά ως προς τις ιδιαιτερότητες των συσκευών στις οποίες αποθηκεύονται. Το µέρος του ΛΣ που ονοµάζεται διαχειριστής αρχείων είναι υπεύθυνο για τη δηµιουργία και τη διαγραφή αρχείων, τον καθορισµό του είδους προσπέλασης που επιτρέπεται σε ένα αρχείο και την αποφυγή άλλου είδους παράνοµων προσπελάσεων σε αυτό, την οργάνωση των αρχείων σε καταλόγους, την παροχή κλήσεων συστήµατος για τη διαχείριση αρχείων, την αποθήκευση αρχείων στα διάφορα µέσα αποθήκευσης που παρέχονται στο σύστηµα, κ.α. Ένα άλλο σηµαντικό συστατικό ενός ΛΣ είναι ο διαχειριστής του συστήµατος Ε/Ε. Κάθε συσκευή Ε/Ε χρειάζεται, προκειµένου να λειτουργήσει, ειδικό λογισµικό που ονοµάζεται οδηγός της συσκευής (device driver). Το ΛΣ παρέχει µια σειρά από οδηγούς για τις συσκευές Ε/Ε του υπολογιστικού συστήµατος στο οποίο εκτελείται. Θα πρέπει να τονιστεί ωστόσο, πως πολλές φορές οι οδηγοί συσκευών δεν θεωρούνται µέρος του ΛΣ, εκτελούνται σε κατάσταση χρήστη και µπορούν να αντικατασταθούν από άλλους της αρεσκείας του χρήστη. Ο διαχειριστής δίσκου είναι ένα ακόµη συστατικό κάθε λειτουργικού συστήµατος. Ρόλος του είναι να διαχειρίζεται αποδοτικά και δίκαια το χώρο του δίσκου, ο οποίος είναι το σηµαντικότερο µέσο δευτερεύουσας αποθήκευσης. Τα περισσότερα ΛΣ παρέχουν επίσης µηχανισµούς διαχείρισης δικτύου που επιτρέπουν σε δύο ή περισσότερες µηχανές να επικοινωνήσουν µεταξύ τους. Τέλος, ένα ακόµη σηµαντικό µέρος ενός ΛΣ είναι και το σύστηµα προστασίας και ασφάλειας που παρέχει. Ένα µικρό (αλλά πολύ βασικό) µέρος του ΛΣ ονοµάζεται πυρήνας. Ο πυρήνας χτίζεται κατευθείαν πάνω στο υλικό του Η/Υ και είναι το περισσότερο εξαρτώµενο από τη µηχανή µέρος του ΛΣ. Στον πυρήνα συνήθως ανήκουν τα µέρη εκείνα του ΛΣ που υλοποιούν τις παρακάτω λειτουργίες: Χειρισµός διακοπών. ηµιουργία και τερµατισµός διεργασιών. Μέρος του χρονοδροµολογητή. Συντονισµός διεργασιών. Αναστολή και αφύπνιση διεργασιών. Υποστήριξη δραστηριοτήτων Ε/Ε. Υποστήριξη δέσµευσης και αποδέσµευσης µνήµης, κ.α. 2 η έκδοση 18

19 1 ο Κεφάλαιο Εισαγωγή Μέρος του πυρήνα είναι συχνά γραµµένο σε γλώσσα µηχανής (assembly). Τα τελευταία χρόνια παρουσιάζεται η τάση κάποια µέρη των ΛΣ να γράφονται σε µικροκώδικα (κώδικα στοιχειωδών εντολών, ενσωµατωµένο στο υλικό). Κάθε ΛΣ ακολουθείται από λογισµικό που είναι γνωστό ως διερµηνευτής εντολών ή φλοιός. Παρότι ο φλοιός δεν αποτελεί µέρος του ΛΣ, είναι ίσως το σηµαντικότερο πρόγραµµα που εκτελείται πάνω από αυτό, αφού παρέχει τη διεπιφάνεια χρήσης µεταξύ του χρήστη και του ΛΣ. Ο φλοιός δέχεται εντολές του χρήστη και ζητά από το ΛΣ να τις εκτελέσει. Ο φλοιός των Windows είναι το παραθυρικό περιβάλλον χρήσης που εµφανίζεται όταν εκτελούνται τα Windows. Σε άλλα ΛΣ, ο φλοιός δεν είναι τόσο εύχρηστος. Ο φλοιός εκτελείται σε κατάσταση χρήστη και µπορεί να αντικατασταθεί από οποιονδήποτε φλοιό της αρεσκείας του χρήστη. 1.6 Κατανεµηµένα Συστήµατα & Συστήµατα Πραγµατικού Χρόνου Ένα κατανεµηµένο σύστηµα αποτελείται από πολλούς επεξεργαστές που µπορούν να επικοινωνούν µεταξύ τους. Σε ένα κατανεµηµένο σύστηµα, ένας υπολογισµός µπορεί να εκτελεστεί µε συµµετοχή περισσότερων του ενός επεξεργαστών. Επίσης, προγράµµατα που εκτελούνται σε διαφορετικούς επεξεργαστές µπορούν να µοιράζονται δεδοµένα και άλλους πόρους. Μερικοί από τους λόγους που οδήγησαν στην δηµιουργία κατανεµηµένων συστηµάτων είναι ο διαµοιρασµός πόρων, η αύξηση της ταχύτητας εκτέλεσης µεγάλων υπολογισµών (αυτό γίνεται µε το διαχωρισµό ενός υπολογισµού σε µικρότερες εργασίες και τη χρήση περισσότερων του ενός επεξεργαστών για την εκτέλεσή τους), η αξιοπιστία (αν κάποιος επεξεργαστής αποτύχει, οι υπόλοιποι µπορούν να αναλάβουν τις εργασίες που εκτελούσε, ώστε ο χρήστης να µην καταλάβει ότι υπήρξε κάποιο πρόβληµα µε τον επεξεργαστή που ανέλαβε να διεκπεραιώσει τη διεργασία του), η επικοινωνία, κ.α. Οι στόχοι ενός κατανεµηµένου συστήµατος είναι αρκετά διαφορετικοί από εκείνους των συµβατικών συστηµάτων. Τα ΛΣ κατανεµηµένων συστηµάτων είναι ειδικά σχεδιασµένα για να ανταποκρίνονται στις υψηλές απαιτήσεις τους. Η µελέτη κατανεµηµένων ΛΣ δεν θα µας απασχολήσει στο εκπαιδευτικό υλικό αυτό. Αντίθετα, θα µελετήσουµε συστήµατα µε µία µόνο ΚΜΕ. Ωστόσο, ο πολυπρογραµµατισµός επιτρέπει την ταυτόχρονη εκτέλεση πολλών διεργασιών και επιφέρει προβλήµατα συγχρονισµού (όπως το πρόβληµα του αµοιβαίου αποκλεισµού που θα µελετηθεί στο Κεφάλαιο 3) που θεωρούνται θεµελιώδη στον κατανεµηµένο υπολογισµό. Σε ένα σύστηµα πραγµατικού χρόνου υπάρχουν καλά προκαθορισµένες χρονικές προθεσµίες για την εκτέλεση κάθε µιας από τις διεργασίες. Ο βασικότερος στόχος του ΛΣ είναι να καταφέρει να χρονοδροµολογήσει όλες τις διεργασίες µε τέτοιο τρόπο ώστε η εκτέλεση κάθε µιας να περατωθεί πριν τη λήξη της προθεσµίας της. Τα συστήµατα πραγµατικού χρόνου χρησιµοποιούνται όλο και συχνότερα τον τελευταίο καιρό, π.χ., στην ιατρική (για εγχειρίσεις µέσω υπολογιστών), στις µεταφορές (αυτόµατη πλοήγηση αεροσκάφους), κ.α. 2 η έκδοση 19

20 1 ο Κεφάλαιο Εισαγωγή 1.7 Για Περισσότερη Μελέτη Άσκηση Αυτοαξιολόγησης 1 (Μέρος Θέµατος 1, 4 η Εργασία Ακ. Έτους ) 1. Περιγράψτε τις βασικές ιδιότητες των παρακάτω τύπων λειτουργικών συστηµάτων: α) οµαδικής επεξεργασίας β) διαµοιρασµού χρόνου γ) πραγµατικού χρόνου 2. Για κάθε ένα από τα παρακάτω συστήµατα επιλέξτε τον τύπο λειτουργικού συστήµατος (i, ii ή iii) που κρίνετε ως πιο κατάλληλο. Σχολιάστε την επιλογή σας. α) Σύστηµα που χρησιµοποιείται από µια τράπεζα για επεξεργασία επιταγών και που απαιτεί ελάχιστη ανθρώπινη παρέµβαση. β) Σύστηµα που χρησιµοποιείται για την ιατρική παρακολούθηση ασθενών στη µονάδα εντατικής θεραπείας. γ) Σύστηµα που χρησιµοποιείται για παιχνίδια. δ) Σύστηµα που χρησιµοποιείται για ανάπτυξη εφαρµογών. 3. Ποιες από τις παρακάτω θα πρέπει να είναι προνοµιακές εντολές ενός λειτουργικού συστήµατος και γιατί; Λύση α) Αλλαγή της τιµής του ρολογιού του συστήµατος. β) Ανάγνωση της τιµής του ρολογιού του συστήµατος. γ) Καθαρισµός µνήµης δ) Απενεργοποίηση διακοπών ε) Αλλαγή από κατάσταση χρήστη σε κατάσταση επόπτη στ) Λειτουργίες Εισόδου/Εξόδου. 1. Βασικές ιδιότητες: α) ΛΣ Οµαδικής Επεξεργασίας. Οι εργασίες υποβάλλονται στον Η/Υ κατά οµάδες. εν είναι δυνατή η αλληλεπίδραση ανάµεσα στον χρήστη και στο πρόγραµµα κατά τη διάρκεια της επεξεργασίας. Ο χρόνος απόκρισης για κάθε χρήστη είναι το χρονικό διάστηµα από την υποβολή ως την παραλαβή της εργασίας. β) ΛΣ ιαµοιρασµού Χρόνου. Επιτρέπει την παράλληλη εξυπηρέτηση πολλών χρηστών. Επιτρέπει την αλληλεπίδραση των χρηστών µε τα προγράµµατά τους. 2 η έκδοση 20

21 1 ο Κεφάλαιο Εισαγωγή ιαµοιράζει τον χρόνο της ΚΜΕ µεταξύ των χρηστών, δηµιουργώντας την εντύπωση της παράλληλης επεξεργασίας. γ) ΛΣ Πραγµατικού Χρόνου. Εξυπηρετεί εργασίες που απαιτούν αυστηρά καθορισµένο όριο χρόνου απόκρισης. 2. Είναι φανερό ότι τα συστήµατα οµαδικής επεξεργασίας είναι τα απλούστερα, ενώ τα συστήµατα πραγµατικού χρόνου είναι τα συνθετότερα. Μια απλή εφαρµογή που µπορεί να εξυπηρετηθεί από ένα σύστηµα οµαδικής επεξεργασίας, είναι επόµενο να µπορεί επίσης να εξυπηρετηθεί και από ένα σύστηµα διαµοιρασµού χρόνου και από ένα σύστηµα πραγµατικού χρόνου. Έτσι, το ερώτηµα ουσιαστικά ζητάει τον απλούστερο τύπο ΛΣ που µπορεί να εξυπηρετήσει ικανοποιητικά την κάθε εφαρµογή. Λέµε «ικανοποιητικά» γιατί µια εξίσου σηµαντική παράµετρος για την επιλογή µας είναι η αποδοτικότητα. Για παράδειγµα, ένα σύστηµα που χρησιµοποιεί εξεζητηµένους αλγόριθµους χρονοδροµολόγησης, µπορεί πράγµατι να εξυπηρετήσει µια απλή εφαρµογή, όµως ενδεχοµένως να σπαταλά πολύ χρόνο για τη χρονοδροµολόγηση, χωρίς να χρειάζεται (επειδή η εφαρµογή είναι απλή). Σύµφωνα µε τα παραπάνω, οι καταλληλότερες επιλογές έχουν ως εξής: Το σύστηµα επεξεργασίας επιταγών µπορεί να εξυπηρετηθεί από ένα ΛΣ οµαδικής επεξεργασίας. εν απαιτείται αλληλεπίδραση µεταξύ του χρήστη και του συστήµατος κατά την επεξεργασία µιας επιταγής, ούτε η παράλληλη επεξεργασία των επιταγών. Το σύστηµα παρακολούθησης ασθενών αποτελεί κλασική εφαρµογή για ΛΣ πραγµατικού χρόνου. Μόλις γίνει αντιληπτή µια ανωµαλία στην κατάσταση κάποιου ασθενούς, το σύστηµα θα πρέπει αµέσως να διακόψει κάθε µικρότερης προτεραιότητας εργασία και να ανταποκριθεί µε αυστηρά καθορισµένα χρονικά περιθώρια στην κατάσταση. Οι παιχνιδοµηχανές είναι στην πραγµατικότητα πολύ απαιτητικά συστήµατα. Πρέπει να έχουν τη δυνατότητα να εξυπηρετούν παράλληλα πολλούς παίκτες, οι αντιδράσεις των οποίων θα πρέπει να επιδρούν στο παιχνίδι ακαριαία. Ένα ΛΣ πραγµατικού χρόνου απαιτείται για την υποστήριξη µιας ποιοτικής παιχνιδοµηχανής. Μια λιγότερο απαιτητική παιχνιδοµηχανή ενδεχοµένως να µπορούσε να υποστηριχθεί από ένα γρήγορο σύστηµα διαµοιρασµού χρόνου. Στο σύστηµα για ανάπτυξη εφαρµογών το κατάλληλο ΛΣ είναι αυτό του διαµοιρασµού χρόνου. Επιτρέπει την φαινοµενικά παράλληλη εκτέλεση πολλών εργασιών (π.χ., editor, help browser, παράθυρο εκτέλεσης προγράµµατος, κλπ), χωρίς να είναι κρίσιµος ο συγχρονισµός τους. 3. Η έννοια της προνοµιακής εντολής αφορά λειτουργίες οι οποίες για λόγους προστασίας δεν επιτρέπεται να εκτελούνται άµεσα από τις διεργασίες των χρηστών. α) Η αλλαγή της τιµής του ρολογιού του συστήµατος θα πρέπει να είναι προνοµιακή εντολή γιατί ο χρονισµός του συστήµατος είναι κρίσιµος παράγοντας για τη σωστή λειτουργία του (ας θυµηθούµε τη σχετική συζήτηση στην ενότητα «Προστασία ΚΜΕ»). 2 η έκδοση 21

22 1 ο Κεφάλαιο Εισαγωγή β) Η ανάγνωση του ρολογιού του συστήµατος δεν χρειάζεται να είναι προνοµιακή εντολή γιατί η ανάγνωση του ρολογιού του συστήµατος δεν είναι κρίσιµος παράγοντας για τη λειτουργία του συστήµατος. γ) Ο καθαρισµός µνήµης είναι λειτουργία Ε/Ε και, εποµένως, πρέπει να είναι προνοµιακή εντολή. δ) Η απενεργοποίηση διακοπών σαφώς και πρέπει να είναι προνοµιακή εντολή για να µην µπορεί µια διαδικασία να µονοπωλήσει τους πόρους του συστήµατος µε απενεργοποίηση των διακοπών. Ουσιαστικά, η παροχή στις διεργασίες χρήστη του δικαιώµατος απενεργοποίησης των διακοπών θα επέτρεπε σε αυτές να καταργούν το ΛΣ. ε) Η αλλαγή από κατάσταση χρήστη σε κατάσταση επόπτη θα πρέπει να είναι προνοµιακή εντολή, για τους λόγους προστασίας που έχουν ήδη συζητηθεί. ιαφορετικά µια διαδικασία χρήστη θα µπορούσε να περάσει από κατάσταση χρήστη σε κατάσταση επόπτη και στη συνέχεια να αποκτήσει πλήρη έλεγχο στο σύστηµα. στ) Οι λειτουργίες Εισόδου/Εξόδου πρέπει να είναι προνοµιακές εντολές για τους λόγους που συζητήθηκαν στην ενότητα «Προστασία Ε/Ε». 1.8 Βιβλιογραφικές Αναφορές Στο κεφάλαιο αυτό παρουσιάστηκε µια συνοπτική µόνο περιγραφή των βασικότερων εννοιών ενός ΛΣ. Πολλά κλασικά βιβλία των λειτουργικών συστηµάτων [BH73, D90, N00, SGG05, St03, TanΙ] παρέχουν αναλυτικότερες και πιο πλήρεις περιγραφές των εννοιών που παρουσιάστηκαν εδώ καθώς και άλλων που δεν κρίθηκε σκόπιµο να αναφερθούν. Οι πρώτες προσπάθειες κατασκευής ΛΣ που χρησιµοποιούσαν τις τεχνικές του πολυπρογραµµατισµού και του διαµοιρασµού χρόνου έγιναν στη δεκαετία του Η τεχνική του πολυπρογραµµατισµού εφαρµόστηκε αρχικά σε συστήµατα δέσµης. Τα συστήµατα διαµοιρασµού χρόνου προτάθηκαν στην εργασία [S59], αλλά πατέρας των συστηµάτων αυτών συχνά θεωρείται ο Fernando Corbató [CDD62] που ανέπτυξε το πρώτο τέτοιο σύστηµα και µελέτησε τη λειτουργία του. Όλα τα εισαγωγικά βιβλία της αρχιτεκτονικής υπολογιστών [St00, Tan90], αλλά και τα περισσότερα βιβλία της εισαγωγής στους υπολογιστές [GL96, N00] καλύπτουν την ύλη της Ενότητας 1. Βασικά θέµατα των κατανεµηµένων λειτουργικών συστηµάτων καλύπτονται στα βιβλία [G00, TanΙΙ]. Κλασικά βιβλία των κατανεµηµένων συστηµάτων θεωρούνται τα [CDK01, M93, TanS06], ενώ του κατανεµηµένου υπολογισµού τα [AW97, HS07, Lyn96, M93, T94]. 2 η έκδοση 22

23 2ο Κεφάλαιο ιεργασίες Χρονοδροµολόγηση ιεργασιών

24 2 ο Κεφάλαιο ιεργασίες Χρονοδροµολόγηση ιεργασιών 2.1 ιεργασίες Ο επικρατέστερος ορισµός της έννοιας της διεργασίας είναι πως είναι ένα πρόγραµµα που εκτελείται. Στον Τόµο Γ της θεµατικής ενότητας παρουσιάζονται πολλοί ακόµη ισοδύναµοι ορισµοί για την έννοια αυτή (εκεί χρησιµοποιείται ο όρος διαδικασία αντί του όρου διεργασία). Η κύρια διαφορά µιας διεργασίας από ένα πρόγραµµα είναι πως η διεργασία είναι µια ενεργή οντότητα, ενώ το πρόγραµµα παθητική. Για να γίνει πιο κατανοητή η διαφορά µεταξύ διεργασίας και προγράµµατος, ας φανταστούµε έναν πληροφορικάριο ο οποίος κάποια χρονική στιγµή συναρµολογεί έναν υπολογιστή. Έχει µπροστά του το εγχειρίδιο συναρµολόγησης και τα κοµµάτια του υπολογιστή και εκτελεί την συναρµολόγηση βάσει του εγχειριδίου. Στο παράδειγµά µας, ο πληροφορικάριος είναι ο επεξεργαστής (δηλαδή η ΚΜΕ), το εγχειρίδιο είναι το πρόγραµµα, και τα κοµµάτια του υπολογιστή είναι η είσοδος στο πρόγραµµα. Η έξοδος του προγράµµατος θα είναι ο συναρµολογηµένος υπολογιστής. ιεργασία είναι όλη η διαδικασία συναρµολόγησης του νέου υπολογιστή. Περιλαµβάνει το πρόγραµµα, την είσοδο, την έξοδο, τον αριθµό της εντολής του εγχειριδίου που εκτελείται κάθε χρονική στιγµή, κλπ. Αντίθετα, το πρόγραµµα, στο παράδειγµα µας, αποτελείται απλώς από το εγχειρίδιο (το οποίο µπορεί να βρίσκεται στη βιβλιοθήκη του πληροφορικάριου για µήνες, χωρίς να διαδραµατίζει κανένα ενεργό ρόλο, ή µπορεί να βρίσκεται αποθηκευµένο σε ένα αρχείο). Ένα πρόγραµµα µπορεί και να µην εκτελεστεί ποτέ. Έστω τώρα πως τη στιγµή της συναρµολόγησης, ο διευθυντής της εταιρίας στην οποία δουλεύει ο πληροφορικάριος του ζητά βοήθεια για να εγκαταστήσει ένα νέο εκτυπωτή στο γραφείο του. Στο σηµείο αυτό, ο πληροφορικάριος είναι σαν να δέχεται µια διακοπή. εδοµένου ότι η εγκατάσταση του εκτυπωτή του διευθυντή είναι διεργασία µεγαλύτερης προτεραιότητας, ο πληροφορικάριος αναστέλλει προσωρινά τη συναρµολόγηση του υπολογιστή, φροντίζοντας να θυµάται το σηµείο από όπου θα συνεχίσει όταν επιστρέψει και ξεκινά να εκτελεί τη νέα διεργασία που προέκυψε. 2.2 Καταστάσεις ιεργασιών Όπως έχει ήδη αναφερθεί, πολλές διεργασίες µπορεί να είναι έτοιµες να εκτελεστούν, αλλά µόνο µία είναι αυτή που απασχολεί κάθε χρονική στιγµή την ΚΜΕ. Η διεργασία αυτή λέγεται εκτελούµενη ή τρέχουσα. Οι διεργασίες που είναι έτοιµες να εκτελεστούν όταν η ΚΜΕ γίνει διαθέσιµη, λέγονται έτοιµες ή εκτελέσιµες, ενώ οι υπόλοιπες που περιµένουν κάποιο άλλο συµβάν (π.χ., την ολοκλήρωση µιας λειτουργίας Ε/Ε) λέγονται υπό αναστολή ή µπλοκαρισµένες. Εποµένως, υπάρχουν τρεις βασικές καταστάσεις στις οποίες µπορεί να βρίσκεται µια διεργασία: εκτελούµενη, έτοιµη ή υπό αναστολή. Το Σχήµα 3 αναπαριστά το γράφηµα καταστάσεων µιας διεργασίας. Κάθε διεργασία αρχικά είναι σε κατάσταση έτοιµη. Όταν της αποδοθεί η ΚΜΕ, γίνεται εκτελούµενη. Ενόσω εκτελείται, µπορεί να θελήσει να εκτελέσει κάποια λειτουργία Ε/Ε, οπότε µεταπίπτει σε κατάσταση υπό αναστολή (και να είχε την ΚΜΕ δεν θα µπορούσε να την χρησιµοποιήσει πριν την περάτωση της λειτουργίας Ε/Ε). Κάποια στιγµή αργότερα, που η λειτουργία Ε/Ε θα ολοκληρωθεί, η διεργασία θα ξαναγίνει έτοιµη και θα 2 η έκδοση 24

25 2 ο Κεφάλαιο ιεργασίες Χρονοδροµολόγηση ιεργασιών ξαναεκτελεστεί αργότερα στην ΚΜΕ. Εναλλακτικά, ενόσω εκτελείται, η διεργασία µπορεί να διακοπεί από τον χρονοδροµολογητή, ο οποίος αποφασίζει πως η διεργασία έχει ήδη εκτελεστεί για αρκετά µεγάλο χρονικό διάστηµα και θα πρέπει να παραχωρήσει την ΚΜΕ σε κάποια άλλη διεργασία. Στην περίπτωση αυτή, η κατάσταση της διεργασίας αλλάζει από εκτελούµενη σε έτοιµη. Η κατάσταση µιας διεργασίας είναι σύνηθες να αλλάζει ένα µεγάλο αριθµό φορών από την εισαγωγή της στο σύστηµα µέχρι τον τερµατισµό της. Το Σχήµα 3 περιγράφει τις καταστάσεις µιας διεργασίας καθώς και τις δυνατές µεταβάσεις από µια κατάσταση σε κάποια άλλη. εκτελούµενη αν η εκτελούµενη διεργασία τερµατίσει εξέρχεται του συστήµατος ο δροµολογητής µπορεί να εναλάσσει διεργασίες από και προς την ΚΜΕ αν η εκτελούµενη διεργασία ζητήσει την εκτέλεση Ε/Ε ή αναµένει κάποιο γεγονός, θα ανασταλεί έτοιµη ή εκτελέσιµη κάθε νέα διεργασία που εισέρχεται στο σύστηµα είναι εκτελέσιµη όταν η Ε/Ε (ή το γεγονός) πραγµατοποιηθεί θα προκληθεί διακοπή και η διεργασία θα ξαναγίνει εκτελέσιµη µπλοκαρισµένη ή υπό αναστολή Σχήµα 3: Γράφηµα καταστάσεων διεργασίας. 2.3 Το Μπλοκ Ελέγχου ιεργασιών Η εκτελούµενη διεργασία χρησιµοποιεί τους καταχωρητές του συστήµατος, ενώ ενδεχόµενα έχει υπό την κατοχή της και άλλους πόρους. Ο µετρητής προγράµµατος περιέχει τη διεύθυνση της επόµενης εντολής που πρέπει να εκτελεστεί από τη διεργασία (έστω ότι η διεργασία ονοµάζεται Α). Προφανώς, αν µια νέα διεργασία (έστω Β) την αντικαταστήσει στην ΚΜΕ, θα χρησιµοποιήσει και αυτή µε αντίστοιχο τρόπο τους καταχωρητές και τους υπόλοιπους πόρους του συστήµατος, καταστρέφοντας τις πληροφορίες που είχαν αποθηκευθεί εκεί από την Α. Το ΛΣ θα πρέπει εποµένως να διατηρήσει αρκετές πληροφορίες για την Α, πριν την αντικαταστήσει στην ΚΜΕ, ώστε όταν αποδοθεί η ΚΜΕ στη Β, να εξακολουθήσει να είναι εφικτή η επανεκτέλεση της Α κάποια χρονική στιγµή στο µέλλον από το σηµείο ακριβώς που διακόπηκε. (Ας θυµηθούµε το παράδειγµα µε τον πληροφορικάριο, ο οποίος θα πρέπει να θυµάται το σηµείο στο οποίο διακόπηκε η συναρµολόγηση του υπολογιστή, προκειµένου να τη 2 η έκδοση 25

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

Διαβάστε περισσότερα

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

Διαβάστε περισσότερα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3. Λειτουργικό Σύστηµα 3. Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός

Διαβάστε περισσότερα

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

Διαβάστε περισσότερα

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (1/2)» ροµολόγηση σε συστήµατα µε έναν επεξεργαστή ροµολόγηση σε πολυεπεξεργαστικά συστήµατα ροµολόγηση σε κατανεµηµένα

Διαβάστε περισσότερα

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

Διαβάστε περισσότερα

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το του Υπολογιστή 1. Τι ονομάζεται Πρόγραμμα; Είναι οι οδηγίες που δίνονται στον υπολογιστή για να εξηγήσουμε πώς γίνεται μια εργασία (δηλαδή η

Διαβάστε περισσότερα

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

Διαβάστε περισσότερα

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

Διαβάστε περισσότερα

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Το Υλικό των Η/Υ. ΗΜ/ΝΙΑ : 29/10/-2/11/2001 ΤΜΗΜΑ : Επιµορφούµενοι καθηγητές Πληρ/κής. Γυµνάσιο Τάξη Β :

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Το Υλικό των Η/Υ. ΗΜ/ΝΙΑ : 29/10/-2/11/2001 ΤΜΗΜΑ : Επιµορφούµενοι καθηγητές Πληρ/κής. Γυµνάσιο Τάξη Β : ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Το Υλικό των Η/Υ ΗΜ/ΝΙΑ : 29/10/-2/11/2001 ΤΜΗΜΑ : Επιµορφούµενοι καθηγητές Πληρ/κής. Γυµνάσιο Τάξη Α : Τάξη Β : Εν. Λύκειο : 1) Το υλικό ενός υπολογιστικού συστήµατος 2) Το υπολογιστικό

Διαβάστε περισσότερα

Χαράλαμπος Καραγιαννίδης

Χαράλαμπος Καραγιαννίδης Διάλεξη 4 Λειτουργικό Σύστημα & Λογισμικό Εφαρμογών H/Y Εισαγωγή στις Εφαρμογές ΤΠΕ Χαράλαμπος Καραγιαννίδης karagian@uth.gr Διάλεξη 4: Λειτουργικό Σύστημα & Εφαρμογές 1/41 20/10/2015 Σύνοψη Μαθήματος

Διαβάστε περισσότερα

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ Σημειώσεις Θεωρίας Αθήνα 2015 Μάθημα 1: Λειτουργικά Συστήματα 1.1 Γενικά Κάθε υπολογιστικό σύστημα αποτελείται από: Υπολογιστικό Σύστημα Υλικό (Hardware) Λογισμικό

Διαβάστε περισσότερα

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Κεφάλαιο 6 Αδιέξοδο Μόνιµη αναµονή ενός συνόλου διεργασιών οι οποίες ανταγωνίζονται για πόρους του συστήµατος ή για να επικοινωνήσουν µεταξύ τους εν υπάρχει

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA 1. Εισαγωγή Τι είναι Νήµα; Κάθε νήµα εκτέλεσης είναι ουσιαστικά

Διαβάστε περισσότερα

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών Εισαγωγή Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52,

Διαβάστε περισσότερα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

Διαβάστε περισσότερα

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

Λειτουργικά Συστήµατα Λειτουργικά Συστήµατα Κεφάλαιο 2 Τι είναι ένα Λειτουργικό Σύστηµα(Λ.Σ.) Είναι µια επεκταµένη µηχανή Κρύβει τις λεπτοµέρειες που πραγµατοποιούνται κατά την εκτέλεση Προσφέρει στο χρήστη µια απλούστερη εικονική

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

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

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

Διαβάστε περισσότερα

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06 Τεχνολογικά Επιτεύγµατα Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Ανάπτυξη ισχυρών µικροεπεξεργαστών ηµιουργία τοπικών δικτύων υψηλών ταχυτήτων «Εισαγωγή στα Κατανεµηµένα Λειτουργικά Συστήµατα»

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU)

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU) Στόχοι Κεφαλάιου Κεφάλαιο 5 οµή Η/Υ Nell Dale John Lewis Περιγραφή των συστατικών και της λειτουργίας τους µιας µηχανής von Neumann Περιγραφή τού κύκλου "φέρε-αποκωδικοποίησεεκτέλεσε" µιας µηχανής von

Διαβάστε περισσότερα

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

Διαβάστε περισσότερα

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System) Υλικό Hardware Λογισμικό Software... κώδικας ΥΛΙΚΟ Κάθε ηλεκτρονικό, ηλεκτρικό και μηχανικό μέρος του Η/Υ. ΛΟΓΙΣΜΙΚΟ Προγράμματα,δηλαδή οδηγίες γιατοτιπρέπεινακάνειοη/υ. Λειτουργικό Σύστημα Είναι ένα βασικό

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 6 : Αδιέξοδο 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

Διαβάστε περισσότερα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Microsoft WINDOWS (95-98-NT-2000-XP)

ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Microsoft WINDOWS (95-98-NT-2000-XP) ΤΜΗΜΑ ΦΥΣΙΚΗΣ Α.Π.Θ. ΕΡΓΑΣΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Microsoft WINDOWS (95-98-NT-2000-XP) Κ. Παρασκευόπουλος Αναπλ. Καθηγητής Θεσσαλονίκη 2004 1. Μερικά κλασσικά ερωτήματα

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

Διαβάστε περισσότερα

Αρχιτεκτονική Μνήµης

Αρχιτεκτονική Μνήµης ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Μνήµης Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE ΜΑΘΗΜΑ 1- MULTIPLE CHOICE 1. Ποιος τύπος Η/Υ χρησιμοποιείται για την λειτουργία συστημάτων και βάσεων δεδομένων μεγάλων εταιρειών; a) Επιτραπέζιος Η/Υ b) Προσωπικός Ψηφιακός Βοηθός c) Μεγάλο σύστημα d)

Διαβάστε περισσότερα

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

Διαβάστε περισσότερα

Συστήματα Πληροφοριών Διοίκησης Ενότητα 3: Τεχνολογία υπολογιστικών συστημάτων

Συστήματα Πληροφοριών Διοίκησης Ενότητα 3: Τεχνολογία υπολογιστικών συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Συστήματα Πληροφοριών Διοίκησης Ενότητα 3: Τεχνολογία υπολογιστικών συστημάτων Διονύσιος Γιαννακόπουλος, Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ KAI ΧΡΗΣΗΣ «ΓΛΩΣΣΑ Α-Γ ΓΥΜΝΑΣΙΟΥ»

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ KAI ΧΡΗΣΗΣ «ΓΛΩΣΣΑ Α-Γ ΓΥΜΝΑΣΙΟΥ» ΥΠΕΠΘ / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ ΕΡΓO ΣΥΓΧΡΗΜΑΤΟ ΟΤΟΥΜΕΝO ΚΑΤΑ 80% ΑΠΟ ΤΟ ΕΚΤ ΚΑΙ ΚΑΤΑ 20% ΑΠΟ ΕΘΝΙΚΟΥΣ ΠΟΡΟΥΣ «ράσεις Υποστήριξης

Διαβάστε περισσότερα

Εφαρμογές μικροελεγκτών

Εφαρμογές μικροελεγκτών Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα

Διαβάστε περισσότερα

Τοµέας Εϖιµόρφωσης & Κατάρτισης

Τοµέας Εϖιµόρφωσης & Κατάρτισης ικαιούχος Φορέας Συµπράττοντες Επιστηµονικοί Φορείς Οδηγίες για την πιστοποίηση των εκπαιδευτικών Τοµέας Εϖιµόρφωσης & Κατάρτισης Αθήνα, Νοέµβριος 2010 Περιεχόµενα 1 ΓΕΝΙΚΕΣ Ο ΗΓΙΕΣ... 3 1.1 Η εξέταση...

Διαβάστε περισσότερα

Σύστηµα Αρχείων και Καταλόγων

Σύστηµα Αρχείων και Καταλόγων ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος

Διαβάστε περισσότερα

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή

Διαβάστε περισσότερα

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2 MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2 1. Ποιος τύπος Η/Υ χρησιμοποιείται για την λειτουργία συστημάτων και βάσεων δεδομένων μεγάλων εταιρειών; a) Επιτραπέζιος Η/Υ b) Προσωπικός Ψηφιακός Βοηθός c) Μεγάλο

Διαβάστε περισσότερα

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων Εισαγωγή Χαρακτηρισµός Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο Κύπρου

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

Διαβάστε περισσότερα

Οδηγίες EQL Desktop (rev.1.0.23) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Οδηγίες EQL Desktop (rev.1.0.23) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ Οδηγίες EQL Desktop (rev.1.0.23) Πρόγραμμα για τον Προγραμματισμό των Μηχανών D.P.S. S-800, Open Cash και S-710 μέσω Ηλεκτρονικού Υπολογιστή ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB Εγκατάσταση ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Διαβάστε περισσότερα

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Συστήματα πολυμέσων Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 03-1 Εισαγωγή

Διαβάστε περισσότερα

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Προπτυχιακό Πρόγραμμα Σπουδών Πληροφορική - ΠΛΗ 11-2005 - 06 ΕΠΑΝΑΛΗΠΤΙΚΗ ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 8 ΙΟΥΛΙΟΥ 2006 ΜΕΡΟΣ Α'. ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΩΝ ΕΠΙΛΟΓΩΝ [ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 45 ] Σε κάθε ερώτηση απαντάτε επιλέγοντας

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Παρουσιάσεις

ΚΕΦΑΛΑΙΟ 5. Παρουσιάσεις Κεφάλαιο 1 Κεφάλαιο 5 Εισαγωγικές έννοιες πληροφορικής. Χρήση Η/Υ και Γραφικό περιβάλλον επικοινωνίας ΚΕΦΑΛΑΙΟ 5 Η επιτυχία ή αποτυχία µιας παρουσίασης εξαρτάται από ένα µεγάλο αριθµό παραγόντων και σχεδόν

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

Διαβάστε περισσότερα

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης Slide Recorder

Εγχειρίδιο Χρήσης Slide Recorder Εγχειρίδιο Χρήσης Slide Recorder Αναπτύχθηκε στο Κέντρο Λειτουργίας Διαχείρισης Δικτύου, Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Προγραμματιστής: Γιώργος Φράγκος Περιεχόμενα Εγχειρίδιο Χρήσης Slide

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

Διαβάστε περισσότερα

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

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ TfiÌÔ B' ÏÔ apple Ú ÎË ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα APXEΣ TEXNOΛOΓIAΣ

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήµη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή Θα δούµε την οργάνωση ενός υπολογιστή Στον επόµενο µάθηµα θα δούµε πως συνδέονται πολλοί Η/Υ για να σχηµατίσουν

Διαβάστε περισσότερα

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

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003.1 - Επιστήµη της Πληροφορικής και Πληροφοριακά Συστήµατα Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Τελική Εξέταση: Σάββατο - 04/12/10, Ώρα: 08:30-11:30,

Διαβάστε περισσότερα