λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Άλλα Λογισμικό Ηλεκτρονικών Υπολογιστών

Η σχέση μεταξύ διαφορετικών τύπων λογισμικού και της μηχανής τύπου με την οποία είναι συμβατή;

Η σχέση μεταξύ του λογισμικού και του τύπου της μηχανής που είναι συμβατή με είναι πολύπλοκη, αλλά βράζει σε αρκετούς βασικούς παράγοντες:

1. Οδηγία Ορίστε αρχιτεκτονική (ISA): Αυτό είναι το θεμελιώδες επίπεδο. Το ISA ορίζει το σύνολο των οδηγιών που κατανοεί ο επεξεργαστής. Το λογισμικό (συγκεκριμένα, ο κώδικας μηχανής) πρέπει να είναι γραμμένο για να ταιριάζει με το ISA του επεξεργαστή -στόχου. Για παράδειγμα:

* x86: Χρησιμοποιείται από τους περισσότερους υπολογιστές επιφάνειας εργασίας και φορητών υπολογιστών που εκτελούν παράθυρα, macOS και Linux. Το λογισμικό που καταρτίζεται για το X86 θα εκτελεστεί σε επεξεργαστή Intel ή AMD.

* βραχίονα: Κυριαρχεί για κινητές συσκευές (smartphones, tablet) και ολοένα και πιο ενσωματωμένα συστήματα. Το λογισμικό που καταρτίζεται για το ARM θα τρέξει σε ένα πυρίτιο της Apple (M1, M2), το Qualcomm Snapdragon ή άλλους επεξεργαστές με βάση το ARM.

* RISC-V: Ένα νεότερο, ανοιχτό κώδικα ISA που κερδίζει έλξη. Το λογισμικό πρέπει να καταρτιστεί ειδικά για τους επεξεργαστές RISC-V.

* powerpc: Χρησιμοποιείται σε μερικούς παλαιότερους Mac και ορισμένα εξειδικευμένα συστήματα.

Εάν το ISA του λογισμικού δεν ταιριάζει με το ISA του επεξεργαστή, δεν θα τρέξει.

2. Λειτουργικό σύστημα (OS): Το λειτουργικό σύστημα λειτουργεί ως ενδιάμεσος μεταξύ του λογισμικού και του υλικού. Το λογισμικό πρέπει συχνά να καταρτιστεί ή να σχεδιαστεί για να λειτουργεί με ένα συγκεκριμένο λειτουργικό σύστημα.

* Windows: Πολλές εφαρμογές είναι αποκλειστικά γραμμένες για τα Windows.

* macOS: Το λειτουργικό σύστημα της Apple, κυρίως για το δικό της υλικό.

* Linux: Εξαιρετικά ευπροσάρμοστο και τρέχει σε μια μεγάλη γκάμα αρχιτεκτονικών υλικού. Ωστόσο, το λογισμικό που κατασκευάστηκε για μία κατανομή Linux ενδέχεται να μην είναι άμεσα συμβατό με άλλο (αν και συχνά προσαρμόζεται εύκολα).

* Android (με βάση το Linux): Κυρίως για κινητές συσκευές.

* iOS (με βάση το UNIX): Το κινητό λειτουργικό σύστημα της Apple.

Το λογισμικό που έχει σχεδιαστεί για τα Windows δεν θα λειτουργεί συνήθως απευθείας σε macOS ή Linux χωρίς σημαντική τροποποίηση ή εξομοίωση (χρησιμοποιώντας προγράμματα όπως κρασί ή εικονικές μηχανές).

3. Πόροι συστήματος: Ακόμη και αν το ISA και το OS είναι συμβατά, το λογισμικό ενδέχεται να απαιτεί συγκεκριμένες δυνατότητες υλικού:

* ταχύτητα και πυρήνες επεξεργαστή: Το απαιτητικό λογισμικό χρειάζεται έναν ισχυρό επεξεργαστή.

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

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

* Κάρτα γραφικών: Τα παιχνίδια και οι εφαρμογές έντασης γραφικών απαιτούν μια ικανή κάρτα γραφικών.

4. Αρχιτεκτονική λογισμικού:

* Εθνικές εφαρμογές: Συντάχθηκε απευθείας για την αρχιτεκτονική Target OS και Hardware, προσφέροντας βέλτιστες επιδόσεις.

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

* Εφαρμογές ιστού: Εκτελέστε σε ένα πρόγραμμα περιήγησης ιστού, προσφέροντας ευρεία συμβατότητα, εφόσον το πρόγραμμα περιήγησης υποστηρίζει τις απαιτούμενες τεχνολογίες (π.χ. HTML, CSS, JavaScript).

5. Τα στρώματα συμβατότητας και η εξομοίωση:

* Εικονικά μηχανήματα (VMS): Επιτρέψτε στη λειτουργία ενός ολόκληρου λειτουργικού συστήματος (και του λογισμικού του) σε ένα άλλο λειτουργικό σύστημα. Αυτό επιτρέπει την εκτέλεση του λογισμικού των Windows σε Mac, για παράδειγμα.

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

* στρώματα μετάφρασης: Λογισμικό που μεταφράζει οδηγίες από το ένα ISA σε άλλο, επιτρέποντας το λογισμικό που καταρτίζεται για μια αρχιτεκτονική να τρέχει σε διαφορετικό (αν και συχνά με κάποια ποινή απόδοσης).

Συνοπτικά, η συμβατότητα λογισμικού είναι ένα πολύπλευρο ζήτημα. Εξαρτάται από ένα συνδυασμό της ISA του λογισμικού, της συμβατότητας του OS, των απαιτούμενων πόρων του συστήματος, της αρχιτεκτονικής λογισμικού και της χρήσης των στρωμάτων συμβατότητας και των τεχνολογιών εξομοίωσης. Με απλά λόγια:Όσο πιο κοντά είναι ο αγώνας μεταξύ των απαιτήσεων του λογισμικού και των δυνατοτήτων του μηχανήματος, τόσο πιο πιθανό είναι το λογισμικό να τρέξει με επιτυχία.

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

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