Περίληψη: | Τα τελευταία χρόνια τα ενσωματωμένα συστήματα πραγματικού χρόνου χρησιμοποιούνται σε ολοένα
μεγαλύτερη γκάμα εφαρμογών. Κινητά τηλέφωνα, συσκευές αναπαραγωγής ψηφιακών δίσκων,
εκτυπωτές, ψηφιακές φωτογραφικές μηχανές, αποτελούν λίγα παραδείγματα συσκευών που
χρησιμοποιούν την τεχνολογία των ενσωματωμένων συστημάτων. Στην παρούσα διπλωματική εργασία ερευνήθηκαν οι δυνατότητες αξιοποίησης του Real-Time Linux σε ενσωματωμένα συστήματα.
Μελετήθηκε διεξοδικά ο πυρήνας του λειτουργικού συστήματος Linux και ο αλγόριθμος χρονοδρομολόγησης που χρησιμοποιεί. Αναζητήθηκαν τρόποι μετατροπής του Linux σε λειτουργικό σύστημα για συστήματα πραγματικού χρόνου. Για το σκοπό αυτό, μελετήθηκε η έννοια του
πραγματικού χρόνου όσον αφορά την κατασκευαστική διάσταση του συστήματος και το πρόγραμμα της εφαρμογής. Μια κατηγορία συστημάτων παραγματικού χρόνου είναι τα λειτουργικά συστήματα
με δυνατότητες πραγματικού χρόνου. Αυτά οργανώνουν και καθορίζουν την χρήση των πόρων των συστημάτων ώστε να είναι ιδανική για εφαρμογές πραγματικού χρόνου πέρα από το περιβάλλον για ανάπτυξη και εκτέλεση των προγραμμάτων που παρέχουν.
Γίνεται αναφορά στην έννοια της πολυεπεξεργασίας (multiprocessing), της χρήσης δηλαδή δύο ή και
παραπάνω κεντρικών μονάδων επεξεργασίας (CPU) σε ένα υπολογιστικό σύστημα. Λόγω της αύξησης
της θερμοκρασίας στα ηλεκτρονικά κυκλώματα με την αύξηση των ταχυτήτων ρολογιού στις κεντρικές
μονάδες επεξεργασίας και την μείωση του μεγέθους των ηλεκτρονικών, η ταχύτητα του ρολογιού αλλά
και η μείωση του μεγέθους περιορίζονται ώστε να υπάρχει αντοχή στις θερμοκρασίες που
αναπτύσσονται. Το γεγονός αυτό σε συνδυασμό με την ιδέα του multiprocessing οδήγησε στην ιδέα
των πολλαπλών ανεξάρτητων πυρήνων ανά κεντρική μονάδα επεξεργασίας (multicore systems) για
βελτίωση της αποδοτικότητας, ακόμα και των συστημάτων ευρείας κατανάλωσης.
Η διαφορά των πολυπύρηνων (multicore) συστημάτων με τα multiprocessing συστήματα, έγκειται
στην συνύπαρξη των πυρήνων σε ένα ολοκληρωμένο κύκλωμα (chip) αντί για πολλές κεντρικές
μονάδες επεξεργασίας και η ομοιότητα τους, στο ότι ουσιαστικά τα multicore συστήματα εξομοιώνουν
λειτουργίες πολυεπεξεργασμού. Πλεόν, πολλά ενσωματωμένα συστήματα διαθέτουν πολυπύρηνους
επεξεργαστές καθιστώντας απαραίτητη την ανάπτυξη λειτουργικών συστημάτων πραγματικού χρόνου
που να αξιοποιούν στο έπακρο τις δυνατότητες τους.
Δοκιμάστηκε και αξιολογήθηκε η επέκταση ASMP-Linux που αποτελεί έναν τρόπο μετατροπής του
Linux σε λειτουργικό σύστημα πραγματικού χρόνου. Το ASMP-Linux αξιοποιεί τις ικανότητες
πολυεπεξεργασίας ενός συστήματος με τη δυνατότητα δημιουργίας διαμερισμάτων πραγματικού
χρόνου σε κάθε στοιχείο επεξεργασίας. Αναπτύχθηκε εφαρμογή αξιολόγησης σε γλώσσα
προγραμματισμού C. Τα αποτελέσματα μελετήθηκαν διεξοδικά μέσω γραφημάτων και εξαγωγής
στατιστικών μέτρων όπως η μέση τιμή και η τυπική απόκλιση.
Μελετήθηκε η περίπτωση χρήσης της εφαρμογής ελέγχου του Festo MecLab, που αναπτύχθηκε από
τον διδακτορικό φοιτητή Γεώργιο Δούκα. Το Festo MecLab αποτελεί μια προσομοίωση γραμμής
παραγωγής με σταθμούς στοίβαξης, μεταφοράς και χειρισμού. Η εφαρμογή ελέγχου εκτελέστηκε
επιτυχώς στο λειτουργικό σύστημα πραγματικού χρόνου ASMP-Linux και περιγράφεται στο
παράρτημα Α.
Στα πλαίσια της διπλωματικής εργασίας εκτελέστηκε στο Τεχνολογικό Πανεπιστήμιο της Βιέννης
μέσω του προγράμματος Erasmus project που αφορά την ανίχνευση και χρονοσφράγιση
προγραμμάτων ενσωματωμένων συστημάτων. H τεχνική αναφορά του project παρατίθεται στο
παράρτημα Β.
|