Ordinateur
Les logiciels informatiques sont des listes (généralement longues) d’instructions exécutables par un ordinateur. De nombreux programmes contiennent des millions d’instructions, effectuées pour certaines de manière répétitive. De nos jours, un ordinateur personnel exécute plusieurs milliards d’instructions par seconde. Depuis le milieu des années 1960, des ordinateurs exécutent plusieurs programmes simultanément. Cette possibilité est appelée multitâche. C’est le cas de tous les ordinateurs modernes. En réalité, chaque cœur de processeur n’exécute qu’un programme à la fois, passant d’un programme à l’autre chaque fois que nécessaire. Si la rapidité du processeur est suffisamment grande par rapport au nombre de tâches à exécuter, l’utilisateur aura l’impression d’une exécution simultanée des programmes. Les priorités associées aux différents programmes sont, en général, gérées par le système d'exploitation.
Analyse des logiciels malveillants
Un <a href="Langage%20machine">opcode</a> (pour "operational code") est une sous partie d'une instruction en langage machine qui identifie les opérations qui sont exécutées. Plus précisément, un programme est défini par une série d'instructions assembleur ordonnés. Une instruction est une paire composée d'un code opérationnel et d'une opérande ou d'une liste d'opérandes. Par exemple : mov ebx ebx add eax 1 xor eax eax call sub_401BCD Les segments d'instruction peuvent souvent montrer les fonctionnalités d'un programme. Des études ont montré qu'en pratique, les échantillons d'un logiciel malveillant dérivé du même code source, ou qui proviennent d'une même famille de logiciels malveillants partagent souvent un grand nombre de blocs ou segments d'instructions en commun.