Βασίλης ΒλάχοςΕξεταστική Επιτροπή

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

Download "Βασίλης ΒλάχοςΕξεταστική Επιτροπή"

Transcript

1 Πανεπιστήµιο Πατρών Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών & Πληροφορικής ιπλωµατική Εργασία Ταυτόχρονη ιαχείριση ιεργασιών σε Ενσωµατωµένα Συστήµατα Εφαρµόσιµη σε Οδηγό Πολυµεσικών Εφαρµογών Βασίλης ΒλάχοςΕξεταστική Επιτροπή Καθηγητής κ. Κ. Γκούτης Αναπ. Καθηγητής κ. Σ. Κουµπιάς Αναπ. Καθηγητής κ.. Σερπάνος Μεταπτυχιακό Πρόγραµµα Σπουδών «Ολοκληρωµένα Συστήµατα Υλικού Λογισµικού» ΠΜΣ-ΟΣΥΛ 1

2 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1 ΕΙΣΑΓΩΓΗ ΓΕΝΙΚΕΣ ΑΡΧΕΣ ΑΛΓΟΡΙΘΜΩΝ SCHEDULING ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΓΕΝΙΚΟΥ ΣΚΟΠΟΥ ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΑΛΓΟΡΙΘΜΟΙ SCHEDULING STATIC TABLE DRIVEN SCHEDULING STATIC PRIORITY DRIVEN SCHEDULING DYNAMIC PLANNING BASED SCHEDULING DYNAMIC BEST EFFORT SCHEDULING ΑΞΙΟΛΟΓΗΣΗ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΕΙΣΑΓΩΓΗ VIRTUOSO PSOSYSTEM RTXC EMBEDIX QNX RTEMS UCR ECOS ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΒΑΣΙΖΟΜΕΝΑ ΣΤΟ LINUX RTLINUX EMBEDIX ELINOS RED-LINUX UCLINUX RTAI LINUX ΣΥΜΠΕΡΑΣΜΑΤΑ ΑΞΙΟΛΟΓΗΣΗΣ

3 4 ΜΕΘΟ ΟΛΟΓΙΕΣ DTSE ΚΑΙ TCM DATA TRANSFER AND STORAGE EXPLORATION ΜΕΘΟ ΟΛΟΓΙΑ Η ΜΕΘΟ ΟΛΟΓΙΑ TCM ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΑΛΓΟΡΙΘΜΟΥ SCHEDULING ΣΤΑ ΠΛΑΙΣΙΑ ΤΗΣ ΜΕΘΟ ΟΛΟΓΙΑΣ TCM ΓΙΑ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΓΕΝΕΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ SCHEDULING ΑΛΓΟΡΙΘΜΟΣ SCHEDULING ΒΑΣΙΖΟΜΕΝΟΣ ΣΕ ΜΕΙΚΤΟ ΑΚΕΡΑΙΟ ΓΡΑΜΜΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (MILP) ΕΥΡΗΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ SCHEDULING ΕΠΕΚΤΑΜΕΝΟΣ ΕΥΡΗΣΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ SCHEDULING ΣΥΜΠΕΡΑΣΜΑΤΑ

4 ΠΙΝΑΚΑΣ ΣΧΗΜΑΤΩΝ ΣΧΉΜΑ 1. ΤΥΠΙΚΌ ΠΑΡΆ ΕΙΓΜΑ SOC...47 ΣΧΉΜΑ 2. ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΙΚΉ ΠΛΑΤΦΌΡΜΑ ΜΕ 4 ΕΠΕΞΕΡΓΑΣΤΈΣ...51 ΣΧΉΜΑ 3. ΣΥΝ ΥΑΣΜΌΣ DESIGN TIME SCHEDULER ΚΑΙ RUN TIME SCHEDULER...53 ΣΧΉΜΑ 5. ΠΕΡΙΓΡΑΦΉ ΤΗΣ ΜΕΘΟ ΟΛΟΓΊΑΣ TCM...55 ΣΧΉΜΑ 6. ΥΠΟΛΟΓΙΣΜΌΣ ΤΟΥ ΦΟΡΤΊΟΥ ΕΝΌΣ ΚΌΜΒΟΥ ΜΕ ΒΆΣΗ ΤΟ ΒΆΡΟΣ ΤΩΝ ΕΞΑΡΤΏΜΕΝΩΝ ΚΌΜΒΩΝ...60 ΣΧΉΜΑ 8. ΠΛΑΤΦΌΡΜΑ 4 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΣΤΡΑΤΗΓΙΚΏΝ ΦΟΡΤΊΟΥ- ΒΆΡΟΥΣ ΣΧΉΜΑ 9. ΠΛΑΤΦΌΡΜΑ 6 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΣΤΡΑΤΗΓΙΚΏΝ ΦΟΡΤΊΟΥ- ΒΆΡΟΥΣ ΣΧΉΜΑ 10. ΠΛΑΤΦΌΡΜΑ 8 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΣΤΡΑΤΗΓΙΚΏΝ ΦΟΡΤΊΟΥ- ΒΆΡΟΥΣ ΣΧΉΜΑ 11. ΠΛΑΤΦΌΡΜΑ 4 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ. ΠΡΏΤΗ ΦΆΣΗ ΣΧΉΜΑ 12. ΠΛΑΤΦΌΡΜΑ 6 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ. ΠΡΏΤΗ ΦΆΣΗ ΣΧΉΜΑ 13. ΠΛΑΤΦΌΡΜΑ 8 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ. ΠΡΏΤΗ ΦΆΣΗ ΣΧΉΜΑ 14. ΨΕΥ ΟΚΏ ΙΚΑΣ ΤΟΥ ΑΡΧΙΚΟΎ ΕΥΡΗΣΤΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΣΧΉΜΑ 15. ΨΕΥ ΟΚΏ ΙΚΑΣ ΤΟΥ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΌΡΙΘΜΟΥ ΜΕ ΤΗΝ ΠΡΟΣΘΉΚΗ ΤΟΥ «ΕΥΝΟΟΎΜΕΝΟΥ» ΕΠΕΞΕΡΓΑΣΤΉ...69 ΣΧΉΜΑ 16. ΠΛΑΤΦΌΡΜΑ 4 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ. ΕΎΤΕΡΗ ΦΆΣΗ ΣΧΉΜΑ 17. ΠΛΑΤΦΌΡΜΑ 6 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ. ΕΎΤΕΡΗ ΦΆΣΗ ΣΧΉΜΑ 18. ΠΛΑΤΦΌΡΜΑ 8 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ. ΕΎΤΕΡΗ ΦΆΣΗ ΣΧΉΜΑ 19. ΨΕΥ ΟΚΏ ΙΚΑΣ ΤΟΥ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΌΡΙΘΜΟΥ ΣΤΗΝ ΤΕΛΙΚΉ ΤΟΥ ΜΟΡΦΉ ΣΧΉΜΑ 20. ΠΛΑΤΦΌΡΜΑ 4 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ, ΠΛΉΡΩΣ ΒΕΛΤΙΣΤΟΠΟΙΗΜΈΝΟΥ

5 ΣΧΉΜΑ 21. ΠΛΑΤΦΌΡΜΑ 6 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ, ΠΛΉΡΩΣ ΒΕΛΤΙΣΤΟΠΟΙΗΜΈΝΟΥ ΣΧΉΜΑ 22. ΠΛΑΤΦΌΡΜΑ 8 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΜΕΤΑΞΎ ΑΡΧΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ, ΠΛΉΡΩΣ ΒΕΛΤΙΣΤΟΠΟΙΗΜΈΝΟΥ ΣΧΉΜΑ 23. ΠΛΑΤΦΌΡΜΑ 4 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΟΙ ΒΕΛΤΙΣΤΟΠΟΙΉΣΕΙΣ ΤΟΥ ΕΠΕΚΤΑΜΈΝΟΥ ΕΥΡΗΣΤΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΒΉΜΑ ΠΡΟΣ ΒΉΜΑ...75 ΣΧΉΜΑ 24. ΠΛΑΤΦΌΡΜΑ 6 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΟΙ ΒΕΛΤΙΣΤΟΠΟΙΉΣΕΙΣ ΤΟΥ ΕΠΕΚΤΑΜΈΝΟΥ ΕΥΡΗΣΤΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΒΉΜΑ ΠΡΟΣ ΒΉΜΑ...76 ΣΧΉΜΑ 25. ΠΛΑΤΦΌΡΜΑ 8 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΟΙ ΒΕΛΤΙΣΤΟΠΟΙΉΣΕΙΣ ΤΟΥ ΕΠΕΚΤΑΜΈΝΟΥ ΕΥΡΗΣΤΙΚΟΎ ΑΛΓΟΡΊΘΜΟΥ ΒΉΜΑ ΠΡΟΣ ΒΉΜΑ...76 ΣΧΉΜΑ 26. ΠΛΑΤΦΌΡΜΑ 4 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΑΡΧΙΚΟΎ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ ΒΑΣΙΖΌΜΕΝΗ ΣΕ ΠΛΉΡΩΣ ΣΕΙΡΙΑΚΉ ΕΦΑΡΜΟΓΉ OPENGL ΣΧΉΜΑ 27. ΠΛΑΤΦΌΡΜΑ 6 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΑΡΧΙΚΟΎ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ ΒΑΣΙΖΌΜΕΝΗ ΣΕ ΠΛΉΡΩΣ ΣΕΙΡΙΑΚΉ ΕΦΑΡΜΟΓΉ OPENGL ΣΧΉΜΑ 28. ΠΛΑΤΦΌΡΜΑ 8 ΕΠΕΞΕΡΓΑΣΤΏΝ. ΣΎΓΚΡΙΣΗ ΑΡΧΙΚΟΎ ΚΑΙ ΕΠΕΚΤΑΜΈΝΟΥ ΑΛΓΟΡΊΘΜΟΥ ΒΑΣΙΖΌΜΕΝΗ ΣΕ ΠΛΉΡΩΣ ΣΕΙΡΙΑΚΉ ΕΦΑΡΜΟΓΉ OPENGL

