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.
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.
Perte de paquetsLa perte de paquets se produit lorsqu'un ou plusieurs paquets de données transitant par un réseau informatique n'arrivent pas à destination. La perte de paquets est causée soit par des erreurs de transmission de données, généralement sur des réseaux sans fil soit par une congestion du réseau. La perte de paquets est mesurée en pourcentage des paquets perdus par rapport aux paquets envoyés. Le protocole de transmission de données informatiques (TCP en anglais) détecte la perte de paquets et effectue des retransmissions pour assurer une messagerie fiable .
Symmetric multiprocessingUn multiprocesseur symétrique (à mémoire partagée), ou symmetric shared memory multiprocessor (SMP), est une architecture parallèle qui consiste à multiplier les processeurs identiques au sein d'un ordinateur, de manière à augmenter la puissance de calcul, tout en conservant une unique mémoire. Disposer de plusieurs processeurs permet d'exécuter simultanément plusieurs processus du système, utilisateur ou noyau en leur allouant l'un ou l'autre des processeurs disponibles, ce qui augmente la fluidité lors de l'exécution de plusieurs programmes, et permet à un processus d'utiliser plus de ressources de calcul en créant plusieurs threads.
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.
Zero-copy"Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another or in which unnecessary data copies are avoided. This is frequently used to save CPU cycles and memory bandwidth in many time consuming tasks, such as when transmitting a at high speed over a network, etc., thus improving the performance of programs (processes) executed by a computer. Zero-copy programming techniques can be used when exchanging data within a user space process (i.
Pile de protocolesUne pile de protocoles est une mise en œuvre particulière d'un ensemble de protocoles de communication réseau. L'intitulé « pile » implique que chaque couche de protocole s'appuie sur celles qui sont en dessous afin d'y apporter un supplément de fonctionnalité. Il en existe de plusieurs : thumb|Position de la couche réseau dans le modèle OSI et dans TCP-IP • Le « modèle de référence OSI » — OSI signifiant « Open Systems Interconnection » soit en français « Interconnexion de systèmes ouverts » — défini par l'ISO décrit ainsi sept couches empilées les unes sur les autres.
OS/2OS/2 est un système d'exploitation créé par Microsoft et IBM, qui a ensuite été développé par IBM seul. Le nom OS/2 signifie Operating System/2 (operating system signifie système d'exploitation en anglais). Ce nom fut choisi en référence à la gamme de PC de seconde génération d'IBM nommée IBM Personal System/2, sur lesquels OS/2 était installé, en remplacement de PC-DOS et surtout, comme nous le verrons par la suite, afin de dépasser ses limites. La première version (sans interface graphique, , multitâche) est sortie en .
Langage de programmationthumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.
Mach (noyau)Mach (prononcé ) est un noyau de système d'exploitation libre et gratuit écrit en langage C tout en étant orienté objet. Il est portable, temps réel et satisfait le niveau B3 des critères de sécurité du standard TCSEC. Bien que souvent mentionné comme un des premiers micro-noyaux, toutes les versions de Mach n'en sont pas. Il servit de base à XNU, le noyau de Darwin (la base de Mac OS X – qui n’est pas un micro-noyau) et au projet Hurd (qui est quant à lui un micro-noyau).