συστήματα

Γνώση Υπολογιστών >> συστήματα >  >> Unix

Το Unix είναι ακατάλληλο για εφαρμογές σε πραγματικό χρόνο, επειδή μια διαδικασία που εκτελείται σε λειτουργία πυρήνα μπορεί να μην προληφθεί περίτεχνα;

Έχετε δίκιο, η δήλωση ότι το UNIX είναι ακατάλληλη για εφαρμογές σε πραγματικό χρόνο, επειδή μια διαδικασία που εκτελείται σε λειτουργία πυρήνα μπορεί να μην προληφθεί είναι εν μέρει αληθής αλλά χρειάζεται κάποια διευκρίνιση . Ας σπάσουμε γιατί:

Κατανόηση του προβλήματος

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

* Λειτουργία πυρήνα: Όταν μια διαδικασία εκτελείται σε λειτουργία πυρήνα, έχει άμεση πρόσβαση στο υλικό και τους πόρους του συστήματος. Αυτό είναι απαραίτητο για εργασίες όπως ο χειρισμός διακόπτης ή η διαχείριση συσκευών εισόδου/εξόδου.

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

Γιατί η δήλωση είναι εν μέρει αληθής

Η δήλωση επικεντρώνεται σε ένα κρίσιμο ζήτημα στα παραδοσιακά συστήματα που μοιάζουν με UNIX. Ο πυρήνας, ενώ είναι υπεύθυνος για τον προγραμματισμό, δεν είναι πάντα προληπτικός. Αυτό σημαίνει ότι:

1. Εάν μια λειτουργία του πυρήνα, ακόμη και μια χαμηλή προτεραιότητα, διαρκεί πολύ χρόνο για να εκτελέσει, μπορεί να εμποδίσει άλλα καθήκοντα, συμπεριλαμβανομένων των καθηκόντων σε πραγματικό χρόνο υψηλής προτεραιότητας.

2. Οι προθεσμίες έχασαν: Εάν μια εργασία σε πραγματικό χρόνο πρέπει να τρέξει, αλλά μια λειτουργία πυρήνα εμποδίζει, η προθεσμία για αυτό το έργο μπορεί να χάσει.

Γιατί είναι υπεραπλουστευμένο

* Δεν είναι όλα τα συστήματα UNIX τα ίδια: Υπάρχουν παραλλαγές στον τρόπο με τον οποίο τα διαφορετικά συστήματα που μοιάζουν με UNIX χειρίζονται την προτίμησή του. Μερικοί νεότεροι πυρήνες, όπως το Linux, έχουν εισαγάγει τεχνικές για τη βελτίωση της προτίμησης, καθιστώντας τους πιο κατάλληλες για σενάρια σε πραγματικό χρόνο.

* επεκτάσεις σε πραγματικό χρόνο: Πολλά συστήματα τύπου UNIX έχουν επεκτάσεις σε πραγματικό χρόνο (όπως το POSIX σε πραγματικό χρόνο) που αντιμετωπίζουν αυτόν τον περιορισμό. Αυτές οι επεκτάσεις παρέχουν:

* Προγραμματισμός βάσει προτεραιοτήτων: Οι εργασίες σε πραγματικό χρόνο μπορούν να αποδοθούν υψηλότερες προτεραιότητες από τις κανονικές διαδικασίες.

* Χρονοδιακόπτες και προθεσμίες: Τα καθήκοντα σε πραγματικό χρόνο μπορούν να συσχετιστούν με προθεσμίες και χρονομετρητές, επιτρέποντας στο σύστημα να επιβάλλει χρονικούς περιορισμούς.

* προληπτικοί πυρήνες: Ορισμένες επεκτάσεις σε πραγματικό χρόνο περιλαμβάνουν προληπτικούς πυρήνες για να διασφαλιστεί ότι τα καθήκοντα υψηλής προτεραιότητας δεν καθυστερούν.

Συμπέρασμα

Ενώ είναι αλήθεια ότι η έλλειψη προληπτικού κώδικα πυρήνα σε ορισμένες παραδοσιακές εφαρμογές UNIX αποτελούσε σημαντικό εμπόδιο για εφαρμογές σε πραγματικό χρόνο, δεν είναι μια πλήρης δήλωση της κατάστασης. Τα σύγχρονα συστήματα που μοιάζουν με UNIX, ιδίως με επεκτάσεις σε πραγματικό χρόνο, έχουν κάνει σημαντικές βελτιώσεις στην αντιμετώπιση αυτού του ζητήματος. Ωστόσο, για εφαρμογές με αυστηρές απαιτήσεις σε πραγματικό χρόνο, η επιλογή ενός συστήματος με προληπτικό πυρήνα και επεκτάσεις σε πραγματικό χρόνο είναι ζωτικής σημασίας.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα