Προς το περιεχόμενο

RT-Linux (linux-programming)


elias120

Προτεινόμενες αναρτήσεις

Θελω να ξεκινήσω προγραμματισμό σε C στο Linux και ιδιαίτερα στο RT-Linux γιατι μου εχουν πει οτι τρεχουν πιο γρηγορα απο οτι τα windows.

Μπορει καποιος να μου δωσει οδηγιες για ενα απλο προγραμμα (οτιδηποτε akoma kai mia προσθεση πινακων) και πως επιρεαζεται ο πυρήνας.

 

η' καποιο tutorial

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το RTLinux δεν είναι εύκολη υπόθεση. Δε μιλάμε για απλό προγραμματισμό, μιλάμε για realtime εφαρμογές. Κατ' αρχάς τί ακριβώς θες να κάνεις; Αν το πρόβλημά σου είναι η ταχύτητα, τότε το RTLinux δε θα σου προσφέρει τίποτα παραπάνω από το Linux. Αν το πρόβλημά σου είναι ότι έχεις Real-Time περιορισμούς στο πρόβλημά σου, τότε ναι, το RTLinux σου κάνει (ή το RTAI, ένα άλλο RealTime extension για Linux). Αλλά ο προγραμματισμός και του RTLinux και του RTAI είναι δύσκολη υπόθεση: πρέπει να γράψεις κάτι τελείως συγκεκριμένο, χρησιμοποιώντας ένα συγκεκριμένο API για το χειρισμό της εφαρμογής σου. Για περισσότερες πληροφορίες:

http://www.rtlinuxfree.com/

http://www.rtai.org/

 

Υ.Γ.: Εγώ πάντως όταν χρειάστηκε να αντιμετωπίσω ένα Hard Real-time πρόβλημα για τη διπλωματική μου πήρα το ρίσκο και το έκανα σε απλό Linux με μονταρισμένο πυρήνα και έπαιξε μια χαρά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και εγώ ασχολούμαι με real time εφαρμογές (δουλευω με mobile robots) μεχρι τωρα δούλευα στα windows αλλα αρκετοί μου έχουν πει ότι πρέπει να δουλεψω στο RT-linux ή τουλάχιστον στο Linux αλλά επειδή δεν έχω ιδέα από Linux δεν μπορώ να καταλάβω πως επηρεάζεται ο πυρήνας και ιδιαίτερα τι αλλαγες πρεπει να κανω στον κώδικα που ειχα στα windows για να τον επηρεάσω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και μια τελευταια ερωτηση (ισως να φανει χαζη) φανταζομαι ότι θα πρεπει να εχω το Linux και στη συνεχεια να φορτωσω το RT-Linux, ετσι δεν είναι?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι, πρέπει πρώτα να έχεις Linux και μετά RTLinux. Θα σου πρότεινα να δεις το RTAI, και αυτό γιατί το RTLinux έχει μεν μια δωρεάν έκδοση, αλλά είναι αρκετά περιορισμένη, ενώ το RTAI έχει καλύτερες δυνατότητες και είναι 100% δωρεάν. Οδηγίες για το πως γράφεις προγράμματα για αυτά θα βρεις στο site του καθενός. Στα Windows σε τί προγραμμάτιζες; Αν προγραμμάτιζες σε win32 API θα πρέπει να ξεχάσεις τα πάντα και να ξαναγράψεις απ' την αρχή (εκτός από το υπολογιστικό κομμάτι σου βέβαια). Οι βιβλιοθήκες του Linux δεν έχουν καμία σχέση με αυτές των Windows στις περισσότερες περιπτώσεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Νομιζω ότι όπως είπε και ο apoikos, πριν πάρεις την απόφαση να χρησιμοποιήσεις το real-time extension του Linux (RT-Linux) θα πρέπει πρώτα να αξιολογήσεις αν στην εφαρμογή σου χρειάζεσαι πραγματικά real-time δυνατότητες. Δεν είναι θέμα ταχύτητας, είναι θέμα αν πράγματι η εφαρμογή σου θα πρέπει να ανταποκρίνεται σε πραγματικό χρόνο σε συμβάντα (πχ interrupts από hardware ή timers με απόκριση μsec). Ετσι κι αλλιως, άν ψαχνεις για ένα πραγματικά multithread περιβάλλον, μπορείς να χρησιμοποιήσεις τα posix-threads που συμπεριλαμβάνονται στην κανονική clib.

Αν επιμείνεις, λόγω προδιαγραφών, να στραφείς σε RT-Linux θα πρέπει να κάνεις patch τον standard πυρήνα με το RT-Linux και στη συνέχεια να κάνεις compile για να μπουτάρεις το συστημα σου με αυτόν. Το api του RT-Linux δεν είναι ομοιο ουτε με το Win API, ουτε με τα posix-threads του κανονικού linux.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ξερω C++ και matlab. Moυ εχουν οτι το Linux ειναι αρκετα πιο γρηγορο απο τα windows ακομα και σε απλες εφαρμογες. Το RT-Linux ξερω οτι προκειται για real time εφαρμογες αλλα δεν μπορω να καταλαβω τι διαφορα ολων αυτων(σε χρονους) γιατι δεν τα εχω δουλεψει.

οτι τελικα θα δουλεψω με RT-Linux ειναι βεβαιο γιατι ασχολούμαι με robot motion planning σε off-line προβληματα και τωρα πηραμε καποια mobile και θα προχωρήσουμε και σε real time applications και προετοιμάζομαι

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Η αναλυση του robot planning δεν χρειαζεται real-time, ενω ο controller του χρειάζεται....

 

Με πρόλαβες :-).

 

@elias120: Γενικώς οτιδήποτε γίνεται off-line δεν είναι real-time εφαρμογή. Real-time εφαρμογή για παράδειγμα είναι το on-the-fly path-planning με ανάδραση από το ίδιο το ρομπότ. Επομένως για αυτά που κάνεις αυτή τη στιγμή δε χρειάζεσαι RTLinux και δεν υπάρχει κανένας λόγος να ασχοληθείς μαζί του. Αν όμως περάσεις σε έλεγχο των robot με Linux, τότε μπορεί και να χρειαστείς RTLinux. Ρίξε μια ματιά και προς το QNX πάντως.

 

Επιπλέον το realtime δεν έχει καμία σχέση με την ταχύτητα. Realtime σημαίνει απλά ότι πρέπει η εφαρμογή που έχεις να ανταποκρίνεται σε συγκεκριμένους χρονικούς περιορισμούς, διότι κατά κανόνα ελέγχει ένα πραγματικό σύστημα σε πραγματικό χρόνο. Realtime είναι ο έλεγχος θερμοκρασίας μιας χημικής διεργασίας, όπου οι χαρακτηριστικοί χρόνοι μπορεί να είναι της τάξης της μίας ώρας, realtime είναι και ο έλεγχος ροπής ενός ρομποτικού βραχίονα, όπου ο χρόνος αντίδρασης σε εξωτερικά ερεθίσματα (π.χ. επαφή με κάποιο εμπόδιο) θες να είναι της τάξης κάποιων (μονοψήφιων) ms. Οπότε μη συγχέεις το realtime με το "γρήγορο".

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ωραία παιδιά ευχαριστώ, απλός είχα την εντύπωση οτι στο Linux ενα προγραμμα τρεχει πιο γρηγορα

 

Τρέχει πιο γρήγορα αλλά όχι κατά κανόνα, και έτσι κι αλλιώς αυτό είναι άλλη ιστορία.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...