Return to search

Αξιοποιώντας το Real-Time Linux σε ενσωματωμένα συστήματα

Τα τελευταία χρόνια τα ενσωματωμένα συστήματα πραγματικού χρόνου χρησιμοποιούνται σε ολοένα
μεγαλύτερη γκάμα εφαρμογών. Κινητά τηλέφωνα, συσκευές αναπαραγωγής ψηφιακών δίσκων,
εκτυπωτές, ψηφιακές φωτογραφικές μηχανές, αποτελούν λίγα παραδείγματα συσκευών που
χρησιμοποιούν την τεχνολογία των ενσωματωμένων συστημάτων. Στην παρούσα διπλωματική εργασία ερευνήθηκαν οι δυνατότητες αξιοποίησης του 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 παρατίθεται στο
παράρτημα Β. / In recent years, embedded real time systems are used in an increasingly wider range of applications. Mobile phones, compact discs players, printers, digital cameras, are a few examples of devices
using the technology of embedded systems. This thesis investigated the possibilities of Real-Time Linux in embedded systems.
The kernel of the Linux operating system and its scheduling algorithm was studied in detail. Ways of making Linux a real time operating system were sought. For this purpose, the essence of real time on the construction aspect of the system and the program application was studied. A class of real time-systems is real time operating systems. They organize and determine the use of resources systems that are ideal for real-time applications over the development environment and implementation of programs.
The concept of multiprocessing, ie the use of two or
more central processing units (CPU) on a computer system was also studied. Due to the increasing
temperatures in electronic circuits and the reducing size of electronics, a limit in the reducing size is set, in order to withstand high temperatures. This, coupled with the idea of multiprocessing led to the idea
multiple independent cores per CPU (multicore systems) to improve efficiency, even that of large-scale consumption.
The difference between multi-core and multiprocessing systems is the coexistence of cells in an integrated circuit (chip) instead of several CPU's and their similarity is that multicore systems implement multiprocessing
functions. Moreover, many embedded systems have multi-core processors making it necessary to develop real-time operating systems
to exploit their full capabilities.
We tested and evaluated the ASMP-Linux patch, which is a way of converting
Linux operating system in a real time operating system. The ASMP-Linux fully exploits the capabilities of
a multiprocessing system by adding the ability to partition the operating system in real time partitions on each independent core/CPU. An assesment application was developed in the C programming language. The results have been studied extensively through graphs and statistical measures such as mean and standard deviation.
We studied the use of a control application of the Festo MecLab, developed by
the doctoral student George Doukas. The Festo MecLab is a production line simulation
that implements functions such as stacking, transport and handling. The control application was executed successfully in the real-time operating system ASMP-Linux and is described in Annex A.
As part of this thesis a project on the detection and timestamping programs of embedded systems was performed at the Technical University of Vienna
via the Erasmus program. A technical report of the project is given in Annex B.

Identiferoai:union.ndltd.org:upatras.gr/oai:nemertes:10889/4194
Date21 March 2011
CreatorsΧρυσοχού, Αγγελική
ContributorsΘραμπουλίδης, Κλεάνθης, Chrysochou, Angeliki, Παλιουράς, Βασίλειος
Source SetsUniversity of Patras
Languagegr
Detected LanguageGreek
TypeThesis
Rights0

Page generated in 0.0025 seconds