Δικτύωση

Γνώση Υπολογιστών >> Δικτύωση >  >> Voice Over IP

Πώς μεταφέρετε κάτι;

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

Λογισμικό Porting:

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

Βασικές πτυχές της μεταφοράς λογισμικού:

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

* API λειτουργικού συστήματος: Διαφορετικά OSS έχουν διαφορετικούς τρόπους να κάνουν πράγματα (π.χ. αρχείο I/O, δικτύωση, διαχείριση παραθύρων).

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

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

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

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

* κωδικοποιήσεις χαρακτήρων: Τα ζητήματα κωδικοποίησης κειμένου μπορεί να προκαλέσουν προβλήματα.

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

* Αντικατάσταση κλήσεων για το OS/Hardware: Εναλλακτική εναλλακτική λύση σε ανεξάρτητες από την πλατφόρμα ή γραφή περιτυλίγματα κώδικα ειδικά για την πλατφόρμα.

* Χρήση διαφορετικών βιβλιοθηκών: Βρίσκοντας ισοδύναμες βιβλιοθήκες ή μεταφέροντας τις απαιτούμενες βιβλιοθήκες στο σύστημα προορισμού.

* Επαναπρογραμματίζοντας τμήματα του κώδικα: Σε ακραίες περιπτώσεις, ολόκληρα τμήματα κώδικα ενδέχεται να χρειαστούν επανεγγραφή για να εργαστούν στη νέα πλατφόρμα.

* υπό όρους συλλογής: Χρησιμοποιώντας οδηγίες προεπεξεργαστών (`#ifdef`,`#ifndef`) για να συμπεριλάβετε ή να αποκλείσετε μπλοκ κώδικα βάσει της πλατφόρμας προορισμού.

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

* Δοκιμή μονάδας: Δοκιμή μεμονωμένων στοιχείων του λογισμικού.

* Δοκιμές ενσωμάτωσης: Δοκιμάζοντας τον τρόπο με τον οποίο λειτουργούν διαφορετικά εξαρτήματα.

* Δοκιμή συστήματος: Δοκιμάζοντας ολόκληρο το σύστημα λογισμικού στην πλατφόρμα προορισμού.

Porting Hardware:

Πρόκειται γενικά για την προσαρμογή των σχεδίων ή των κυκλωμάτων υλικού σε διαφορετική διαδικασία κατασκευής, συσκευασίας ή λειτουργικότητας. Για παράδειγμα, η μεταφορά ενός κυκλώματος που έχει σχεδιαστεί για ένα συγκεκριμένο FPGA (συστοιχία πύλης προγραμματισμού πεδίου) σε άλλο FPGA με διαφορετικές δυνατότητες.

Βασικές πτυχές της μεταφοράς υλικού:

* Σχηματική ανασκόπηση: Μια διεξοδική ανασκόπηση του σχεδιασμού υλικού είναι απαραίτητη για τον εντοπισμό τυχόν ασυμβατότητας με την τεχνολογία -στόχο.

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

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

* επαλήθευση και δοκιμή: Οι εκτεταμένες δοκιμές είναι ζωτικής σημασίας για να εξασφαλιστεί η σωστή λειτουργία των λειτουργιών υλικού.

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

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

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