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.
Memory protectionMemory protection is a way to control memory access rights on a computer, and is a part of most modern instruction set architectures and operating systems. The main purpose of memory protection is to prevent a process from accessing memory that has not been allocated to it. This prevents a bug or malware within a process from affecting other processes, or the operating system itself. Protection may encompass all accesses to a specified area of memory, write accesses, or attempts to execute the contents of the area.
Input–output memory management unitIn computing, an input–output memory management unit (IOMMU) is a memory management unit (MMU) connecting a direct-memory-access–capable (DMA-capable) I/O bus to the main memory. Like a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU maps device-visible virtual addresses (also called device addresses or memory mapped I/O addresses in this context) to physical addresses. Some units also provide memory protection from faulty or malicious devices.
Manual memory managementIn computer science, manual memory management refers to the usage of manual instructions by the programmer to identify and deallocate unused objects, or garbage. Up until the mid-1990s, the majority of programming languages used in industry supported manual memory management, though garbage collection has existed since 1959, when it was introduced with Lisp. Today, however, languages with garbage collection such as Java are increasingly popular and the languages Objective-C and Swift provide similar functionality through Automatic Reference Counting.
Gestion de mémoire par régionsEn informatique, la gestion de mémoire par région est un type de gestion de mémoire avec lequel chaque objet alloué est assigné à une région. Une région, alias une zone, une arène, ou un contexte mémoire, est une collection d’objets alloués qui peut être efficacement désallouée en bloc. Comme l’allocation par pile, les régions facilitent l’allocation et la désallocation de la mémoire à faible coût ; mais elles sont plus flexibles, permettant aux objets de vivre plus longtemps que la pile d’activation dans laquelle ils ont été alloués.
OrdinateurUn ordinateur est un système de traitement de l'information programmable tel que défini par Alan Turing et qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques. Sa structure physique actuelle fait que toutes les opérations reposent sur la logique binaire et sur des nombres formés à partir de chiffres binaires.
Architecture matériellevignette|Architecture matérielle d'un processeur Intel Core2. vignette|Architecture matérielle d'un Cyclops64 (BlueGene/C). L’architecture matérielle décrit l’agencement interne de composants électroniques ainsi que leurs interactions. Le terme interne employé ici permet de bien faire la différence avec l’architecture (externe) de processeur (ou architecture de jeu d'instruction), qui s'intéresse à la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine.
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).
Adresse virtuelleEn informatique, une adresse virtuelle est une adresse de la mémoire virtuelle qu'un système d'exploitation met à disposition de ses processus pour qu'ils puissent s'exécuter. L'expression est souvent employée par opposition à l'adresse physique dans laquelle elle est convertie par l'unité de gestion mémoire (MMU). Une adresse virtuelle en architecture 32 bits comprend trois parties : De 0 à 11 : index du mot dans la page. De 12 à 21: index de la page dans le répertoire. De 22 à 31 : index du répertoire dans la mémoire.
Core (microarchitecture)La microarchitecture Core est une microarchitecture x86 d'Intel, qui succède en 2006 aux architectures P6 et NetBurst. Elle fut utilisée par tous les processeurs x86 produits par Intel à l'époque, depuis le processeur pour ordinateur portable jusqu'au processeur Xeon pour serveur, d'abord gravés en puis en . Les processeurs de marque Core 2 utilisent exclusivement l'architecture Core. « Core » est en anglais un nom commun signifiant « noyau » ou « cœur », et désignant en informatique l'ensemble des structures constituant un seul microprocesseur : unités de décodages, de prédiction, d'exécution, cache L1, etc.
Architecture de von NeumannL’architecture dite architecture de von Neumann est un modèle pour un ordinateur qui utilise une structure de stockage unique pour conserver à la fois les instructions et les données demandées ou produites par le calcul. De telles machines sont aussi connues sous le nom d’ordinateur à programme enregistré. La séparation entre le stockage et le processeur est implicite dans ce modèle. Cette architecture est appelée ainsi en référence au mathématicien John von Neumann, qui a élaboré en juin 1945 dans le cadre du projet EDVAC la première description d’un ordinateur dont le programme est stocké dans sa mémoire.
Page (computer memory)A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in the page table. It is the smallest unit of data for memory management in a virtual memory operating system. Similarly, a page frame is the smallest fixed-length contiguous block of physical memory into which memory pages are mapped by the operating system. A transfer of pages between main memory and an auxiliary store, such as a hard disk drive, is referred to as paging or swapping.
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.
Microarchitectureright|400px|thumb|La microarchitecture Core d'Intel right|400px|thumb|La microarchitecture Nehalem d'Intel La microarchitecture d'un processeur est un plan de ce processeur au niveau logique. Elle décrit, par exemple : le nombre de pipelines et leur longueur respective ; le nombre de mémoires cache et associativité respectives ; l'existence de renommage de registres ; d'une unité d'exécution out-of-order ; d'une unité de prédiction de branchement. Elle est également parfois appelée architecture, bien que ce terme ait d'autres sens différents en informatique.
Intel AtomAtom est une marque d'Intel regroupant sous son nom plusieurs microarchitectures destinées principalement aux netbooks (initialement MID) et nettops puis qui s'est ensuite diversifiée vers les systèmes embarqués, l'électronique grand public (Box internet) et surtout les smartphones et tablettes tactiles. De par leurs environnements, ces processeurs sont conçus pour offrir une faible consommation électrique, gage d'autonomie, et par là même un faible dégagement thermique (TDP) favorisant ainsi leur intégration dans des systèmes compacts.
IntelIntel Corporation est une entreprise américaine fondée en 1968 par Gordon Moore, Robert Noyce et Andrew Grove. Elle est le second fabricant mondial de semi-conducteurs après Samsung si on se fonde sur le chiffre d'affaires. Elle fabrique des microprocesseurs — c'est d'ailleurs elle qui a créé le premier microprocesseur x86 —, des cartes mères, des mémoires flash et des processeurs graphiques notamment. Intel est cotée au Nasdaq sous le sigle INTC.
File system fragmentationIn computing, file system fragmentation, sometimes called file system aging, is the tendency of a to lay out the contents of non-continuously to allow in-place modification of their contents. It is a special case of data fragmentation. File system fragmentation negatively impacts seek time in spinning storage media, which is known to hinder throughput. Fragmentation can be remedied by re-organizing files and free space back into contiguous areas, a process called defragmentation.
Modified Harvard architectureA modified Harvard architecture is a variation of the Harvard computer architecture that, unlike the pure Harvard architecture, allows memory that contains instructions to be accessed as data. Most modern computers that are documented as Harvard architecture are, in fact, modified Harvard architecture. Harvard architecture The original Harvard architecture computer, the Harvard Mark I, employed entirely separate memory systems to store instructions and data. The CPU fetched the next instruction and loaded or stored data simultaneously and independently.
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.