6 1 Εισαγωγή Η εξέλιξη της τεχνολογίας τα τελευταία χρόνια έχει επιτρέψει την δηµιουργία µιας νέας γενιάς προηγµένων ηλεκτρονικών συσκευών. Κύρια χαρακτηριστικά αυτής της κατηγορίας συσκευών είναι ότι διαθέτουν ελάχιστο όγκο και βάρος, ενσωµατώνουν ισχυρότατους επεξεργαστές και υποσυστήµατα, ενώ µεταφέρονται ιδιαίτερα εύκολα. Οι συσκευές αυτές καλύπτουν ένα ευρύτατο φάσµα των ανθρώπινων δραστηριοτήτων, αφού έχουν καταστεί αναπόσπαστο τµήµα της καθηµερινότητας. Το κινητό τηλέφωνο, οι φορητοί υπολογιστές, οι φορητές τηλεοράσεις καθώς και οι συσκευές αναπαραγωγής κωδικοποιηµένης (συνήθως µε βάση το πρότυπο MP3) ή µη µουσικής είναι ελάχιστα µόνο παραδείγµατα τέτοιων εξελιγµένων συσκευών που χρησιµοποιούνται σχεδόν καθολικά. Είναι ιδιαίτερα σηµαντικό να γίνει κατανοητό ότι τα προηγούµενα παραδείγµατα αποτελούν ένα µικρό µόνο υποσύνολο των συστηµάτων που αναπτύσσονται και θα διατεθούν στο ευρύ κοινό τα επόµενα χρόνια. Πέρα από την ενσωµάτωση νέων λειτουργιών στα υπάρχοντα συστήµατα, όπως για παράδειγµα η αναπαραγωγή video από τα κινητά τηλέφωνα, αναµένονται εντελώς νέες πρωτοποριακές κατασκευές µε υπολογιστές που θα έχουν την δυνατότητα να φοριούνται από τον κάτοχο τους και να επιτελούν πλήθος ανέφικτων µέχρι σήµερα λειτουργιών. Τέτοιες λειτουργίες µπορεί να είναι από την παρακολούθηση της υγείας του κατόχου της συσκευής µέχρι και εφαρµογές αυτόµατων µεταφραστών. Το συµπέρασµα το οποίο αβίαστα προκύπτει είναι ότι αν έως τώρα η εξάπλωση τέτοιων συστηµάτων ήταν ραγδαία, τα επόµενα χρόνια θα είναι καταιγιστική. Από τεχνικής πλευράς η σχεδίαση τέτοιων συστηµάτων αποτελεί µεγάλη πρόκληση. Οι εφαρµογές που αναφέρθηκαν παραπάνω απαιτούν ισχυρότατους επεξεργαστές, ταχύτατες και µεγάλου µεγέθους µνήµες καθώς και διάφορα άλλα υποσυστήµατα τα οποία σχετίζονται άµεσα µε το είδος των 6

7 εφαρµογών που εκτελούνται. Οι συσκευές αυτές στην συντριπτική τους πλειοψηφία είναι µικρών διαστάσεων, φορητές ενώ πραγµατοποιούν µια ή περισσότερες συγκεκριµένες λειτουργίες. Θα αναφερόµαστε εφ εξής σε αυτά τα συστήµατα ως ενσωµατωµένα συστήµατα (embedded systems). Οι εξελίξεις στην περιοχή της ολοκλήρωσης κυκλωµάτων επιτρέπουν την κατασκευή επεξεργαστών µε πολλές δεκάδες εκατοµµύρια τρανζίστορ ανοίγοντας νέες προοπτικές στους µηχανικούς που σχεδιάζουν τέτοια συστήµατα. Η τάση που επικρατεί πλέον σε αυτό το χώρο υπαγορεύει την ενσωµάτωση ενός ή συνήθως περισσότερων επεξεργαστών, µνήµης καθώς και των υπόλοιπων υποσυστηµάτων σε ένα µόνο chip και περιγράφεται χαρακτηριστικά µε τον όρο System On Chip ή εν συντοµία SoC. Το µεγαλύτερο πρόβληµα που έχει ανακύψει στο χώρο το ενσωµατωµένων συστηµάτων σχετίζεται µε την κατανάλωση ενέργειας. Αναφέρθηκε παραπάνω ότι η χρησιµοποίηση ισχυρότατων επεξεργαστών είναι απαραίτητη προκείµενου να ικανοποιηθούν οι απαιτήσεις των πολύπλοκων εφαρµογών. Επιπλέον επειδή τα συστήµατα αυτά εµπεριέχονται σε φορητές συσκευές επιτάσσουν την ανάπτυξη µεθοδολογιών για την µεγιστοποίηση της αυτονοµίας τους, δηλαδή της λειτουργίας τους χωρίς την παροχή εξωτερικής τροφοδοσίας. H ελαχιστοποίηση της καταναλισκόµενης ενέργειας µπορεί να επιτευχθεί τόσο µέσω των εξελίξεων στην περιοχή του υλικού, όσο και µέσω των κατάλληλων µετατροπών του λογισµικού. Συγκεκριµένα η αύξηση του βαθµού ολοκλήρωσης επιτρέπει την κατασκευή τρανζίστορ µεγέθους 0.13 µm. Τα τρανζίστορ αυτά σαφώς καταναλώνουν σηµαντικότερα λιγότερη ενέργεια. Επιπλέον η έρευνα που πραγµατοποιείται στο επίπεδο της ατοµικής φυσικής έχει οδηγήσει στην παραγωγή υλικών που συµπεριφέρονται πολύ καλύτερα όταν χρησιµοποιούνται στην κατασκευή chip. Επιπρόσθετα σηµαντικές είναι και οι βελτιώσεις που εφαρµόζονται στην κατασκευή µπαταριών προσφέροντας µεγαλύτερη αυτονοµία. Οι προσεγγίσεις αυτές παρ ότι δίνουν ενθαρρυντικά αποτελέσµατα προσκρούουν σε ορισµένα εµπόδια τα οποία δύσκολα θα µπορέσουν να υπερπηδηθούν. Συγκεκριµένα ο νόµος του Moore ορίζει ότι κάθε 18 µήνες η υπολογιστική ισχύς των επεξεργαστών διπλασιάζετε, κάτι που θα µπορούσε να ερµηνευθεί ως ότι η κατασκευή µικρότερου µεγέθους τρανζίστορ κινείται 7

8 εντός αυτών των χρονικών πλαισίων. Παρόµοιοι περιορισµοί υφίστανται και στην κατασκευή των µπαταριών οπού πολύ δύσκολα θα µπορούσε κανείς να θεωρήσει ότι είναι εφικτός ο πολλαπλασιασµός της χωρητικότητας τους µέσα στο προσεχές µέλλον. Η πλέον σύγχρονη αντιµετώπιση του προβλήµατος της ελαχιστοποίησης της ενέργειας βασίζεται στην άποψη ότι µετατρέποντας το υπάρχον λογισµικό είναι δυνατόν να µειωθεί η κατανάλωση της ενέργείας κατά αρκετές τάξης µεγέθους. Γίνεται άµεσα αντιληπτό ότι η τα οφέλη από την προσέγγιση αυτή είναι σαφώς πολλαπλάσια από τα αντίστοιχα που προκύπτουν από τις βελτιστοποιήσεις στο χώρο του υλικού. Στα πλαίσια αυτής της εργασίας θα παρουσιαστούν συνοπτικά οι διάφορες µεθοδολογίες για την ανάπτυξη ή µετατροπή λογισµικού προκειµένου να ελαχιστοποιηθεί η καταναλισκόµενη ενέργεια του συστήµατος και θα προταθεί ένας βελτιωµένος αλγόριθµος scheduling για τον χρονοπρογραµµατισµό των διαφόρων διεργασιών λαµβάνοντας υπόψη και την ενεργειακή κατανάλωση τους. Ο προτεινόµενος αλγόριθµος συµπεριφέρεται σαφώς καλύτερα από του προϋπάρχοντες γενετικούς και ευρηστικούς αλγορίθµους όπως θα αποδειχθεί τόσο θεωρητικά όσο και πειραµατικά. Η έρευνα αυτή πραγµατοποιήθηκε κατά την διαµονή του συγγραφέα στο ερευνητικό κέντρο της Imec, στο Leuven του Βελγίου σε συνεργασία µε το εργαστήριο VLSI του τµήµατος Ηλεκτρολόγων Μηχανικών του Πανεπιστήµιου Πατρών. Παράλληλα µε την µελέτη και την βελτιστοποίηση του αλγορίθµου, αναπτύχθηκε από την συνεργαζόµενη ερευνητική οµάδα της Imec η κατασκευή ενός πρότυπου συστήµατος προκειµένου να εξαχθούν και πειραµατικά αποτελέσµατα. Θα πρέπει να αναφερθεί στο σηµείο αυτό πολύ συνοπτικά, αφού θα γίνει εκτενή αναφορά σε επόµενα κεφάλαια, ότι το σύστηµα αποτελείτο από µια πολυεπεξεργαστική πλατφόρµα στην οποία εκτελείται µια ιδιαίτερα δυναµική εφαρµογή βασισµένη σε OpenGL. Τον συντονισµό του συστήµατος εφαρµόζει ένα λειτουργικό σύστηµα πραγµατικού χρόνου. Ο συγγραφέας επιφορτίσθηκε µε την µελέτη, αξιολόγηση και επιλογή του πλέον κατάλληλου λειτουργικού συστήµατος πραγµατικού χρόνου για να φέρει σε πέρας την συγκεκριµένη αποστολή. Εξετάστηκαν λεπτοµερώς και 8

9 δοκιµάσθηκαν τα περισσότερα λειτουργικά συστήµατα πραγµατικού χρόνου τα οποία χρησιµοποιούνται σήµερα στην βιοµηχανία και µελετήθηκε σε βάθος η αρχιτεκτονική τους. Σηµαντικό τµήµα της διατριβής αυτής αφορά την έρευνα και ανάπτυξη του αλγορίθµου scheduling από τον συγγραφέα. Για το λόγο αυτό στο δεύτερο κεφάλαιο θα παρουσιαστούν σύντοµα τα βασικά χαρακτηριστικά των αλγορίθµων scheduling προκειµένου ο αναγνώστης να αποκτήσει το κατάλληλο θεωρητικό υπόβαθρο. Στο τρίτο κεφάλαιο θα δοθούν κάποιες λεπτοµέρειες για το πρωτότυπο σύστηµα που σχεδιάσθηκε. Θα δοθεί ωστόσο βάρος στην επιλογή του κατάλληλου λειτουργικού πραγµατικού χρόνου, δεδοµένου ότι αποτέλεσε αρµοδιότητα του συγγραφέα. Θα εξετασθεί ένας µεγάλος αριθµός λειτουργικών συστηµάτων πραγµατικού χρόνου, τα οποία θα αξιολογηθούν βάση των δυνατοτήτων τους να συµµορφωθούν στις απαιτήσεις του πρωτότυπου συστήµατος που αναπτύχθηκε στα εργαστήρια της Imec. Στο τέταρτο κεφάλαιο θα παρατεθούν οι υπάρχουσες µεθοδολογίες για την ανάπτυξη λογισµικού µε χαµηλές ενεργειακές απαιτήσεις. Συγκεκριµένα θα παρουσιαστούν οι µεθοδολογίες DTSE (Data Transfer and Storage Exploration) και TCM (Task Concurrency Management). Στο πέµπτο κεφάλαιο θα παρουσιαστεί αναλυτικά ο προτεινόµενος αλγόριθµος scheduling και θα κοινοποιηθεί πλήθος πειραµατικών δεδοµένων που πιστοποιούν την ανωτερότητα του αλγορίθµου από τις υπάρχουσες προσεγγίσεις. Στο έκτο κεφάλαιο θα παρατεθούν συνοπτικά τα συµπεράσµατα που εξήχθησαν στα πλαίσια αυτής της διπλωµατικής εργασίας, καθώς και οι ενδεχόµενες βελτιώσεις που θα µπορούσαν να εφαρµοστούν στον αλγόριθµο. Τέλος ο συγγραφέας αισθάνεται υποχρεωµένος να ευχαριστήσει τον Καθηγητή κ. Γκούτη για την εµπιστοσύνη που του έδειξε προτείνοντας του να εργαστεί στο ερευνητικό κέντρο της Imec καθώς και για την προθυµία του να µας εξυπηρετήσει σε κάθε πρόβληµα που αντιµετωπίσαµε, τον Καθηγητή κ. Francky Catthoor που επέβλεψε παράλληλα µε τον κ. Γκούτη αυτήν την διπλωµατική εργασία, στον ερευνητή κ. Chun Wong για τις πολύτιµες συµβουλές και την άριστη συνεργασία την οποία είχαµε καθώς και στον 9

