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.
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.
Machine virtuellethumb|Machine virtuelle des assistants personnels Palm. En informatique, une machine virtuelle (anglais virtual machine, abr. VM) est d'un appareil informatique créée par un logiciel d'émulation ou instanciée sur un hyperviseur. Le logiciel d'émulation simule la présence de ressources matérielles et logicielles telles que la mémoire, le processeur, le disque dur, voire le système d'exploitation et les pilotes, permettant d'exécuter des programmes dans les mêmes conditions que celles de la machine simulée.
VirtualisationLa virtualisation consiste, en informatique, à exécuter sur une machine hôte, dans un environnement isolé, des systèmes d'exploitation — on parle alors de virtualisation système — ou des applications — on parle alors de virtualisation applicative. Ces ordinateurs virtuels sont appelés serveur privé virtuel (Virtual Private Server ou VPS) ou encore environnement virtuel (Virtual Environment ou VE).
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).
Conteneur (virtualisation)La virtualisation au niveau du système d'exploitation est un paradigme de système d'exploitation (SE) dans lequel le noyau permet l'existence de plusieurs instances d'espace utilisateur isolées, appelées le plus souvent conteneurs (LXC, Solaris containers, Docker, Podman), mais également zones (Solaris containeurs), serveurs privés virtuels (OpenVZ), partitions, environnements virtuels, noyaux virtuels (DragonFly BSD) ou encore prisons (FreeBSD jail ou chroot jail).
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.
Memory pagingIn computer operating systems, memory paging (or swapping on some Unix-like systems) is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.
Table des pagesdroite|vignette|Relations entre les pages adressée par les adresses virtuelles et les pages en mémoire physique. La mémoire physique peut contenir des pages appartenant à de nombreux processus. Les pages peuvent être conservées sur disque si elles sont rarement utilisées ou si la mémoire est pleine. Dans le diagramme ci-dessus, certaines pages ne sont pas dans la mémoire physique. La table des pages est la structure de données utilisée par un système de mémoire virtuelle dans un système d'exploitation pour stocker les correspondances entre adresses virtuelles et adresses physiques.
Translation lookaside bufferLe translation lookaside buffer, ou TLB, est une mémoire cache du processeur utilisée par l'unité de gestion mémoire (MMU) dans le but d'accélérer la traduction des adresses virtuelles en adresses physiques. Sans TLB, le processeur doit consulter la table des pages à chaque fois qu'une adresse virtuelle est utilisée. Lorsque la table des pages est stockée en mémoire, avec plusieurs niveaux d'indirection, cela ralentit considérablement les accès mémoire.
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.
Application virtualizationApplication virtualization is a software technology that encapsulates computer programs from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense, although it is still executed as if it were. The application behaves at runtime like it is directly interfacing with the original operating system and all the resources managed by it, but can be isolated or sandboxed to varying degrees.
Full virtualizationIn computer science, full virtualization (fv) employs techniques used to create instances of an environment, as opposed to simulation, which models the environment; or emulation, which replicates the target environment such as certain kinds of virtual machine environments. Full virtualization requires that every salient feature of the hardware be reflected into one of several virtual machines – including the full instruction set, input/output operations, interrupts, memory access, and whatever other elements are used by the software that runs on the bare machine, and that is intended to run in a virtual machine.
Unité de gestion de mémoireUne unité de gestion mémoire (MMU pour memory management unit), parfois appelée unité de gestion de mémoire paginée (PMMU pour paged memory management unit), est un composant permettant de contrôler les accès qu'un processeur fait à la mémoire de l'ordinateur dans lequel il est placé. À l'époque des premiers microprocesseurs, il s'agissait d'un circuit intégré dédié. Puis le MMU a été intégré aux microprocesseurs, à partir du 80286 pour la gamme Intel x86, à partir du 68030 pour la gamme Motorola 680x0.
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.
Gestion de la mémoireLa gestion de la mémoire est une forme de gestion des ressources appliquée à la mémoire de l'ordinateur. L'exigence essentielle de la gestion de la mémoire est de fournir des moyens d'allouer dynamiquement des portions de mémoire aux programmes à leur demande, et de les libérer pour réutilisation lorsqu'elles ne sont plus nécessaires. Ceci est essentiel pour tout système informatique avancé où plus d'un processus peuvent être en cours à tout moment. Catégorie:Architecture informatique Catégorie:Pages avec
Green threadIn computer programming, a green thread (virtual thread) is a thread that is scheduled by a runtime library or virtual machine (VM) instead of natively by the underlying operating system (OS). Green threads emulate multithreaded environments without relying on any native OS abilities, and they are managed in user space instead of kernel space, enabling them to work in environments that do not have native thread support. Green threads refers to the name of the original thread library for the programming language Java (that was released in version 1.
Supervisor Call instructionThis article covers the specific instruction on the IBM System/360 and successor mainframe computers, and compatible machines. For the general concept of an instruction for issuing calls to an operating system, see System call. A Supervisor Call instruction (SVC) is a hardware instruction used by the System/360 family of IBM mainframe computers up to contemporary zSeries, the Amdahl 470V/5, 470V/6, 470V/7, 470V/8, 580, 5880, 5990M, and 5990A, and others; Univac 90/60, 90/70 and 90/80, and possibly others; the Fujitsu M180 (UP) and M200 (MP), and others; and is also used in the Hercules open source mainframe emulation software.
Page replacement algorithmIn a computer operating system that uses paging for virtual memory management, page replacement algorithms decide which memory pages to page out, sometimes called swap out, or write to disk, when a page of memory needs to be allocated. Page replacement happens when a requested page is not in memory (page fault) and a free page cannot be used to satisfy the allocation, either because there are none, or because the number of free pages is lower than some threshold.
Thread (informatique)thumb|Un processus avec deux threads. Un thread ou fil (traduction normalisés par ISO/CEI 2382-7:2000 (autres appellations connues : processus léger, fil d'exécution, fil d'instruction, processus allégé, exétron, tâche, voire unité d'exécution ou unité de traitement) est similaire à un processus car tous deux représentent l'exécution d'un ensemble d'instructions du langage machine d'un processeur. Du point de vue de l'utilisateur, ces exécutions semblent se dérouler en parallèle.