Code automodifiableUn code automodifiable est, en programmation informatique, un programme qui peut se modifier lui-même, c’est-à-dire appeler des routines, fonctions ou méthodes qui seront créées par le programme lui-même. En dehors de l'idée, qui relève pour le moment de la fiction, d'un robot qui modifierait lui-même sa finalité, l'utilisation la plus courante du code automodifiable est l'optimisation de la vitesse d'exécution d'un programme : par exemple un interpréteur peut analyser le code source qu'il est en train d'exécuter, se rendre compte qu'une fonction est appelée fréquemment, et en réaliser à la volée une version compilée, qui sera exécutée plus rapidement.
Noyau de système d'exploitationUn noyau de système d’exploitation, ou simplement noyau, ou kernel en anglais, est une des parties fondamentales de certains systèmes d’exploitation. Il gère les ressources de l’ordinateur et permet aux différents composants — matériels et logiciels — de communiquer entre eux. En tant que partie du système d’exploitation, le noyau fournit des mécanismes d’abstraction du matériel, notamment de la mémoire, du (ou des) processeur(s), et des échanges d’informations entre logiciels et périphériques matériels.
Système d'exploitationEn informatique, un système d'exploitation (souvent appelé OS — de l'anglais operating system — ou parfois SE — en français) est un ensemble de programmes qui dirige l'utilisation des ressources d'un ordinateur par des logiciels applicatifs. Il reçoit des demandes d'utilisation des ressources de l'ordinateur de la part des logiciels applicatifs. Le système d'exploitation gère les demandes ainsi que les ressources nécessaires évitant les interférences entre les logiciels.
Environnement d'exécutionUn environnement d'exécution ou runtime est un logiciel responsable de l'exécution des programmes informatiques écrits dans un langage de programmation donné. Un runtime offre des services d'exécution de programmes tels que les entrées-sorties, l'arrêt des processus, l'utilisation des services du système d'exploitation, le traitement des erreurs de calcul, la génération d'événements, l'utilisation de services offerts dans un autre langage de programmation, le débogage, le profilage et le ramasse-miette.
SingularitySingularity est le nom d'un projet expérimental de système d'exploitation de 2003 à 2010 par Microsoft Research et vise à atteindre une certaine sûreté de fonctionnement. Pour cela, il est presque intégralement développé en code managé. À l'époque, ce projet voulait être la prochaine génération de système d'exploitation de Microsoft et est son projet pluri-départemental le plus important. Singularity n'a plus rien à voir avec les anciens Windows, car les qui y travaillent à plein temps sont partis de rien et, , le noyau n'est composé que de (ce qui est peu pour un système d'exploitation).
Hardware virtualizationHardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physical characteristics of a computing platform from the users, presenting instead an abstract computing platform. At its origins, the software that controlled virtualization was called a "control program", but the terms "hypervisor" or "virtual machine monitor" became preferred over time.
Sécurité logicielle des smartphonesLa sécurité logicielle des smartphones ou sécurité logicielle des téléphones intelligents est devenue une préoccupation de plus en plus importante de l'informatique liée à la téléphonie mobile. Elle est particulièrement préoccupante car elle concerne la sécurité des informations personnelles disponibles au sein des smartphones. De plus en plus d'utilisateurs et d'entreprises utilisent au jour le jour des smartphones comme outils de communication mais aussi pour la planification, la gestion et l'organisation de leurs vies professionnelle et privée.
No instruction set computingNo instruction set computing (NISC) is a computing architecture and compiler technology for designing highly efficient custom processors and hardware accelerators by allowing a compiler to have low-level control of hardware resources. NISC is a statically scheduled horizontal nanocoded architecture (SSHNA). The term "statically scheduled" means that the operation scheduling and Hazard handling are done by a compiler. The term "horizontal nanocoded" means that NISC does not have any predefined instruction set or microcode.
Instruction set architectureIn computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation. In general, an ISA defines the supported instructions, data types, registers, the hardware support for managing main memory, fundamental features (such as the memory consistency, addressing modes, virtual memory), and the input/output model of a family of implementations of the ISA.
Hacker (sécurité informatique)En sécurité informatique, le terme hacker, francisé hackeur ou hackeuse, désigne une personne qui recherche les moyens de contourner les protections logicielles et matérielles. Il agit par curiosité, à la recherche de la gloire, par conscience politique, contre rémunération, ou bien par vengeance ou malveillance. L'usage dans ce sens est contesté par la sous-culture du même nom, qui propose le terme cracker pour le remplacer, sans qu'il parvienne à s'imposer.