10 συνάδελφο Γιώργο Κεραµίδα για το υψηλό επίπεδο συνεργασία το οποίο διατηρήσαµε καθ όλη την διάρκεια της παραµονής µας στο Βέλγιο. 10

11 2 Γενικές αρχές αλγορίθµων Scheduling Ένα από τα πλέον βασικά συστατικά ενός υπολογιστικού συστήµατος είναι το λειτουργικό σύστηµα. Ο ρόλος του λειτουργικού συστήµατος είναι από τους πλέον σηµαντικούς, αφού είναι υπεύθυνο µεταξύ άλλων και για την σωστή απόδοση των πόρων του υπολογιστικού συστήµατος, δηλαδή του επεξεργαστή, της µνήµης, του δίσκου καθώς και άλλων στις διάφορες εφαρµογές. Ο τρόπος µε τον οποίο αποδίδονται τα διάφορα υποσυστήµατα στις εφαρµογές που πρέπει να εκτελεστούν είναι ιδιαίτερα κρίσιµος για την οµαλή λειτουργία του συστήµατος καθώς και για την ταχύτητα µε την οποία αυτό αποκρίνεται. Το τµήµα του λειτουργικού το οποίο είναι υπεύθυνο για την κατανοµή των πόρων του υπολογιστή ονοµάζεται scheduler. Θα πρέπει να γίνει σαφές ότι η έννοια του scheduler είναι άρρηκτα συνδεδεµένη µε αυτή του λειτουργικού, εκτός ίσως από κάποιες ελάχιστες περιπτώσεις µονολιθικών συστηµάτων τα οποία δεν υποστήριζαν πολυεπεξεργασία και συνεπώς δεν είχαν ανάγκη από scheduler 1. Ο scheduler είναι σε θέση να επηρεάσει καθοριστικά τις επιδόσεις, αλλά κυρίως την συµπεριφορά ενός συστήµατος και για τον λόγο αυτό κατά το παρελθόν αλλά και πρόσφατα έχουν µελετηθεί και προταθεί πολλοί αξιόλογοι αλγόριθµοι για scheduling. Οι αλγόριθµοι αυτοί δεν στοχεύουν µόνο στην βελτιστοποίηση των επιδόσεων ενός συστήµατος, άλλα καλύπτουν και διάφορες άλλες ανάγκες. Υπάρχουν αλγόριθµοι οι οποίοι διασφαλίζουν την εκτέλεση µιας συγκεκριµένης εφαρµογής εντός κάποιων σαφώς καθορισµένων χρονικά ορίων. Οι αλγόριθµοι αυτοί εφαρµόζονται σε συστήµατα τα οποία θεωρούν έναν υπολογισµό έγκυρο όχι µόνο αν αυτός επιβεβαιώνεται µαθηµατικά, αλλά και αν είναι διαθέσιµος εντός των απαιτούµενων χρονικά ορίων. Τα συστήµατα αυτά ονοµάζονται λειτουργικά συστήµατα πραγµατικού χρόνου και θα αποτελέσουν αντικείµενο µελέτης αυτής της εργασίας. Θα πρέπει να 11

12 αναφερθεί επίσης ότι υπάρχουν αλγόριθµοι scheduling οι οποίοι εγγυώνται την διαθεσιµότητα ενός συστήµατος ακόµα και αν κάποια υποσυστήµατα του καταρρεύσουν (fault tolerance) 2 3 και χρησιµοποιούνται κυρίως σε πολυεπεξεργαστικά κατανεµηµένα περιβάλλοντα. Στα πλαίσια της διπλωµατικής εργασίας θα παρουσιαστεί η έρευνα που πραγµατοποιήθηκε σε µια εντελώς νέα επιστηµονική περιοχή. Συγκεκριµένα σε επόµενα κεφάλαια θα παρουσιαστούν αλγόριθµοι scheduling προσανατολισµένοι να ελαχιστοποιούν την καταναλισκόµενη ενέργεια ενός ενσωµατωµένου συστήµατος και θα προταθεί ένας νέος αλγόριθµος ο οποίος σύµφωνα µε τα πειραµατικά δεδοµένα συµπεριφέρεται αισθητά καλύτερα από τους προϋπάρχοντες αλγορίθµους. Είναι σηµαντικό ωστόσο ο αναγνώστης να διαθέτει βασική γνώση των θεµελιωδών αλγορίθµων scheduling και για αυτό θα πραγµατοποιηθεί µια πολύ συνοπτική εισαγωγή στην θεωρία τους καθώς και στη θεωρία των λειτουργικών συστηµάτων. Επισηµάνεται ότι παρ ότι τα λειτουργικά συστήµατα γενικού σκοπού και οι αλγόριθµοι που αναπτύχθηκαν για αυτά δηµιουργούν την εντύπωση ότι παρουσιάζουν επιφανειακή µόνο σχέση µε την έρευνα µας, στην πραγµατικότητα η κατανόηση της λειτουργίας τους είναι απολύτως απαραίτητη. Θα πρέπει να ληφθεί υπόψη ότι τα λειτουργικά συστήµατα πραγµατικού χρόνου προέκυψαν από την ανάγκη να καλύψουν τις αδυναµίες των συµβατικών λειτουργικών συστηµάτων για εκτέλεση ορισµένων διεργασιών εντός σαφώς καθορισµένων χρονικών ορίων. Αναλόγως οι αλγόριθµοι scheduling για συστήµατα πραγµατικού χρόνου αποτελούν στις περισσότερες περιπτώσεις επεκτάσεις των παραδοσιακών αλγορίθµων scheduling. 2.1 Εισαγωγή στα λειτουργικά συστήµατα γενικού σκοπού Προκειµένου να γίνουν εύκολα αντιληπτές οι βασικές αρχές ενός λειτουργικού συστήµατος γενικού σκοπού ακόµα και από τον µη ειδικό στο θέµα αναγνώστη θα χρησιµοποιηθεί ως παράδειγµα το πλέον αντιπροσωπευτικό λειτουργικό σύστηµα γενικού σκοπού, το Unix. To Unix αναπτύχθηκε σχεδόν παράλληλα µε την γλώσσα προγραµµατισµού C στα AT&T Bell Laboratories πριν από τρεις δεκαετίες µε 12

13 την σηµαντική συµµετοχή των Richie και Kernighan. Το σύνολο σχεδόν του Unix είναι γραµµένο σε C εκτός από κάποια µικρά τµήµατα τα οποία έχουν προγραµµατιστεί σε Assembly. Το Unix σχεδιάστηκε για υποστηρίζει συστήµατα ευρείας κλίµακας τα οποία θα πρέπει να εξυπηρετούν µεγάλο αριθµό χρηστών ταυτόχρονα. Στο σηµείο αυτό είναι απαραίτητο να εισάγουµε δύο βασικές έννοιες οι οποίες προσδιορίζουν την ταυτόχρονη χρησιµοποίηση του Unix από πολλούς χρήστες. Οι έννοιες αυτές είναι του multitasking και του multiuser. To multiuser όπως γίνεται άµεσα αντιληπτό αναφέρεται στην δυνατότητα που πρέπει να παρέχει το λειτουργικό σύστηµα να υποστηρίζει πολλούς χρήστες. Το multitasking αναφέρεται στην δυνατότητα που πρέπει να έχει το λειτουργικό να υποστηρίζει πολλά tasks (διεργασίες). Ένα λειτουργικό σύστηµα θεωρείται multitasking αν είναι σε θέση να εκτελεί διάφορες διεργασίες ταυτόχρονα, ενώ αν δεν έχει αυτή την δυνατότητα και είναι σε θέση να εκτελεί µόνο µία ονοµάζεται single-tasking σύστηµα. Χαρακτηριστικό παράδειγµα single-tasking αποτελεί το MS-DOS. Θα πρέπει ωστόσο στο σηµείο αυτό να γίνουν δύο απαραίτητες διευκρινίσεις. Η έννοια του task είναι κάπως αφηρηµένη. Τα σύγχρονα λειτουργικά συστήµατα χρησιµοποιούν τον όρο process για να περιγράψουν τις διεργασίες που χρησιµοποιούν. Κάθε πρόγραµµα που εκτελείται από το λειτουργικό σύστηµα αποτελεί και µια process. Επιπλέον υπάρχει η δυνατότητα κάποιο τµήµα ενός process ή το σύνολο του να εκτελείται περισσότερες από µια φορά ταυτόχρονα οπότε σε αυτή την περίπτωση αναφερόµαστε σε threads εννοώντας threads of control. Οι έννοιες αυτές δεν απόλυτα σαφείς µε αποτέλεσµα να χρησιµοποιούνται διαφορετικά από αρκετούς κατασκευαστές λειτουργικών συστηµάτων χωρίς όµως να αλλάζουν σε τίποτα την ουσία των όσον αναφέρθηκαν παραπάνω. Ένα επιπλέον σηµείο που χρήζει περαιτέρω διευκρίνησης είναι αυτό της ταυτόχρονης εκτέλεσης των διεργασιών. Όπως γίνεται εύκολα αντιληπτό δεν είναι δυνατόν να υπάρχει ταυτόχρονη εκτέλεση, δηλαδή παράλληλη εκτέλεση εντολών αν δεν υπάρχουν δύο τουλάχιστον επεξεργαστές που θα αναλάβουν αυτή την διαδικασία οπότε και αναφερόµαστε σε πολυεπεξεργαστικά (multi-processing) συστήµατα, 13

