Qu'est-ce qu'une boucle infinie?
Une boucle infinie est une condition qui oblige un programme informatique à continuer à exécuter une commande sans fin. Cela est généralement dû à l'une des trois causes suivantes: le programme n'a pas de condition de fin, la condition de fin du programme est inaccessible ou une commande de répétition provoque le redémarrage continu du programme. La plupart du temps, une boucle infinie ralentit considérablement voire même le blocage d’un ordinateur. Dans les premiers ordinateurs, ces boucles nécessitaient souvent un redémarrage, mais les systèmes d'exploitation modernes les capturaient souvent et mettaient fin au programme avant même qu'elles ne deviennent incontrôlables.
Des boucles infinies existent dans la programmation; les autres utilisations du terme sont généralement incorrectes. Dans la plupart des cas, l'objectif final du programme n'est pas de créer des boucles infinies. Un problème existe quelque part dans le code qui entraîne la création de la condition. Chacun des trois cas principaux d’une boucle infinie est entièrement basé sur la programmation et le logiciel.
Lorsqu'un programme n'a pas de condition de fin, il continuera à exécuter son dernier jeu d'instructions sans fin. Dans de nombreux cas, le programme sera bloqué car il attend des instructions finales qui ne viendront jamais. D'autres fois, la dernière instruction donnée au programme consistait à exécuter une instruction ou à traiter une commande. Dans ces cas, il continuera à faire ces choses sans fin. Ainsi, l'ordinateur se remplira lentement de commandes répétées de la boucle infinie jusqu'à ce que tout le système fonctionne sur un problème sans fin.
Une situation similaire existe lorsque la condition de fin d'un programme est inaccessible. Dans ce cas, le programme peut se terminer, mais il ne le sera jamais. Le problème avec le point final peut être lié à la programmation ou à une erreur informatique. Par exemple, si un programme demande une information spécifique à un emplacement spécifique, une erreur de programmation est que les informations sont stockées à un endroit différent. D'autre part, si les informations vont au programme, mais sont interrompues à cause d'interférences de l'utilisateur ou d'un autre programme, elles risquent de ne jamais arriver.
La dernière cause d'une boucle infinie est complètement basée sur la programmation. Une partie de la programmation contient une commande qui demande au programme de répéter quelque chose. Bien que ces commandes soient courantes, les conditions ne doivent jamais permettre à la commande répétée de revenir à la répétition initiale. Si cela se produit, le programme exécute une commande, appuie sur l'instruction de répétition, puis réexécute la commande, puis répète à nouveau, etc. Ces boucles sont les plus susceptibles d’être programmées délibérément, souvent dans le cadre d’un programme malveillant.