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

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

Ποια είναι τα διάφορα συστήματα σύνδεσης στον προγραμματισμό του συστήματος;

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

1. Στατική σύνδεση:

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

* Πλεονεκτήματα:

* Απλότητα: Ευκολότερο στην ανάπτυξη, καθώς μόνο το εκτελέσιμο πρέπει να διανεμηθεί.

* Προβλέψιμη συμπεριφορά: Το περιβάλλον χρόνου εκτέλεσης του προγράμματος είναι αυτόνομο.

* Μειονεκτήματα:

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

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

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

2. Δυναμική σύνδεση (κοινόχρηστες βιβλιοθήκες):

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

* Πλεονεκτήματα:

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

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

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

* Μειονεκτήματα:

* overheadtime overhead: Οι βιβλιοθήκες φόρτωσης κατά το χρόνο εκτέλεσης προσθέτουν ένα μικρό γενικό κόστος απόδοσης (αν και συνήθως αμελητέες).

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

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

3. Δυναμική σύνδεση φορτίου χρόνου:

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

* Πλεονεκτήματα:

* μικρότερα εκτελέσιμα από τη στατική σύνδεση.

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

* Μειονεκτήματα:

* μεγαλύτερος χρόνος εκκίνησης από τη στατική σύνδεση.

* Ακόμα ευαίσθητα σε θέματα εξάρτησης όπως η δυναμική σύνδεση.

4. Δυναμική σύνδεση χρόνου εκτέλεσης:

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

* Πλεονεκτήματα:

* Μέγιστη ευελιξία: Οι απαραίτητες βιβλιοθήκες φορτώνονται μόνο όταν χρειάζεται. Χρήσιμο για αρχιτεκτονικές προσθήκες.

* Μειονεκτήματα:

* Σημαντική έξοδος χρόνου εκτέλεσης: Η δυναμική φόρτιση προσθέτει σημαντική πολυπλοκότητα και πιθανές κυρώσεις απόδοσης.

* Σφάλμα επιρρεπής: Απαιτεί προσεκτικός χειρισμός της φόρτωσης και εκφόρτωσης της βιβλιοθήκης.

5. Σύνδεση μεταξύ επεξεργασίας:

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

* Πλεονεκτήματα:

* Modular Design: Προωθεί ανεξάρτητη ανάπτυξη και συντήρηση διαφορετικών διαδικασιών.

* ευρωστία: Η αποτυχία σε μία διαδικασία δεν μειώνει απαραιτήτως ολόκληρο το σύστημα.

* Μειονεκτήματα:

* σύνθετη εφαρμογή: Το IPC περιλαμβάνει σημαντικά γενικά έξοδα και πολυπλοκότητα.

* απόδοση: Η επικοινωνία μεταξύ των διαδικασιών είναι πιο αργή από ό, τι μέσα σε μία μόνο διαδικασία.

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

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

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