14 O scheduler είναι το τµήµα του λειτουργικού το οποίο αποφασίζει ποία διεργασία θα έχει και για πόσο χρόνο την κεντρική µονάδα επεξεργασίας (Central Processing Unit CPU) καθώς και ποιους άλλους πόρους του συστήµατος. Ένα Unix σύστηµα το οποίο χρησιµοποιείται από πολλούς χρήστες θα πρέπει µε κάποιο τρόπο να παρέχει πρόσβαση στην CPU σε όλους τους χρήστες. Αυτό επιτυγχάνεται από τον scheduler δίνοντας τον επεξεργαστή για πολύ σύντοµα χρονικά διαστήµατα στον κάθε χρήστη διαδοχικά µε αποτέλεσµα να υπάρχει η ψευδαίσθηση ότι όλοι χρήστες χρησιµοποιούν ταυτόχρονα το σύστηµα και όλες οι διεργασίες εκτελούνται παράλληλα. Θα πρέπει να σηµειωθεί ότι µια τέτοια επιλογή είναι απόλυτα δικαιολογηµένη αφού πρωταρχικός στόχος του Unix είναι και η ταυτόχρονη εξυπηρέτηση πολλών χρηστών. 2.2 Εισαγωγή στα λειτουργικά συστήµατα πραγµατικού χρόνου Τα Real-Time Operating Systems-RTOS (Λειτουργικά Συστήµατα Πραγµατικού Χρόνου) είναι µια ειδική κατηγορία λειτουργικών συστηµάτων τα οποία έχουν εντελώς διαφορετικούς στόχους από τα συστήµατα που προαναφέρθηκαν. Σε ένα σύστηµα πραγµατικού χρόνου η εγκυρότητα ενός υπολογισµού δεν εξαρτάται µόνο από την λογική ορθότητα του αποτελέσµατος, αλλά και από την χρονική στιγµή που αυτό είναι διαθέσιµο στο σύστηµα. Σε ορισµένες περιπτώσεις όπως ο έλεγχος ενός αεροπλάνου µέσω ενός RTOS επιβάλλει την άµεση απόκριση του συστήµατος στις λαµβανόµενες από τους αισθητήρες µετρήσεις ή στις εντολές του πιλότου. Σε περίπτωση που το σύστηµα δεν καταφέρει να αποκριθεί εντός κάποιου προκαθορισµένου χρονικού διαστήµατος τότε τα αποτελέσµατα θα είναι καταστροφικά. Σε κάποιες άλλες καταστάσεις όπως για παράδειγµα η αναπαραγωγή video θα πρέπει και πάλι η απόκριση του συστήµατος να κυµαίνεται σε κάποια συγκεκριµένα χρονικά διαστήµατα, χωρίς ωστόσο το ενδεχόµενο υπέρβασης των ορίων αυτών να προκαλεί καταστροφικά αποτελέσµατα. Γίνεται αντιληπτό ότι και στις δύο παραπάνω περιπτώσεις αναφερόµαστε σε Λειτουργικά Συστήµατα Πραγµατικού Χρόνου τα οποία όµως παρουσιάζουν σηµαντικότατες διαφορές τόσο στις απαιτήσεις που έχουν όσο και στην πολυπλοκότητα που απαιτείται για να υλοποιηθούν. Με 14

15 βάση τα παραπάνω παραδείγµατα θα ορίσουµε τρεις διαφορετικές υποκατηγορίες Λειτουργικών Συστηµάτων Πραγµατικού Χρόνου. Hard real time operating systems: Στην κατηγορία αυτή ανήκουν τα συστήµατα αυτά τα οποία εγγυώνται απόκριση σε απόλυτα συγκεκριµένα και προδιαγεγραµµένα χρονικά όρια. Soft real time operating systems: Τα συστήµατα της κατηγορίας αυτής δεν είναι σε θέση να ανταποκριθούν σε αυστηρές χρονικές απαιτήσεις. Firm real time operating systems: Τα συστήµατα αυτά έχουν σχεδιαστεί έτσι ώστε να µπορούν να ανταποκριθούν σε αυστηρές χρονικές απαιτήσεις χωρίς να µπορούν όµως να αποκλείσουν πλήρως το ενδεχόµενο της υπέρβασης των χρονικών ορίων αυτών. Είναι απόλυτα ξεκάθαρο ότι τα παραπάνω συστήµατα έχουν διαφορετικές απαιτήσεις και προσανατολισµό, συνεπώς είναι προφανές ότι δεν είναι σε καµία περίπτωση εφικτό ένας αλγόριθµος να καλύψει τις όλες τις ανάγκες, αλλά απαιτούνται και έχουν αναπτυχθεί πολλοί διαφορετικοί αλγόριθµοι. Οι κυριότερες κατηγορίες αλγορίθµων scheduling θα παρατεθούν παρακάτω. 2.3 Αλγόριθµοι scheduling Αναµφίβολα από ένα από τα πλέον σηµαντικά τµήµατα ενός συστήµατος πραγµατικού χρόνου είναι ο scheduler. Όπως θα γίνει κατανοητό στην συνέχεια κάποιοι από τους αλγορίθµους εµφανίζουν καλύτερη συµπεριφορά σε Hard Real Time Operating Systems, άλλοι σε Soft Real Time Operating Systems, άλλοι σε Firm Real Time Operating Systems και άλλοι δεν ενδείκνυνται καθόλου για τέτοιου είδους αποστολές. Εξίσου σηµαντική παράµετρος είναι και η προβλεψιµότητα, η οποία υπολογίζεται από την schedulability ανάλυση και χρησιµοποιείται για να προβλέψει εάν µια διεργασία µπορεί να εκτελεστεί εντός των χρονικών περιορισµών που υπάρχουν. Οι περισσότεροι αλγόριθµοι θα µπορούσαν να ταξινοµηθούν σε τέσσερις κύριες κατηγορίες ανάλογα µε τα χαρακτηριστικά τους 4. Static table driven approaches: Οι αλγόριθµοι που ανήκουν σε αυτήν την κατηγορία πραγµατοποιούν στατική schedulability ανάλυση και µε τα αποτελέσµατα που προκύπτουν κατασκευάζουν ένα schedule πίνακα τον 15

16 οποίο χρησιµοποιούν κατά την διάρκεια του χρόνου εκτέλεσης (run time) για να αποφασίσουν ποία διεργασία θα γίνει scheduled. Static priority driven approaches: Οι αλγόριθµοι της κατηγορίας αυτής πραγµατοποιούν όπως και οι προηγούµενοι στατική schedulability ανάλυση άλλα δεν κατασκευάζουν εκ των προτέρων κάποιο πίνακα. Αντίθετα χρησιµοποιώντας την ανάλυση αυτή διαµορφώνονται δυναµικά προτεραιότητες. Κατά την διάρκεια του χρόνου εκτέλεσης οι διεργασίες εκτελούνται ανάλογα µε την προτεραιότητα τους. Dynamic best effort approaches: Ο αλγόριθµος αυτός είναι ιδιαίτερα απλός. εν πραγµατοποιεί κανένα απολύτως έλεγχο. Το σύστηµα προσπαθεί να τηρήσει τις χρονικές προθεσµίες που υπάρχουν ωστόσο δεν υπάρχει καµία απολύτως εγγύηση ότι αυτό θα συµβεί. Dynamic planning based approaches: Σε αυτήν την προσέγγιση η schedulability ανάλυση πραγµατοποιείται µόνο όταν καινούργια διεργασία ζητά να γίνει scheduled. Η διεργασία θα γίνει αποδεκτή µόνο αν από την ανάλυση προκύψει ότι το σύστηµα µπορεί να την εξυπηρετήσει. Από την ανάλυση θα προκύψει επίσης και πότε µπορεί αυτή να ξεκινήσει να εκτελείται. 2.4 Static table driven scheduling Ο αλγόριθµος αυτός µπορεί να εφαρµοστεί µόνο σε διεργασίες οι οποίες είναι περιοδικές. Ανάλογα µε τα χαρακτηριστικά της κάθε διεργασίας κατασκευάζεται ένας πίνακας, ο οποίος καταγράφει τον αναµενόµενο χρόνο έναρξης και τερµατισµού της. Οι διεργασίες γίνονται scheduled κατά τα την διάρκεια του χρόνου εκτέλεσης βάση αυτού του πίνακα. Συνήθως για να κατασκευαστεί ένας τέτοιος πίνακας χρησιµοποιείται το ελάχιστο κοινό πολλαπλάσιο των περιόδων των processes που είναι προς εκτέλεση 5. Ο static table-driven είναι ένας ιδιαίτερα προβλέψιµος αλγόριθµος, ο οποίος όµως παρουσιάζει ένα σηµαντικό µειονέκτηµα. εν είναι καθόλου δυναµικός. Αυτό έχει ως αποτέλεσµα να είναι εντελώς ακατάλληλος για ένα firm/soft RTOS ή ένα συµβατικό λειτουργικό σύστηµα µε το οποίο µπορεί να αλληλεπιδρά ο χρήστης δηµιουργώντας συνέχεια νέα processes. Σε αυτή την περίπτωση θα έπρεπε το σύστηµα να υπολογίζει διαρκώς τον πίνακα του scheduler. Από την άλλη πλευρά ένα hard RTOS το οποίο εκτελεί αυστηρά 16

17 συγκεκριµένες λειτουργίες και προφανώς έχει ένα προκαθορισµένο αριθµό διεργασιών που εκτελούνται θα µπορούσε να ωφεληθεί σηµαντικά από ένα τέτοιο αλγόριθµο λόγω της υψηλής προβλεψιµότητας. 2.5 Static priority driven scheduling Ο Liu και ο Layland 6 ήταν οι πρώτοι που έδωσαν µεθοδικά και ακριβή αποτελέσµατα σχετικά µε την χρησιµοποίηση αλγόριθµων βασιζόµενων σε προτεραιότητες (priority-driven) για συστήµατα πραγµατικού χρόνου. Ασχολήθηκαν µε το πρόβληµα του scheduling περιοδικών διεργασιών και πρότειναν δύο preemptive λύσεις. Ο πρώτος αλγόριθµος ονοµάστηκε Rate- Monotonic και αποδίδει στατικές προτεραιότητες στις διεργασίες ανάλογα µε την περίοδο τους. Συγκεκριµένα αποδίδει υψηλότερη προτεραιότητα στις διεργασίες µε την µικρότερη περίοδο. Επίσης απέδειξαν ότι αυτό το σχήµα είναι το βέλτιστο ανάµεσα σε αυτά που αφορούν στατικές προτεραιότητες. Επιπλέον ανέλυσαν ένα αλγόριθµο που ασχολείται µε δυναµικές προτεραιότητες και ονοµάζεται Earliest-Deadline-First (EDF). Σε αυτόν τον αλγόριθµο η διεργασία η οποία έχει το πιο σύντοµο χρονικό περιθώριο είναι αυτή µε την µεγαλύτερη προτεραιότητα, Αλγόριθµοι που χρησιµοποιούν δυναµικές προτεραιότητες είναι εφαρµόσιµοι τόσο σε περιοδικές όσο και σε µη περιοδικές διεργασίες. Αντίθετα οι αλγόριθµοι Rate Monotonic είναι εφαρµόσιµοι µόνο σε περιοδικές διεργασίες ή σε διεργασίες που µπορούν να µετατραπούν σε περιοδικές. Θα πρέπει βέβαια να σηµειωθεί ότι υλοποιήσεις που χρησιµοποιούν δυναµικές προτεραιότητες εµφανίζουν πολύ µεγαλύτερη επιβάρυνση από αυτές που χρησιµοποιούν στατικές προτεραιότητες γιατί κατά την διάρκεια του χρόνου εκτέλεσης πρέπει να υπολογίζουν διαρκώς τις προτεραιότητα των διεργασιών που χρησιµοποιούν το σύστηµα καθώς και αυτών που δηµιουργούνται. Οι RM αλγόριθµου έχουν µελετηθεί πολύ και αρκετές ενδιαφέρουσες τροποποιήσεις έχουν προταθεί. Ο Rajkumar 7 εξέτασε το φαινόµενο της αναστροφής προτεραιοτήτων (priority inversion). Η αναστροφή προτεραιοτήτων συµβαίνει στην περίπτωση που µια διεργασία χαµηλής προτεραιότητας κατέχει κάποιον πόρο τον οποίο χρειάζεται µια διεργασία υψηλής προτεραιότητας, επιτρέποντας όµως σε µια διεργασία µέσης προτεραιότητας να εκτελεστεί 17

