Différence entre les temps de compilation ,les temps de chargement et de temps d'exécution?
Quelle est la différence entre moment de la Compilation , temps de chargement et temps d'exécution?
- Quelqu'un peut-il m'expliquer ces trois termes, dans un langage très simple,?
- Il serait préférable de comprendre si vous pouvez donner quelques exemples.
Cheers!
Contexte:
Classiquement, la liaison d'instructions et de données d'adresses de la mémoire peut être fait à n'importe quelle étape le long du chemin:
- Moment de la compilation. Le compilateur traduit symbolique adresses pour les adresses absolues. Si vous savez au moment de la compilation, où le processus va résider dans la mémoire, puis absolue code peut être généré (Statique).
- Temps de chargement. Le compilateur traduit symbolique des adresses relatives (amovibles). Le chargeur se traduit par ces adresses absolues. Si elle n'est pas connue au moment de la compilation, où le processus va résider dans la mémoire, alors le compilateur doit générer du code relogeable (Statique).
- Temps d'exécution. Si le processus peut être déplacé au cours de son exécution à partir d'un segment de mémoire à l'autre, alors la liaison doit être retardée jusqu'au moment de l'exécution. Les adresses absolues sont générés par le matériel. La plupart d'usage général OSs utiliser cette méthode (Dynamique).
Pourriez-vous fournir un peu plus de contexte? Où avez-vous entendu parler de ces termes? Sans plus de contexte am réponse serait un peu vague, général et à trouver des exemples serait difficile.
amende?
amende?
OriginalL'auteur BOTJr. | 2016-03-01
Vous devez vous connecter pour publier un commentaire.
Ces termes semblent s'auto-explicatives pour moi, mais ici, c'est une tentative de décrire. Liens pour d'autres lectures.
Moment de la compilation est lorsque votre code est en cours de traitement par un compilateur. Dans ce contexte, il parle d'un compilateur qui transforme votre code dans un fichier binaire exécutable.
Temps de chargement est lorsque le Système d'Exploitation est la lecture d'un fichier exécutable à partir de l'entreposage à long terme (généralement un disque dur) et chargement dans la mémoire à court terme (RAM) à partir de laquelle il peut être exécuté. Généralement le disque dur est trop lent pour alimenter le CPU, si vite de la mémoire est utilisée pour stocker des instructions et des programmes pour le CPU s'apprête à exécuter. C'est également lors de la première allocation de mémoire est réservé et initialisé dans le cadre du programme.
L'exécution temps est lorsqu'un programme est en cours d'exécution ou en cours d'exécution. Les instructions sont dans la mémoire et sont traitées par le PROCESSEUR. La mémoire supplémentaire peut être attribué et/ou libéré à ce moment.
OriginalL'auteur CoderDennis
Sans rentrer trop dans la façon dont c'est fait, je vais écrire sur ce est fait. En référence à la "liaison" mot, voici ce que je sais :
Moment De La Compilation De Liaison :
Il est la traduction d'adresses logiques aux adresses physiques au moment de la compilation. Maintenant, ce type de liaison n'est possible que dans les systèmes où l'on sait que le contenu de la mémoire principale à l'avance et de savoir ce que adresse dans la mémoire principale nous devons commencer à l'allocation. Connaissant à la fois de ces choses n'est pas possible, moderne, multi-systèmes de programmation. De sorte qu'il peut être en toute sécurité, a déclaré le moment de la compilation de liaison serait possible dans les systèmes n'ayant pas de support pour le multi-programmation.
Temps De Chargement De Liaison :
C'est la traduction de la logique d'adresses pour les adresses physiques à l'époque
de chargement. La relocalisation chargeur contient l'adresse de base dans la mémoire principale d'où l'allocation serait de commencer. Alors, quand le temps de chargement d'un processus dans la mémoire principale vient, toutes les adresses logiques sont ajoutés à la base de l'adresse par la relocalisation de chargeur pour générer les adresses physiques.
Moment De L'Exécution De Liaison :
Dans la plupart des processeurs modernes multi-programmation est pris en charge. Donc, de là vient la nécessité de changer les adresses physiques d'un endroit à un autre au cours de l'exécution. C'est pris en charge par le temps d'exécution de liaison concept. Il est utilisé dans Compactage pour supprimer la Fragmentation Externe. Il est également utilisé dans Fonctions Virtuelles.
J'espère que cela résout votre doute!
OriginalL'auteur Varad Bhatnagar
-Le code source doit être compilé en code machine pour s'programme exécutable. Cette compilation processus est appelé " moment de la compilation. Un programme compilé peut être ouvert et exécuté par un utilisateur. Lorsqu'une application est en cours d'exécution, il est appelé au moment de l'exécution.
de liaison des moyens d'association de programme d'instructions données à l'emplacement de mémoire physique.
-la compilation des moyens contraignants de l'association des instructions données dans la mémoire physique, et il est fait par le compilateur .
même façon que les temps de chargement de la liaison se fait par le chargeur et le temps d'exécution de la liaison se fait par le CPU.
OriginalL'auteur Pramod Kumar