Un lock-out de logiciels est un problème d'ordinateur qui peut se produire dans les systèmes multiprocesseurs. Ce lock-out peut provoquer l'exécution d'un ordinateur à baisser de façon spectaculaire, et empêcher l'utilisation de la capacité de traitement supplémentaire. Dans les ordinateurs multiprocesseurs modernes, un logiciel spécial de système d'exploitation doit être utilisé pour éviter le dysfonctionnement du lock-out de logiciels.
La survenance d'un lock-out de logiciel a d'abord été décrit par IBM ™ scientifique Stuart Madnick en 1968. À ce stade précoce de l'histoire de l'ordinateur, Madnick prédit que les ordinateurs personnels seraient devenus plus petits et moins coûteux au cours des prochaines décennies, mais continueront à être limitées à peu près les mêmes vitesses de transfert de données. Cette prédiction s'est avérée surtout correct, et la puissance utile des ordinateurs est souvent augmentée en ajoutant simplement des processeurs supplémentaires.
La principale cause de lock-out du logiciel n'est pas une erreur en soi, mais plutôt une caractéristique. Dans un ordinateur avec plusieurs processeurs reliés entre eux, il n'y a aucun avantage à avoir de multiples processeurs chaque manipulation de la même information. En fait, les processeurs différents chaque tentative de modification d'une seule source de données peut corrompre l'original. Pour éviter que plusieurs unités d'ouvrir les mêmes informations, un seul processeur est autorisé à accéder, tandis que les composants de traitement restantes sont "verrouillés" du fichier.
Cette méthode de verrouillage est efficace pour les ordinateurs avec un faible nombre de processeurs. L'approche devient un problème, cependant, dans les dispositifs avec une large gamme d'unités de traitement liés. Logiciel lock-out limite sévèrement l'évolutivité et l'efficacité de l'ajout de plusieurs processeurs pour ordinateurs, car il ya des limites à la quantité de données rapides peuvent être répartis entre l'espace de stockage et les processeurs.
Pas de machine, y compris un ordinateur, est totalement efficace, cette inefficacité inhérente devient plus complexe dans les ordinateurs multiprocesseurs. Un ordinateur avec seize processeurs, par exemple, pourrait avoir une de ses processeurs en attente à tout moment parce que les données ne peuvent pas être distribués aussi rapidement que nécessaire. À un certain point, l'inefficacité du composé signifie qu'il n'est plus utile pour augmenter le nombre de processeurs dans un ordinateur. Ajout d'un millier de processeurs à un système est inutile, puisque la vitesse des données est limitée et la majorité des processeurs redondants serait coincé dans un lock-out de logiciels constant.
Logiciel lock-out peut être minimisé en utilisant un système d'exploitation qui est spécifiquement conçu pour les processeurs multiples. Un logiciel spécialisé est capable de briser une source de données dans de nombreuses pièces différentes, et de distribuer ces parties aux transformateurs. Cette approche réduit le besoin de verrouiller les processeurs, puisque chaque unité peut traiter qu'une petite partie des données originales.Essentiellement, le logiciel multiprocesseur permet de s'assurer que chaque unité de traitement est toujours une tâche, et conserve les données découlant d'une manière plus distribuée et dispersée uniformément.