18 αναγκάζοντας την υψηλής προτεραιότητας διεργασία να ξεπεράσει τα επιτρεπτά χρονικά όρια. Το πρόβληµα αυτό θα µπορούσε να επιλυθεί χρησιµοποιώντας κληρονοµικές προτεραιότητες (priority inheritance). Σε αυτή την παραλλαγή εάν µια διεργασία χαµηλής προτεραιότητας κατέχει ένα πόρο, ο οποίος χρειάζεται σε µια διεργασία υψηλής προτεραιότητας τότε η χαµηλής προτεραιότητας διεργασίας κληρονοµεί την προτεραιότητα από την άλλη διεργασία και γίνεται και αυτή υψηλής προτεραιότητας. 2.6 Dynamic planning based scheduling Οι schedulers που χρησιµοποιούν αυτόν τον αλγόριθµο εµφανίζουν µερικά πολύ ενδιαφέροντα χαρακτηριστικά αφού επιτυγχάνουν να συνδυάσουν την προβλεψιµότητα µε την δυναµικότητα. Ο τρόπος µε τον οποίο λειτουργούν είναι ιδιαίτερα αποτελεσµατικός. Όταν µια διεργασία ζητήσει κατά την διάρκεια του χρόνου εκτέλεσης να γίνει scheduled τότε ο scheduler θα ελέγξει εάν είναι δυνατόν να γίνει scheduled τηρώντας όµως τους χρονικούς περιορισµούς που υφίστανται τόσο για τη συγκεκριµένη διεργασία όσο και για όλες τις άλλες οι οποίες είδη έχουν γίνει δεχτές για scheduling. Οι περισσότερες εφαρµογές που εµφανίζουν µια περιοδικότητα στην εκτέλεση τους αλλά παράλληλα απαιτούν εγγυήσεις από το λειτουργικό σύστηµα ότι θα λάβουν την CPU σε συγκεκριµένες χρονικές στιγµές και ότι θα καταφέρουν να τηρήσουν τους υφιστάµενους χρονικούς περιορισµούς, φαίνεται να επωφελούνται τα µέγιστα από αυτήν την υλοποίηση. Χαρακτηριστικό παράδειγµα τέτοιων εφαρµογών είναι οι εφαρµογές πολυµέσων. Παραλλαγές αυτού του αλγορίθµου είναι σίγουρο ότι θα µπορούν να καλύψουν ιδιαίτερα αποτελεσµατικά απαιτήσεις hard και firm real time συστηµάτων. 2.7 Dynamic best effort scheduling Σε µια καθαρά βασιζόµενη σε προτεραιότητες προσέγγιση το σύστηµα λειτουργεί χωρίς κανέναν απολύτως σχεδιασµό. Κάθε διεργασία µπορεί να διακοπεί κατά την διάρκεια της εκτέλεσης της. Σε αυτή την υλοποίηση δεν 18

19 είναι δυνατόν να γίνει εκ των προτέρων γνωστό εάν η διεργασία θα καταφέρει να τηρήσει τους χρονικούς προσδιορισµούς που οφείλει, καθιστώντας αυτόν τον αλγόριθµο παντελώς ακατάλληλο για scheduling σε hard ή σε firm real time συστήµατα. Όπως θα έχει γίνει είδη αντιληπτό τέτοιου είδους scheduling αλγόριθµοι χρησιµοποιούνται στα non real-time systems. Όπως περιγράφηκε και παραπάνω τα Unices 8 σχεδιάστηκαν σαν time-sharing συστήµατα µε βασικό στόχο την βελτιστοποίηση της µέσης απόδοσης. Οι schedulers αυτών των λειτουργικών συστηµάτων προσπαθούν να ισορροπήσουν µεταξύ του χρόνου απόκρισης και του throughput από την µία πλευρά και της δίκαιης κατανοµής της CPU από την άλλη. Είναι προφανές κάτι τέτοιο είναι εξαιρετικά δύσκολο να συνδυαστεί µε την χαµηλή καθυστέρηση και την υψηλή προβλεψιµότητα που απαιτείται από ένα σύστηµα πραγµατικού χρόνου. Παρ ότι το πρότυπο POSIX.1b-1993 προσπαθεί να βελτιώσει κάποιες από αυτές τις αδυναµίες χρησιµοποιώντας επιπλέον schedulers όπως ο First-In-First- Out καθώς και ο Round Robin, κάτι τέτοιο δεν είναι πάντα εφικτό. 19

20 3 Αξιολόγηση λειτουργικών συστηµάτων πραγµατικού χρόνου 3.1 Εισαγωγή Οι µεθοδολογίες TCM (Task Concurrency Management) και DTSE (Data Transfer and Storage Exploration) προσφέρουν σαφέστατα οφέλη σε σχέση µε τις προϋπάρχουσες τεχνικές σχεδίασης ενσωµατωµένων συστηµάτων. Εκτός από τα θεωρητικά και πειραµατικά αποτελέσµατα τα οποία προέκυψαν µέσα από προσοµοιώσεις κρίθηκε απαραίτητη και η κατασκευή ενός πρωτότυπου συστήµατος το οποίο να είναι σε θέση να επιδείξει αποτελεσµατικά τα πλεονεκτήµατα της TCM µεθοδολογίας. Η κατασκευή ενός πρωτοτύπου συστήµατος προϋποθέτει την ύπαρξη ενός λειτουργικού συστήµατος πραγµατικού χρόνου, το οποίο θα αναλάβει την εκτέλεση των διαφόρων εφαρµογών, την επικοινωνία µε το υλικό καθώς και την διευθέτηση άλλων πρακτικών ζητηµάτων. Για τον λόγο αυτό αξιολογήθηκε σε βάθος ένας πολύ µεγάλος αριθµός συστηµάτων πραγµατικού χρόνου και εντοπίστηκαν τα θετικά και αρνητικά τους σηµεία. Ο κύριος σκοπός της µελέτης αυτής είναι να παρουσιάσει εποπτικά τα πλέον διαδεδοµένα λειτουργικά συστήµατα για ενσωµατωµένες συσκευές στον εµπορικό και ακαδηµαϊκό χώρο. Στόχος είναι η εξεύρεση του πλέον κατάλληλου λειτουργικού συστήµατος για ένα οµογενές κατανεµηµένο περιβάλλον αποτελούµενο από δύο ή περισσότερους επεξεργαστές οι οποίοι θα λειτουργούν σε διαφορετικές τάσεις και συχνότητες. Όλα τα λειτουργικά συστήµατα τα οποία αποτέλεσαν αντικείµενο µελέτης αυτής της εργασίας έχουν εξεταστεί λεπτοµερώς. Θα πρέπει όµως να σηµειωθεί ότι το µεγαλύτερο µέρος των τεχνικών εγγράφων που χρησιµοποιήθηκαν για την αξιολόγηση αυτή προέρχεται από τους κατασκευαστές των εν λόγω συστηµάτων µε αποτέλεσµα να µην είναι πάντα διαθέσιµο το σύνολο των τεχνικών χαρακτηριστικών που απαιτείτο ή και σε ορισµένες περιπτώσεις να µην αναφέρονται προβλήµατα, αδυναµίες ή αστοχίες των συστηµάτων αυτών. 20

21 Κάποια από τα συστήµατα αυτά δοκιµάσθηκαν και στην πράξη, όπου και εξήχθησαν πολύτιµα συµπεράσµατα. Τα κριτήρια στα οποία στηρίχθηκε η αξιολόγηση είναι τα εξής 1. Η συνολική αρχιτεκτονική του συστήµατος. Προκειµένου να είναι άρτια η αξιολόγηση εξετάστηκε ενδελεχώς η αρχιτεκτονική του συστήµατος. Οι πλέον βασικοί παράγοντες που ελήφθησαν υπ όψιν σε αυτό το στάδιο έχουν να κάνουν µε την δοµή του πυρήνα, αν είναι δηλαδή µονολιθικός, σπονδυλωτός (modular) ή πολλαπλών επιπέδων (microkernel, nanοkernel). Επίσης εξετάστηκαν οι δοµές που χρησιµοποιήθηκαν για τον συγχρονισµό του συστήµατος (synchronization) καθώς και για την διεπικοινωνία και την ενδοεπικοινωνία µεταξύ των διεργασιών (inter and intra process communication). Επιπρόσθετα µελετήθηκε η δυνατότητα για υποστήριξη πολύεπεξεργαστικού περιβάλλοντος καθώς και η ύπαρξη πρόσθετων χαρακτηριστικών για εξοικονόµηση ενέργειας. Τέλος ερευνήθηκε ο τρόπος µε τον οποίο γίνεται η διαχείριση της µνήµης, αφού αυτό αποτελεί βασικό χαρακτηριστικό για την σταθερότητα του συστήµατος. 2. υνατότητα συµµόρφωσης του λειτουργικού συστήµατος µε hard real time περιορισµούς. Θεωρήθηκε σηµαντικό το λειτουργικό σύστηµα να εκπληρώνει κριτήρια hard real time αφού τα περισσότερα ενσωµατωµένα συστήµατα υπόκεινται σε τέτοιου είδους περιορισµούς 3. Το κόστος απόκτησης του λειτουργικού συστήµατος. Ένα λειτουργικό σύστηµα το οποίο θα αποτελέσει αντικείµενο ακαδηµαϊκής έρευνας θα πρέπει να είναι δωρεάν ή να έχει χαµηλό κόστος. Ωστόσο λόγω του κύρους που διαθέτει η Imec, καθώς και τον δυνατοτήτων και των συνεργασιών που έχει και µε κατασκευαστές εµπορικών λειτουργικών συστηµάτων πραγµατικού χρόνου εξετάστηκε και το ενδεχόµενο της επιλογής ενός εµπορικού λειτουργικού συστήµατος το οποίο θα παραχωρηθεί κατόπιν στην Imec δωρεάν για ερευνητικούς, µη εµπορικούς σκοπούς. 4. ιαθεσιµότητα του πηγαίου κώδικα. Στόχος της έρευνας που πραγµατοποιήθηκε όπως έχει γίνει ήδη γνωστό είναι η αντικατάσταση των συµβατικών αλγορίθµων scheduling που χρησιµοποιούνται σε 21

