9Aug

Τι σημαίνει αυτό για το λογισμικό να τρέχει εγγενώς;

Όταν οι άνθρωποι αναφέρονται στη λειτουργία του εγγενούς λογισμικού, της εξομοίωσης και της συμβατότητας του λογισμικού, ποια είναι ακριβώς αυτά που αναφέρονται;Διαβάστε παρακάτω καθώς μπαίνουμε στην έννοια του εγγενου λογισμικού.

Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται σε επαφή με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.

Η ερώτηση

SuperUser αναγνώστης Throsby είναι περίεργος για το τι σημαίνει να τρέχει το λογισμικό εγγενώς.Γράφει:

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

Διαβάστε για μια εξαιρετική αναλογία που εξηγεί ακριβώς τι σημαίνει να είσαι εγγενής σε ένα δεδομένο σύστημα.

Ο συνεργάτης απάντησης

SuperUser Deltik προσφέρει μια φανταστική αναλογία που υπογραμμίζει αυτό που σημαίνει για το λογισμικό να είναι εγγενές και το είδος του άλλου λογισμικού που μπορεί να βρει σε ένα δεδομένο σύστημα:

Ένα λογισμικό είναι εγγενές σε μια πλατφόρμα αν είχε σχεδιαστεί για να τρέχειαυτή την πλατφόρμα.

Μια πλατφόρμα συνήθως αναφέρεται σε ένα λειτουργικό σύστημα, αλλά μπορεί επίσης να εφαρμοστεί σε συσκευές όπως το Nintendo Game Boy.

Χρησιμοποιώντας το Game Boy ως παράδειγμα, παίρνει το λογισμικό του από τις κασέτες.Αυτές οι κασέτες περιέχουν κώδικα που τρέχει εγγενώς στο Game Boy.

Οι εξομοιωτές είναι ένα στρώμα που επιτρέπει το λογισμικό που έχει σχεδιαστεί για μια πλατφόρμα να τρέχει σε μια άλλη.Για παράδειγμα, υπάρχουν εξομοιωτές που μπορούν να εκτελέσουν εικόνες από κασέτες Game Boy και σας επιτρέπουν να παίζετε παιχνίδια Game Boy στον υπολογιστή σας ή ακόμα και στο κινητό σας τηλέφωνο.Το στρώμα συμβατότητας

A είναι σαν ένα εξομοιωτή.Όταν οι υπολογιστές και τα λειτουργικά συστήματα 64-bit έγιναν mainstream, έπρεπε να είναι συμβατά με τις υπάρχουσες τεχνολογίες 32 bit.Επειδή οι αρχιτεκτονικές 64-bit και 32-bit είναι πολύ διαφορετικές, συχνά απαιτείται ένα στρώμα συμβατότητας για την εκτέλεση λογισμικού 32-bit σε μηχανές 64 bit.Για τις εκδόσεις 64 bit των Microsoft Windows, η Microsoft χρειάστηκε να γράψει ένα επίπεδο συμβατότητας έτσι ώστε τα προγράμματα 32 bit να συνεχίσουν να λειτουργούν στο νέο σύστημα 64 bit.Αυτός είναι ο λόγος για τον οποίο ορισμένα προγράμματα εγκαθίστανται συχνά σε ένα φάκελο που ονομάζεται Πρόγραμμα αρχείων( x86), όπου το x86 σημαίνει "32-bit".Τα στρώματα συμβατότητας

τείνουν να είναι πιο στενά με το εγγενές σύστημα από ό, τι οι εξομοιωτές.Το VirtualBox εξομοιώνει υλικό για λειτουργικά συστήματα * και τα συστήματα που εξομοιώνει δεν έχουν πολύ άμεση αλληλεπίδραση με το σύστημα κεντρικού υπολογιστή.Το WoW64 είναι ένα στρώμα συμβατότητας , δεδομένου ότι επιτρέπει την εκτέλεση προγραμμάτων 32 bit στα Windows 64-bit με πιο ολοκληρωμένο τρόπο.Το WoW64 βοηθά τα προγράμματα να είναι συμβατά και όχι να τα εξομοιώνουν σε ένα απομονωμένο περιβάλλον.Βιβλιοθήκη μεταφράσεων

A Το είναι ένα στοιχείο των στρώσεων συμβατότητας.Κάθε φορά που ο δυαδικός κώδικας εκτελείται μη-φυσικά, μια βιβλιοθήκη μεταφράσεων βοηθάει στην ανακατεύθυνση ξένων, μη-γηγενών κλήσεων σε εγγενείς κλήσεις τις οποίες μπορεί να καταλάβει το σύστημα.Τα προγράμματα συναρμολόγησης που γράφονται για το πρωτότυπο TI-83 ενδέχεται να μην είναι συμβατά με τους νεότερους αριθμητικούς υπολογιστές TI-83/84 Plus, επειδή ορισμένες κλήσεις που έχουν νόημα στην αρχιτεκτονική του TI-83 μπορεί να μην ισχύουν πλέον στο TI-83/84 +.Μια βιβλιοθήκη μετάφρασης( πιθανώς περιλαμβάνεται σε κελύφη όπως το MirageOS) διασφαλίζει ότι οι κλήσεις για το TI-83 πηγαίνουν στα νέα, ενημερωμένα σημεία των υπολογιστών TI-83/84 +.

Ο κώδικας ανεξάρτητος από πλατφόρμα γράφεται σε μια γλώσσα που ερμηνεύεται από κάτι που συνήθως τρέχει εγγενώς.Για παράδειγμα, η PHP είναι μια γλώσσα προγραμματισμού που ερμηνεύεται και εκτελείται από το εγκατεστημένο δυαδικό αρχείο PHP, το οποίο έχει ήδη καταρτιστεί για λειτουργικά συστήματα που βασίζονται σε Windows, Mac και Unix.Ο κώδικας PHP που γράφουν οι web scripters είναι ανεξάρτητοι από την πλατφόρμα, επιτρέποντας στον κώδικα να λειτουργεί σε πολλαπλά λειτουργικά συστήματα, αρκεί η PHP να είναι εγκατεστημένη για αυτά τα λειτουργικά συστήματα.

Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.