Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Γλώσσες Προγραμματισμού Υπολογιστών

Διαφορά μεταξύ του προγραμματισμού στο σύστημα και του προγραμματισμού της εφαρμογής;

Οι όροι "προγραμματισμός στο σύστημα" και "προγραμματισμός εφαρμογών" δεν είναι τυπικοί, τυπικά καθορισμένοι όροι στην επιστήμη των υπολογιστών. Ωστόσο, μπορούμε να συμπεράνουμε τις πιθανές έννοιές τους με βάση τις κοινές πρακτικές:

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

* Ενσωματωμένα συστήματα: Προγραμματισμός μικροελεγκτών ή άλλες ενσωματωμένες συσκευές απευθείας στο υλικό στόχου. Ένας προγραμματιστής (συχνά μέσω διεπαφής JTAG ή παρόμοιου) συνδέεται με τη συσκευή και μεταφορτώνει/τροποποιεί τον κώδικα ενώ το σύστημα είναι ενεργοποιημένο (αν και μπορεί να παύσει ή σε συγκεκριμένη λειτουργία χαμηλής ισχύος). Αυτό αποφεύγει την ανάγκη να αφαιρέσετε τη συσκευή, να επαναπρογραμματίσετε εξωτερικά και στη συνέχεια να το επαναφέρετε.

* bootloaders: Ενημέρωση ή τροποποίηση του bootloader ενός συστήματος (το αρχικό λογισμικό που φορτώνει το λειτουργικό σύστημα) ενώ λειτουργεί το σύστημα. Αυτό συχνά απαιτεί προσεκτικό σχεδιασμό για να αποφευχθεί η διαφθορά του ίδιου του bootloader.

* Δυναμική φόρτωση κώδικα: Φόρτωση και εκτέλεση κώδικα κατά το χρόνο εκτέλεσης. Αυτό δεν είναι αυστηρά "προγραμματισμός" με την έννοια της σύνταξης πηγαίου κώδικα, αλλά περιλαμβάνει τη φόρτωση των προκαθορισμένων μονάδων ή των τμημάτων κώδικα στη μνήμη και καθιστώντας τα εκτελέσιμα. Αυτό είναι κοινό σε δυναμικές γλώσσες ή συστήματα που χρησιμοποιούν plugins.

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

* Scripting: Η ενσωμάτωση μιας γλώσσας δέσμης ενεργειών (όπως η Python ή η LUA) σε μια εφαρμογή επιτρέπει στους χρήστες ή τους διαχειριστές να τροποποιούν τη συμπεριφορά των εφαρμογών μέσω σεναρίων. Αυτό αλλάζει τη συμπεριφορά της εφαρμογής χωρίς να χρειάζεται να ανασυγκροτήσει τον κύριο κωδικό εφαρμογής.

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

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

* Γενιά κωδικού χρόνου εκτέλεσης: Ορισμένες εφαρμογές δημιουργούν κώδικα κατά το χρόνο εκτέλεσης και μεταφέρονται/εκτελούν τον, τροποποιώντας δυναμικά τη συμπεριφορά τους.

Οι βασικές διαφορές συνοψίζονται:

| Χαρακτηριστικό | Προγραμματισμός στο σύστημα | Προγραμματισμός στην εφαρμογή |

| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

| στόχος | Υλικολογισμικό, λογισμικό συστήματος χαμηλού επιπέδου, bootloader | Λογισμικό εφαρμογής, λειτουργικότητα μέσα στην εφαρμογή |

| Μέθοδος | Άμεση πρόσβαση μνήμης, JTAG, κλπ. | Scripting, plugins, αρχεία ρυθμίσεων, δυναμική φόρτωση κώδικα |

| Πεδίο εφαρμογής | Μεταβολές σε επίπεδο συστήματος ή χαμηλού επιπέδου | Αλλαγές για συγκεκριμένες εφαρμογές |

| Κίνδυνος | Υψηλότερος κίνδυνος αστάθειας του συστήματος εάν δεν γίνει προσεκτικά | Γενικά χαμηλότερος κίνδυνος, καθώς οι αλλαγές περιέχονται στην εφαρμογή |

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

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

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