22 τέτοιου είδους συστήµατα µε τον προτεινόµενο αλγόριθµο για µειωµένη ενεργειακή κατανάλωση. εδοµένου ότι ο αλγόριθµος scheduling αποτελεί στις περισσότερες περιπτώσεις αναπόσπαστο µέρος του πυρήνα του λειτουργικού είναι εξαιρετικά δύσκολη η τροποποίηση ή αντικατάσταση του χωρίς να είναι διαθέσιµος ο πηγαίος κώδικας. Για τον λόγο αυτό εδόθη ιδιαίτερη σηµασία στο κριτήριο αυτό. 5. Υποστήριξη υλικού. Σηµαντικότατη για την αξιολόγηση αυτή ήταν η υποστήριξη που προσέφερε κάθε λειτουργικό σε γνωστές οικογένειες µικροπεξεργαστών, µε εµφανή προτιµήσει στους επεξεργαστές ARM, Sparc καθώς και στην αρχιτεκτονική x86, προκειµένου να διευκολυνθεί η ανάπτυξη και ο έλεγχος των εφαρµογών. Λειτουργικά συστήµατα προερχόµενα από τον ακαδηµαϊκό κυρίως χώρο, τα οποία υποστηρίζουν πολύ εξειδικευµένο υλικό θεωρήθηκαν απαράδεκτα. 6. Εργαλεία, λογισµικό. Ελήφθη σοβαρά υπ όψιν η ποιότητα των διαθέσιµων εργαλείων για το κάθε λειτουργικού, αφού αυτά συντελούν τα µέγιστα στην ανάπτυξη και τροποποίηση του scheduler, καθώς και στην διαδικασία της αποσφαλµάτωσης (debugging) του. Επιπλέον αξιολογήθηκε η ποιότητα και η ποσότητα του διαθέσιµου λογισµικού για κάθε λειτουργικό. εδοµένου ότι στόχος είναι η εκτέλεση κυρίως πολυµεσικών (multimedia) εφαρµογών η ύπαρξη των κατάλληλων βιβλιοθηκών είναι κάτι που διευκολύνει κατά πολύ την δουλειά των προγραµµατιστών. Τα λειτουργικά συστήµατα τα οποία εξετάστηκαν είναι τα ακόλουθα 3.2 Virtuoso To Virtuoso διατίθεται από την WindRiver OS Virtuoso Distributed Central-controlled Memory Support Distributed Memory Maps Memory Pools 22

23 Communication Synchronization Low power Free Source Code Link Drivers Semaphores, Events, Queues, Mailboxes, Semaphore Channels, Linked- List Channels. Stack Channels Όχι Όχι Όχι Platforms Supported Analog Devices [SHARC ADSP- 2106, HammerHead SHARC ADSP-2116X, ADSP-21020] TI [TM320C6x,RMS320C4x] Win NT simulation Από τον παραπάνω πίνακα γίνεται αντιληπτό ότι το Virtuoso πληρεί το σύνολο σχεδόν των κριτηρίων που ετέθησαν παραπάνω. Είναι ένα ιδιαίτερα προηγµένο σύστηµα µε πολλά ενδιαφέροντα χαρακτηριστικά. Ειδικότερα ο πυρήνας δύο επιπέδων παρ ότι προσθέτει κάποια πολυπλοκότητα στο σύστηµα φαίνεται να λειτουργεί ικανοποιητικά 9. Ο πυρήνας στο χαµηλότερο επίπεδο ονοµάζεται nanokernel και είναι άµεσα εξαρτώµενος από το υλικό. Ο προγραµµατισµός σε αυτό το επίπεδο είναι επίπονος γιατί πρέπει να ληφθούν υπ όψιν όλα τα χαρακτηριστικά του υπάρχοντος υλικού. Το δεύτερο επίπεδο του πυρήνα ονοµάζεται microkernel και είναι υπεύθυνος για τον χειρισµό των περισσοτέρων εφαρµογών. Τα προγράµµατα που είναι σχεδιασµένα για αυτό το επίπεδο είναι ανεξάρτητα πλατφόρµας. Ο χειρισµός των interrupts είναι αρκετά δύσκολος γιατί ο κάθε επεξεργαστής υποστηρίζει διαφορετικό αριθµό interrupts και σε διαφορετικά επίπεδα µε αποτέλεσµα ο προγραµµατισµός της Interrupt Service ρουτίνας να πρέπει να γίνει σε assembly. Η διαχείριση µνήµης 10 είναι ένα από τα ισχυρά σηµεία του Virtuoso. Για την διαχείριση της µνήµης χρησιµοποιούνται memory maps και memory pools τα οποία εξασφαλίζουν ένα σταθερό και αποτελεσµατικό τρόπο για τον έλεγχο της µνήµης. Τα memory pools επιτρέπουν µεταβλητού µεγέθους τµήµατα µνήµης να δεσµευτούν µε τέτοιο τρόπο ώστε να εξαλείφεται το φαινόµενο του κατακερµατισµού και επιπλέον η απόκριση του συστήµατος να είναι 23

24 ντετερµινιστική. Το ελάχιστο και το µέγιστο µέγεθος των τµηµάτων τα οποία µπορούν να δεσµευθούν από κάθε δεξαµενή (pool) προσδιορίζονται στο κατάλληλο αρχείο ρυθµίσεων του συστήµατος. Ο συγχρονισµός πραγµατοποιείται µέσω όλων των γνωστών µεθόδων όπως σεµαφόρους, events, ουρές (queues) και άλλα, ενώ και κάποια επιπλέον χαρακτηριστικά όπως κανάλια συνδεδεµένων λιστών (Linked-List channels) προσθέτουν λειτουργικότητα. Η επικοινωνία επιτυγχάνεται µε την χρήση NET και RAW συνδέσεων. Οι NET συνδέσεις χρησιµοποιούνται για την ανταλλαγή δεδοµένων µεταξύ διαφορετικών επεξεργαστών κατόπιν εντολής του πυρήνα. Οι RAW συνδέσεις αντίθετα χρησιµοποιούνται κυρίως για την ανταλλαγή δεδοµένων µεταξύ των διαφόρων εφαρµογών. Το Virtuoso έχει σχεδιαστεί µε στόχο την αξιοποίηση και των DSP άλλα και των ASICs έκτος φυσικά από τους διάφορους µικροεπεξεργάστες που κατεγράφησαν στον παραπάνω πίνακα. Τα παραπάνω στοιχεία είναι ιδιαίτερα σηµαντικά για την αξιολόγηση ενός λειτουργικού συστήµατος, ωστόσο η δυνατότητα που είχε βαρύνουσα σηµασία στην αξιολόγηση αυτή είναι η εξαιρετική υποδοµή που διαθέτει το Virtuoso για την υποστήριξη κατανεµηµένων συστηµάτων. Η VSP 11 (Virtual Signal Processor) έκδοση του Virtuoso επιτρέπει στον προγραµµατιστή να δει ένα πλέγµα από επεξεργαστές σαν ένα επεξεργαστή. Συγκεκριµένα περιλαµβάνεται επιπλέον κώδικας στον πυρήνα του συστήµατος που επιτρέπει διαφανή µετακίνηση πακέτων, δεδοµένων και εντολών Ο προγραµµατιστής που αναπτύσσει την εφαρµογή άπλα γράφει το πρόγραµµα σαν να επρόκειτο να εκτελεστεί σε έναν επεξεργαστή και στην συνέχεια το Virtuoso αναλαµβάνει την διεπεξεργαστική επικοινωνία (interprocessor communication). Οι διεργασίες απλά αναθέτονται στους επεξεργαστικούς κόµβους κατά την διάρκεια των ρυθµίσεων του συστήµατος και εν συνεχεία τα διάφορα αντικείµενα όπως οι σεµαφόροι και οι ουρές µηνυµάτων (message queues) γίνονται αυτόµατα προσιτά από όλους τους επεξεργαστές. Όλες οι αντιγραφές δεδοµένων που απαιτούνται για να λειτουργήσει το µοντέλο αυτό πραγµατοποιούνται από τον πυρήνα στο παρασκήνιο (background) αφήνοντας τον προγραµµατιστή να συγκεντρωθεί στην ανάπτυξη της εφαρµογής. Επίσης είναι εφικτό να πραγµατοποιηθούν αλλαγές στην τοπολογία του πλέγµατος των επεξεργαστών, καθώς και στην ανάθεση των 24

25 διεργασιών στους επεξεργαστικούς κόµβους χωρίς να απαιτείται καµία αλλαγή στον πηγαίο κώδικα. Τα εργαλεία που διαθέτονται µαζί είναι επαρκή και περιλαµβάνουν ένα διαχειριστή έργου (project manager), καθώς και tracing monitor, παρατηρητή φορτίου (workload monitor), ενώ υπάρχουν και ο κατάλληλος εξοµοιωτής για να την ανάπτυξη του λογισµικού παράλληλα µε το υλικό, ο οποίος εκτελείται σε περιβάλλον Windows NT. Το µεγαλύτερο µειονέκτηµα του Virtuoso είναι ότι κοστολογείται ιδιαίτερα ακριβά, ενώ ούτε ο πηγαίος κώδικας είναι διαθέσιµος. Τέλος λειτουργίες εξοικονόµησης ενέργειας δεν υποστηρίζονται. Η άποψη του συγγραφέα είναι ότι το Virtuoso είναι το πλέον κατάλληλο λειτουργικό για κάθε κατανεµηµένο σύστηµα που περιλαµβάνει περισσότερους από δύο επεξεργαστές. 3.3 psosystem 3 Το psosystem διατίθεται επίσης από την Wind River. Το psos αποτελείται κυρίως από έναν σπονδυλωτό (modular) µικροπυρήνα 12. Συγκεκριµένοι οδηγοί συσκευών (device drivers), χρησιµοποιούνται για να αποµονώσουν τις εφαρµογές και τα υπόλοιπα τµήµατα του psos από το υποκείµενο (underlying) υλικό. Οποιαδήποτε αναβάθµιση στο υλικό απαιτεί µόνο κάποιες αλλαγές στους οδηγούς των συσκευών χωρίς να χρειαστεί κάποια µετατροπή στις διάφορες εφαρµογές. Ο πυρήνας είναι ντετερµινιστικός και παρέχει κυρίως υπηρεσίες scheduling, διαχείρισης πόρων και συντονισµού των διαφόρων ασύγχρονων δραστηριοτήτων (events) του συστήµατος. OS PSOSystem Development Environment Support Modularity Scalability Distributed Central-controlled Wind River Tools Modular Scalable Central-controlled Partially Distributed 25

