Dynamic recompilationIn computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler. Most dynamic recompilers are used to convert machine code between architectures at runtime.
Translation de codeEn informatique, la translation de code est une technique d'émulation consistant à traduire (de l'anglais « to translate », traduire) le jeu d'instructions d'une architecture source vers le jeu d'instructions d'une architecture destination. On distingue deux types de translation de code : la translation statique, dans ce cas un fichier exécutable de la machine source est intégralement traduit en un fichier exécutable de la machine destination ; la translation dynamique (ou compilation à la volée), dans ce cas les instructions de la machine source sont traduites en instructions de la machine cible au moment même de leur exécution.
FreeBSDFreeBSD est un système d'exploitation UNIX libre. Le nom vient de l'association d'une part de free qui signifie à la fois « libre » et « gratuit » dans l'anglais courant, et d'autre part de Berkeley software distribution (BSD), l'UNIX développé à l'université de Berkeley.
NetBSDthumb|Filiation des systèmes Unix. NetBSD est un système d'exploitation libre de type Unix BSD dérivé de 386BSD et de Net/2 (4.3BSD-Lite). NetBSD est entièrement fondé sur des logiciels libres, la plupart des composants étant soumis à la Licence BSD. Le système détient le record sur le nombre d'architectures compatibles ; il peut en effet être utilisé sur plus de cinquante architectures différentes. Cette portabilité est un point central du projet, si bien que sa devise est que face à tout ordinateur, on peut déclarer : « Bien sûr, cela fonctionne avec NetBSD » (de l'anglais « Of course it runs NetBSD »).
AndroidAndroid ( , en français : ) est un système d'exploitation mobile fondé sur le noyau Linux et développé par des informaticiens sponsorisés par Google. À la suite du rachat par Google en 2005 de la startup du même nom, le système avait d'abord été lancé en juin 2007 pour les smartphones et tablettes tactiles, avant de se diversifier dans les objets connectés, ordinateurs comme les télévisions (Android TV), les voitures (Android Auto), les Chromebook (Chrome OS qui utilise les applications Android) et les smartwatch (Wear OS).
Noyau Linuxvignette|upright=2|Couches de fonctions du Noyau Linux Le noyau Linux est un noyau de système d'exploitation de type UNIX. Il est utilisé dans plusieurs systèmes d'exploitation dont notamment GNU/Linux (couramment appelé « Linux ») et Android. Le noyau Linux est un logiciel partiellement libre (contenant des BLOB et des modules non-libre - consultez Linux-libre) développé essentiellement en langage C par des milliers de bénévoles et salariés collaborant sur Internet.
VirtualPCVirtualPC est un logiciel propriétaire gratuit d'émulation et de virtualisation développé par Microsoft. Il permet d'émuler un système d'exploitation sur une architecture matérielle différente de celle à laquelle il était initialement destiné. Il permet également de faire fonctionner en même temps plusieurs systèmes d'exploitation différents sur une même machine physique. En , Microsoft a annoncé que la version Macintosh ne serait pas portée sur les Macintoshs utilisant les processeurs Intel, la version Macintosh n'est donc effectivement plus maintenue, étant donné que les Macintoshs utilisant des PowerPC ne sont plus fabriqués.
VMwareVMware est une société informatique américaine fondée en 1998, filiale d'EMC Corporation depuis 2004 (racheté par Dell le ), qui propose plusieurs produits propriétaires liés à la virtualisation d'architectures x86. C'est aussi par extension le nom d'une gamme de logiciels de virtualisation. 1999 : création de la société à Palo Alto (Californie) 1999 : VMware Workstation 2.0 2000 : IBM, Dell et Compaq deviennent partenaires 2001 : VMware GSX Server 1.0 et ESX Server 1.
Comparison of platform virtualization softwarePlatform virtualization software, specifically emulators and hypervisors, are software packages that emulate the whole physical computer machine, often providing multiple virtual machines on one physical platform. The table below compares basic information about platform virtualization hypervisors. Providing any virtual environment usually requires some overhead of some type or another. Native usually means that the virtualization technique does not do any CPU level virtualization (like Bochs), which executes code more slowly than when it is directly executed by a CPU.
XenXen est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle, de type 1. Son développement a débuté sous la forme d'un projet de recherche de l'université de Cambridge au Royaume-Uni. La société XenSource a par la suite été créée et en a poursuivi le développement. Xen permet de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités) sur une seule machine hôte. Xen est en partie intégré à la partie principale du noyau linux depuis la version 3.0.
Hardware-assisted virtualizationIn computing, hardware-assisted virtualization is a platform virtualization approach that enables efficient full virtualization using help from hardware capabilities, primarily from the host processors. A full virtualization is used to emulate a complete hardware environment, or virtual machine, in which an unmodified guest operating system (using the same instruction set as the host machine) effectively executes in complete isolation. Hardware-assisted virtualization was added to x86 processors (Intel VT-x, AMD-V or VIA VT) in 2005, 2006 and 2010 (respectively).
X86 virtualizationx86 virtualization is the use of hardware-assisted virtualization capabilities on an x86/x86-64 CPU. In the late 1990s x86 virtualization was achieved by complex software techniques, necessary to compensate for the processor's lack of hardware-assisted virtualization capabilities while attaining reasonable performance. In 2005 and 2006, both Intel (VT-x) and AMD (AMD-V) introduced limited hardware virtualization support that allowed simpler virtualization software but offered very few speed benefits.
Architecture ARMLes architectures ARM sont des architectures externes de type RISC 32 bits (ARMv1 à ARMv7) et 64 bits (ARMv8) développées par ARM Ltd depuis 1983 et introduites à partir de 1990 par Acorn Computers. L'architecture ARM est le fruit du travail de Sophie Wilson. Dotés d'une architecture relativement plus simple que d'autres familles de processeurs et faibles consommateurs d'électricité, les processeurs ARM sont aujourd'hui dominants dans le domaine de l'informatique embarquée, en particulier la téléphonie mobile et les tablettes.
Anneau de protectionUn anneau de protection (ring en anglais) est l’un des niveaux de privilèges imposés par l’architecture d’un processeur. De nombreuses architectures modernes de processeurs (architectures parmi lesquelles on trouve le populaire Intel x86) incluent une certaine forme de protection en anneau, bien que les logiciels d’exploitation ne l’exploitent pas toujours entièrement. Les rings étaient parmi les concepts les plus révolutionnaires mis en œuvre par le système d’exploitation Multics, un prédécesseur fortement sécurisé de la famille actuelle des systèmes d’exploitation UNIX.
Darwin (informatique)Darwin est un système d'exploitation libre et gratuit construit autour du noyau XNU et développé notamment par Apple. Il est dérivé de NeXTSTEP et de BSD. Sa vocation principale est de servir de base au système d'exploitation macOS. Il est distribué sous licence APSL (Apple Public Source License), certifiée libre par la FSF. Par défaut et contrairement à macOS, Darwin ne contient pas de moteur graphique Quartz ni d'interface Aqua. Il fournit initialement une invite de commande en mode texte.
ÉmulationEn informatique, l'émulation consiste à substituer à un élément de matériel informatique un logiciel. thumb|Capture d'écran de Qemu Launcher. « Émuler » signifie « simuler, sur un ordinateur, le comportement de ». L'émulation est donc une imitation du comportement physique d'un matériel par un logiciel, contrairement à la simulation, qui vise à imiter un modèle abstrait. L'émulateur reproduit le comportement d'un modèle dont toutes les variables sont connues, alors que le simulateur tente de reproduire un modèle mais en devant extrapoler une partie des variables qui lui sont inconnues (exemple : la simulation du comportement d'un trou noir).
UEFIvignette|droite|Logo du standard. vignette|Fonctionnement synthétique de l'EFI (Extensible Firmware Interface). Le standard UEFI (de l’anglais Unified Extensible Firmware Interface, signifiant en « Interface micrologicielle extensible unifiée ») définit une interface entre le micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS. AMD, American Megatrends, Apple, ARM, Dell, HP, Intel, IBM, Insyde Software, Microsoft et Phoenix Technologies sont les promoteurs de l’UEFI Forum qui définissent les normes de cette technologie.