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.
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.
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.
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.
Erreur de pageUne erreur de page (page fault) est dans le fonctionnement d'un ordinateur la découverte d'une différence entre le plan d'adressage et la mémoire vive. Cette interruption ou exception est émise par le matériel (l'unité de gestion mémoire du processeur) en direction du logiciel (le système d'exploitation). Cette erreur est fréquente et tout à fait bénigne dans les systèmes d'exploitation modernes car ceux-ci utilisent une grande quantité de mémoire virtuelle sans en avertir les applications.
Cache de processeurUn cache de processeur est une antémémoire matérielle utilisée par l'unité centrale de traitement (CPU) d'un ordinateur pour réduire le coût moyen (temps ou énergie) de l’accès aux données de la mémoire principale. Un cache de processeur est une mémoire plus petite et plus rapide, située au plus près d'une unité centrale de traitement (ou d'un cœur de microprocesseur), qui stocke des copies des données à partir d'emplacements de la mémoire principale qui sont fréquemment utilisés avant leurs transmissions aux registres du processeur.
Segmentation (informatique)En informatique, la segmentation est une technique de découpage de la mémoire. Elle est gérée par l'unité de segmentation de l'unité de gestion mémoire (dite MMU, Memory Management Unit), utilisée sur les systèmes d'exploitation modernes, qui divise la mémoire physique (dans le cas de la segmentation pure) ou la mémoire virtuelle (dans le cas de la segmentation avec pagination) en segments caractérisés par leur adresse de début et leur taille (décalage).
Extension d'adresse physiqueLa technique d'extension d'adresse physique (EAP) ou Physical Address Extension (PAE) est une fonctionnalité des processeurs x86 qui permet d'adresser jusqu'à de mémoire physique sur des systèmes 32 bits (autrement limités à ), pourvu que le système d'exploitation le supporte. La PAE est fournie par les processeurs Intel Pentium Pro et suivants (incluant tous les processeurs de la série Pentium à l'exception des Pentium M disposant d'un bus ), ainsi que par des processeurs compatibles tels ceux d'AMD.
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.
HyperviseurUn hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d’exploitation de fonctionner en parallèle dans une seule machine physique. Les hyperviseurs sont classés actuellement en deux catégories : Un hyperviseur de Type 1, natif, voire « bare metal » (littéralement « métal nu »), est un logiciel qui s'exécute directement sur une plateforme matérielle ; cette plateforme est alors considérée comme outil de contrôle du système d'exploitation.
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.
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.
Erreur de segmentationUne erreur de segmentation (en anglais segmentation fault, en abrégé segfault) est un plantage d'une application qui a tenté d'accéder à un emplacement mémoire qui ne lui était pas alloué. Les applications, lorsqu'elles s'exécutent, ont besoin de mémoire vive, allouée par le système d'exploitation. Une fois allouée à l'application, aucune autre application ne peut avoir accès à cette zone ; cela garantit une sûreté de fonctionnement pour chaque application contre les erreurs des autres.
Mémoire virtuellethumb|Schéma de principe de la mémoire virtuelle. En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il repose sur l'utilisation de traduction à la volée des adresses (virtuelles) vues du logiciel, en adresses physiques de mémoire vive. La mémoire virtuelle permet : d'utiliser de la mémoire de masse comme extension de la mémoire vive ; d'augmenter le taux de multiprogrammation ; de mettre en place des mécanismes de protection de la mémoire ; de partager la mémoire entre processus.
Fragmentation (informatique)thumb|Processus de fragmentation et défragmentation d'un système de fichiers. En informatique, la fragmentation peut désigner plusieurs concepts : la fragmentation d'un disque dur, la fragmentation de la mémoire vive, la fragmentation des paquets dans les réseaux informatiques à commutation de paquets. Le disque dur d'un ordinateur est divisé en secteurs et le système d'exploitation les rassemble pour former des blocs (clusters en anglais). Ainsi, un fichier est contenu sur un nombre entier de blocs : le dernier bloc n'est pas toujours entièrement rempli de données.
Single address space operating systemIn computer science, a single address space operating system (or SASOS) is an operating system that provides only one globally shared address space for all processes. In a single address space operating system, numerically identical (virtual memory) logical addresses in different processes all refer to exactly the same byte of data. Single address-space operating systems offer certain advantages. In a traditional OS with private per-process address space, memory protection is based on address space boundaries ("address space isolation").
Adresse physiqueIn computing, a physical address (also real address, or binary address), is a memory address that is represented in the form of a binary number on the address bus circuitry in order to enable the data bus to access a particular storage cell of main memory, or a register of memory-mapped I/O device. In a computer supporting virtual memory, the term physical address is used mostly to differentiate from a virtual address.
X64x86-64, ou x64, est une extension du jeu d'instructions x86 d'Intel, introduite par la société AMD avec la gamme AMD64. Intel utilisera cette extension en l'appelant initialement EM64T renommé aujourd'hui en Intel 64. Cette extension permet la gestion des nombres sur 64 bits, avec pour corollaire un adressage mémoire bien au-delà de 4 Go. À cela s'ajoute le doublement (de 8 à 16) du nombre de registres généralistes et vectoriels (SSE). Long Mode : mode 64 bits natif avec compatibilité 32 bits (des programmes non recompilés peuvent être utilisés sans perte de performance notable).
Mode protégéLe mode protégé est un mode de fonctionnement des processeurs basés sur l'architecture x86 d'Intel à partir du 80286. Il est aussi présent dans les séries x86-64 sous deux formes possibles : et . L'introduction du mode protégé a pour but d'ajouter, à côté du mode dit réel compatible avec l'existant, de nouvelles fonctionnalités pour favoriser le multitâche et la stabilité du système en proposant une assistance matérielle pour les points suivants : protection de la mémoire (niveaux de privilèges) ; support de la mémoire virtuelle (segmentation puis, à partir du 80386, pagination) ; commutation de contexte ; adressage sur à partir du 80386.
NX BitLe NX Bit, pour No eXecute, est une technique de protection d'espace exécutable utilisée dans les processeurs pour dissocier les zones de mémoire contenant des instructions, donc exécutables, des zones contenant des données, protégeant le système des virus et chevaux de Troie utilisant les failles de dépassement de tampon. Le NX Bit est intégré pour la première fois sur les processeurs AMD, d'abord sur les processeurs Opteron en avril 2003, puis sur les processeurs Athlon en septembre 2003.