26 Memory Support Dynamic fixed and variablesized memory, continuous and Όχι ncontiguous protected memory Communication Remote Procedure Calls (RPC), External Data Representation (XDR), pna+, NTp Synchronization Low power Free Source Code Events, Queues, Semaphores, Mutex Semaphores, Conditional Variables Όχι Όχι Όχι Platforms Supported Motorola/IBM PowerPC architecture family Motorola/IBM PPC6xx,7xx,82xx Motorola MPC8xx,82xx -IBM PPC403 MIPS architecture family-mips 16,32,R500 Το psosystem εφαρµόζει µια καλά σχεδιασµένη στρατηγική για την διαχείριση της µνήµης. Κάθε διεργασία έχει τη δικιά της περιοχή µνήµης, εξαλείφοντας τελείως την πιθανότητα πλήρους κατάρρευσης του συστήµατος σε περίπτωση που µια διεργασία καταρρεύσει. Ο διαχειριστής µνήµης επιτρέπει την δέσµευση τόσο σταθερού όσο και µεταβλητού µεγέθους µνήµη. Εάν ο επεξεργαστής διαθέτει µονάδα διαχείρισης µνήµης MMU (Memory Management Unit) το λειτουργικό σύστηµα θα την αξιοποιήσει. Επιπλέον χαρακτηριστικά του συστήµατος είναι ότι παρέχεται προστασία από υπερχείλιση (overrun) µνήµης και ότι περιοχές του κώδικα µπορούν να σηµειωθούν ότι είναι µόνο προς ανάγνωση εµποδίζοντας εργασίες που δυσλειτουργούν από το να τις αλλοιώσουν (corrupt). Ο συγχρονισµός επιτυγχάνεται µέσω events, ουρών, σεµαφόρων, mutexes (αµοιβαίος αποκλεισµός-mutual exclusion) και condvars (µεταβλήτες υπό συνθήκη-conditional variables).τα επικοινωνιακά χαρακτηριστικά είναι σε γενικές γραµµές επαρκή. Κατανεµηµένες εφαρµογές µπορούν να 26

27 επικοινωνήσουν µέσω αποµακρυσµένων κλήσεων συναρτήσεων (remote procedure calls-rpc) και εξωτερικής αναπαράστασης δεδοµένων (external data representation (XDR)). Φυσικά το γνωστό TCP/IP πρωτόκολλο είναι διαθέσιµο, ενώ παρέχεται και µια τροποποιηµένη έκδοση αυτού του πρωτοκόλλου από την Wind River κάτω από το όνοµα pna+ το οποίο περιλαµβάνει την τεχνολογία µηδενικής αντιγραφής (zero copy technology). Η τεχνολογία αυτή ελαχιστοποιεί την αντιγραφή δεδοµένων µέσω του δικτύου. Το psosystem πωλείται µε ένα πλήρες σύνολο από εργαλεία, µε σηµαντικότερα εξ αυτών το prism+ που είναι ένα ολοκληρωµένο περιβάλλον ανάπτυξης εφαρµογών και το probe ο οποίος είναι ένας ανεξάρτητος αποσφαλµατώτης (debugger). Τέλος θα πρέπει να σηµειωθεί ότι το psosystem είναι ένα εµπορικό λειτουργικό σύστηµα µε υψηλό κόστος απόκτησης και ότι ο πηγαίος κώδικας δεν είναι διαθέσιµος. Τα παραπάνω συνηγορούν στο να µην προτιµηθεί το psosystem. 3.4 RTXC Το RTXC είναι ένα προϊόν της εταιρίας lineo. Υπάρχουν δύο διαφορετικές εκδόσεις του RTXC, το RTXC Quadros και το RTXC DSP και επειδή και τα δύο διαθέτουν το ίδιο API 13 (Application Programming Interface) όλες οι εφαρµογές που αναπτύσσονται για την µια έκδοση είναι συµβατές και µε την άλλη. Το RTXC έχει ελάχιστες απαιτήσεις, συγκεκριµένα είναι δυνατόν να λειτουργήσει µε 4 KB ROM και 4 KB RAM µόνο. OS RTXC Development Environment Support Modularity Scalability Distributed Central-controlled Memory Support Lineo Tools Modular Scalable Central-Controlled Static and Dynamic Memory Partitions 27

28 Communication Message Passing Synchronization Messages, Queues, Semaphores Low power Free Source Code Platforms Supported Όχι N/A Ναι 93 Processors, 52 Boards Το RTXC βασίζεται σε ένα µικρό ντετερµινιστικό, modular πυρήνα. Είναι σχεδιασµένο κυρίως για συστήµατα που διαθέτουν µόνο ένα επεξεργαστή, ωστόσο παρέχεται και το κατάλληλο API για πολυεπεξεργασιτκά συστήµατα. Οι ενδώδιεργασικές (intra-process) επικοινωνίες επιτυγχάνονται µέσω ανταλλαγής µηνυµάτων (message passing), ενώ ο συγχρονισµός πραγµατοποιείται µέσω µηνυµάτων (messages), ουρών (queues) και σεµαφόρων. Το RTXC επιτρέπει την δέσµευση τµηµάτων µνήµης δυναµικά, άλλα και στατικά. Είναι ιδιαίτερα θετικό ότι υποστηρίζονται ουσιαστικά όλοι οι γνωστοί µικροεπεξεργαστές και πλακέτες (boards), ενώ εξίσου θετικό είναι ότι παρέχεται και ο πηγαίος κώδικας. Τέλος όπως αναµενόταν δεν προβλέπονται λειτουργίες για εξοικονόµηση ενέργειας. Το RTXC αν και µόνο του δύσκολα θα µπορούσε να αποτελέσει την πρώτη επιλογή, εν τούτοις σε συνδυασµό µε το Embedix που ακολουθεί αποτελεί καλή επιλογή. 3.5 Embedix Το Embedix είναι µια ειδική έκδοση του γνωστού λειτουργικού συστήµατος Linux ειδικά διαµορφωµένο και βελτιστοποιηµένο για ενσωµατωµένες συσκευές. Απαιτεί 1 MB µνήµης για συστήµατα που υποστηρίζουν MMU και 500 KB για συστήµατα που δεν διαθέτουν MMU. Το Embedix 14 χρησιµοποιεί το Real Time Application Interface (RTAI) για linux. Το RTAI ακολουθεί στρατηγική παρόµοια µε αυτή του RTLinux, άλλα αντί να διαθέτει real time kernel πυρήνα πραγµατικού χρόνου, όπως το RTLinux, το RTAI χρησιµοποιεί το Real Time Hardware Abstraction Layer (RTHAL), το 28

29 οποίο αναλαµβάνει να παρακολουθεί και συλλαµβάνει (intercept) τα interrupts κατευθείαν από το υλικό και τα µεταδίδει στο RTAI. Ο real time scheduler εκτελεί τα τις εκκρεµείς διεργασίες πραγµατικού χρόνου και εν συνεχεία παραδίδει τον έλεγχο στον βασικό πυρήνα. Πρέπει να τονισθεί ότι ο βασικός πυρήνας εκτελείται µόνο όταν το RTAI είναι ανενεργό, όπως ακριβώς συµβαίνει και στην περίπτωση του RTLinux. OS Embedix Development Environment Lineo Tools + GNU Tool Chain Support Modularity Scalability Distributed Modular Scalable Distributed Central-controlled Memory Support Communication RT-FIFOs Linux Memory Management SYS V IPC, Shared Memory, Synchronization Messages, Queues, Semaphores, Mailboxes, Mutexes, Events, Alarms, Counters, Low power Free Source Code Platforms Supported Όχι Ναι* Ναι 93 Processors, 52 Boards Η Lineo πρόσφατα παρουσίασε µια νέα διαµορφωµένη έκδοση του Embedix η οποία εξασφαλίζει την συνεργασία µεταξύ του Embeddix και του RTXC Quadro. Σε αυτή την προσέγγιση το ο πυρήνας του RTXC αντικαθιστά το RTAI. Συγκεκριµένα το RTHAL µετατρέπεται, έτσι ώστε να διαδίδει τα interrupts στο RTXC. Το Embedix είναι σε θέση να επικοινωνήσει µε το RTXC µέσω του RTXC Quadros API. Αυτή η αρχιτεκτονική επιτρέπει σε διαφορετικούς επεξεργαστές στους οποίους εκτελείται είτε το RTXC Quadro, είτε το RTXC DSP, είτε το Embedix Linux να επικοινωνούν µεταξύ τους αποτελεσµατικά. Τόσο το RTXC, όσο και το Linux είναι σε θέση εκτελούνται 29

30 και µόνα τους αλλά και συνδυασµένα, όπως περιγράφηκε παραπάνω. Η αρχιτεκτονική αυτή επιτρέπει την υποστήριξη ετερογενών κατανεµηµένων υπολογιστικών συστηµάτων, κάτι το οποίο είναι ιδιαίτερα θετικό. Επιπλέον η προσέγγιση αυτή απολαµβάνει τα πλεονεκτήµατα ενός ανοικτού πηγαίου κώδικα λειτουργικού συστήµατος, ενώ παράλληλα είναι σε θέση να τηρήσει hard real time περιορισµούς. Η Lineo παρέχει εκτός από το γνωστό σύνολο των GNU εργαλείων και ένα επιπλέον πλήρες προγραµµατιστικό περιβάλλον που ονοµάζεται Embedix SDK 2.0, ενώ και διάφορα εργαλεία από τρίτους κατασκευαστές είναι διαθέσιµα. Οι απαιτήσεις του λειτουργικού ανέρχονται στο 1 MB ROM και στα 4 MB RAM για τον κύριο επεξεργαστή, σε αυτόν δηλαδή που θα εκτελείται το Linux. Τέλος προβληµατίζει το γεγονός ότι το Embedix Linux περιέχει και αρκετά τµήµατα κώδικα τα οποία δεν υπόκεινται στην άδεια GPL µε αποτέλεσµα να περιπλέκεται αρκετά το ιδιοκτησιακό καθεστώς που διέπει το προϊόν. Ας σηµειωθεί ότι η απόκτηση του προϊόντος από την lineo είναι αρκετά δαπανηρή. 3.6 QNX Το QNX είναι ένα ιδιαίτερα δηµοφιλές σύστηµα στον χώρο της βιοµηχανίας και σίγουρα ένα ιδιαίτερα καλοσχεδιασµένο. Βασίζεται στην αρχιτεκτονική του microkernel (µικροπυρήνα) ωστόσο η υλοποίηση του είναι µακράν η καλύτερη σε σχέση µα υπόλοιπα λειτουργικά που έχουν εξεταστεί µέχρι στιγµής. Ο πυρήνας του QNX είναι ιδιαίτερα διαβαθµιζόµενος και σπονδυλωτός (scalable and modular ). Ο πυρήνας µπορεί να επεκταθεί δυναµικά προσθέτοντας υπηρεσίες οι οποίες υλοποιούνται ως διεργασίες (processes). Κάθε διεργασία έχει ακριβώς την ίδια δοµή, άσχετα αν πρόκειται για κάποια εφαρµογή, για κάποιο οδηγό συσκευής (device driver), για κάποια υπηρεσία του συστήµατος, για κάποιο σύστηµα αρχείων (file system) ή οτιδήποτε άλλο. Το µεγαλύτερο τµήµα των ενδοεπικοινωνιών και διεπικοινωνιών (inter- and intra-communications) βασίζεται στην τεχνική της ανταλλαγής µηνυµάτων (message passing), η οποία προσφέρει σηµαντικά πλεονεκτήµατα. Το θέµα του συγχρονισµού αντιµετωπίζεται µε την χρήση των 30

31 µεταβλητών συνθηκών, αµοιβαίου αποκλεισµού και των σεµαφόρων (mutexes, condition variables and semaphores). OS QNX Development Environment QNX + Third Party Tools Support Modularity Scalability Distributed Central-controlled Memory Support Modular Scalable MicroKernel Central-controlled SMP Supported Physical memory is divided in 4k pages. Full protection model Private Virtual Memory Communication Message Passing, POSIX Message Queues, Pipes, FIFOs Synchronization Mutexes, Condvars, Barriers, Sleep on Locks, Read/Writer locks, Semaphores, Atomic Operations, Send /Receive Policy Low power Free Source Code Platforms Supported Όχι Όχι Όχι PowerPC, MIPS, ARM, x86 Κάθε εφαρµογή εκτελείται στο QNX 15 στην δικιά της περιοχή µνήµης η οποία είναι προστατευµένη αποκλείοντας το ενδεχόµενο µια κακογραµµένη εφαρµογή να οδηγήσει σε κατάρρευση ολόκληρο το σύστηµα, ενώ θα πρέπει να σηµειωθεί ότι η µνήµη είναι σελιδοποιηµένη (paged). Το QNX µεταξύ άλλων παρέχει και την δυνατότητα για κατευθείαν εκτέλεση εφαρµογών από την ROM, ενώ η αρχιτεκτονική του που όπως προαναφέρθηκε βασίζεται στην ανταλλαγή µηνυµάτων (message passing), επιτρέπει διάφανη (transparent) κατανεµηµένη πολυεπεξεργασία. Θα πρέπει βέβαια να σηµειωθεί ότι αυτή η 31

Ταυτόχρονη Διαχείριση Διεργασιών σε Ενσωματωμένα Συστήματα Εφαρμόσιμη σε Οδηγό Πολυμεσικών Εφαρμογών

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

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

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές Βασίλης Βλάχος vbill@aueb.gr Υποψήφιος Διδάκτορας Τμήματος Διοικητικής Επιστήμης και Τεχνολογίας 1 Σχεδιασμός ενσωματωμένων συστημάτων

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

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

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

Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005

Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005 Θεωρητικό Μέρος Εργαστήριο Υπολογιστικών Συστημάτων Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2005 2 η ΑΣΚΗΣΗ Έλεγχος κίνησης µάζας 1 Τα Ενσωµατωµένα Συστήµατα (embedded systems) είναι υπολογιστικά συστήµατα

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

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι

Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Χρονοδρομολόγηση Ι Μοντέλα διεργασιών, Προθεσμίες και Αλγόριθμοι Μ.Στεφανιδάκης Χρονοδρομολόγηση (scheduling) αλγόριθμος επιλογή (init) READY RUNNING (terminate)

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

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

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

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

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών. ΕΙΣΑΓΩΓΗ Υλισµικό (Hardware) Επεξεργαστής-ΚΜΕ (Processor, CPU): εκτέλεση εντολών Μνήµη (Memory): προσωρινή αποθήκευση πληροφοριών Μονάδες ε/ε (I/O devices): Μονάδες δίσκων: Μόνιµη αποθήκευση πληροφοριών

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

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

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

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

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

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

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

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

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

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

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

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

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

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

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ ΕΡΩΤΗΣΗ 1: Σε ποιες μεγάλες κατηγορίες μπορούμε να χωρίσουμε το Λογισμικό. Μπορούμε να χωρίσουμε το Λογισμικό στις παρακάτω μεγάλες κατηγορίες: στο Λογισμικό Συστήματος (System Software),

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.

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

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος Κεφάλαιο 2: Λογισμικό (Software) 1 2.1 Λογισμικό Συστήματος και Λογισμικό Εφαρμογών Λογισμικό Συστήματος: διαχειρίζεται το υλικό του υπολογιστή και αποτελεί τη βάση πάνω στην οποία αναπτύσσεται και εκτελείται

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

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

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

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

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

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

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

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

ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΣΧΕ ΙΑΣΜΟΥ ΠΑΡΑ ΟΤΕΟ (ΠE.3.4.1.3) ΓΙΑ ΤΟ ΥΠΟΕΡΓΟ 2 «ΑΝΑΠΤΥΞΗ ΥΠΗΡΕΣΙΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗΣ ΑΞΙΑΣ ΕΙΚΟΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΩΝ» ΤΟΥ ΕΡΓΟΥ «ΥΠΗΡΕΣΙΕΣ ΕΙΚΟΝΙΚΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΤΟΥ ΤΕΙ ΑΘΗΝΑΣ» (MIS 304191) ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ

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

«ΑΛΓΟΡΙΘΜΟΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΓΙΑ ΤΗΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΤΗΣ ΚΑΤΑΝΑΛΙΣΚΟΜΕΝΗΣ ΕΝΕΡΓΕΙΑΣ ΣΕ ΦΟΡΗΤΕΣ ΣΥΣΚΕΥΕΣ»

«ΑΛΓΟΡΙΘΜΟΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΓΙΑ ΤΗΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΤΗΣ ΚΑΤΑΝΑΛΙΣΚΟΜΕΝΗΣ ΕΝΕΡΓΕΙΑΣ ΣΕ ΦΟΡΗΤΕΣ ΣΥΣΚΕΥΕΣ» «ΑΛΓΟΡΙΘΜΟΙ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΓΙΑ ΤΗΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΤΗΣ ΚΑΤΑΝΑΛΙΣΚΟΜΕΝΗΣ ΕΝΕΡΓΕΙΑΣ ΣΕ ΦΟΡΗΤΕΣ ΣΥΣΚΕΥΕΣ» Βασίλης Βλάχος vasilis@eltrun.gr Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Διοικητικής Επιστήμης και

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

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

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

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

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

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

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

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

Σύστηµα µετάδοσης µετεωρολογικών δεδοµένων σε πραγµατικό χρόνο µέσω του Internet

Σύστηµα µετάδοσης µετεωρολογικών δεδοµένων σε πραγµατικό χρόνο µέσω του Internet Βασίλης Βλάχος Σύστηµα µετάδοσης µετεωρολογικών δεδοµένων σε πραγµατικό χρόνο µέσω του Internet Αναπλ. Καθηγητής κ. Κ.Καλαϊτζάκης Καθηγητής κ. Ν.Βούλγαρης Καθηγητής κ. Μ.Πατεράκης RES-ADMIN On Line Data

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

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τι είναι Λειτουργικό Σύστημα Κάθε Η/Υ αποτελείται από το Υλικό (Hardware) και το Λογισμικό (Software). Το Υλικό είναι το ηλεκτρικό, ηλεκτρονικό και

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

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

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

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

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

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

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

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

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

Αρχιτεκτονικές Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών Βασικά Συστατικά ενός Υπολογιστικού Συστήµατος ( οµή Οργάνωση) ιδάσκων:αναπλ.καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Αρχιτεκτονικές Υπολογιστών

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

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

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

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

Λειτουργικά Συστήματα Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 12: Ενσωματωμένα Συστήματα & RTOS Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

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

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

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

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

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

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

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

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

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

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

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

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

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

Λειτουργικά Συστήµατα Λειτουργικά Συστήµατα Περιεχόµενα Ορισµός Βασικές Λειτουργίες Κατηγορίες Κύρια Συστατικά ιαχείριση ιεργασιών Παραδείγµατα Λειτουργικά Συστήµατα Το λειτουργικό σύστηµα: Είναι ένα σύνολο προγραµµάτων που

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

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

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

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν

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

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

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

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων

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

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

RobotArmy Περίληψη έργου

RobotArmy Περίληψη έργου RobotArmy Περίληψη έργου Στην σημερινή εποχή η ανάγκη για αυτοματοποίηση πολλών διαδικασιών γίνεται όλο και πιο έντονη. Συνέχεια ακούγονται λέξεις όπως : βελτιστοποίηση ποιότητας ζωής, αυτοματοποίηση στον

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

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

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος

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

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

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

Ψηφιακή Επεξεργασία Σήματος

Ψηφιακή Επεξεργασία Σήματος ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ψηφιακή Επεξεργασία Σήματος Ενότητα Α: Περιγραφή και Τεχνικά Χαρακτηριστικά της κάρτας TMS320C5505 ezdsp Όνομα Καθηγητή: Ραγκούση

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

Ειδικό Τεύχος : Linux και Ηχος. Η Υποδοµή

Ειδικό Τεύχος : Linux και Ηχος. Η Υποδοµή Ειδικό Τεύχος : Linux και Ηχος Η Υποδοµή ηµήτρης Γλυνός glynos@storm.cs.unipi.gr Μάιος 2004 Linux και Ηχος, µια πονεµένη ιστορία Οδηγοί (drivers) για τις κάρτες ήχου παρέχονται παραδοσιακά από τους κατασκευαστές

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

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

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

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

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

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 2 η : Λειτουργία Η/Υ Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 22 Σεπτεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

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

Εργαστήριο Υπολογιστικών Συστημάτων

Εργαστήριο Υπολογιστικών Συστημάτων Εργαστήριο Υπολογιστικών Συστημάτων Θεωρητικό Υπόβαθρο Άσκηση 2 η Έλεγχος Κίνησης Μάζας Καθ. Γεώργιος Παπακωνσταντίνου Μάρτιος 2006 Τα Ενσωματωμένα Συστήματα (embedded systems) είναι υπολογιστικά συστήματα

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

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή

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

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ 1964 1981 Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία Τεχνολογία Επιδόσεις Το 1958, ο Τζακ Κίλμπυ (Jack Kilby) της εταιρείας Texas Instruments κατάφερε

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

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

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου Μ.Στεφανιδάκης Κατανεμημένα συστήματα ελέγχου Α Β διασυνδετικό δίκτυο Γ Δ Ε π.χ. οι επιμέρους

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

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

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

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

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

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

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

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

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

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

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

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ ΔΟΜΗ ΤΟΥ Η/Υ (PC compatibles) RAM CPU PCI Bridge PCI Bridges P2P Bridge RAM CPU PCI Bridge PCI2ISA Bridge Δομή της CPU Register file IP CPU TLB Level-1 cache RAM SP MMU

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

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, Εικονικοποίηση Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, 2016-2017 Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση

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

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

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

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

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

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

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Οόρος TCP/IPχρησιµοποιείται ευρέως σήµερα για να περιγράψει ένα σύνολοαπό διαφορετικές έννοιες. Η περισσότερο διαδεδοµένηχρήση του όρου αναφέρεται σε ένα επικοινωνιακό πρωτόκολλογια τη µεταφορά δεδοµένων.

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

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

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

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

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

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

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

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

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