Année d'apparition | Nom | Famille | Éditeur | Matériel supporté | Utilisation | Noyau | Multitâche | Multi-utilisateur | Multiprocesseur | Temps réel | |
---|---|---|---|---|---|---|---|---|---|---|---|
1973 | SYSMIC | R2E | Micral | ordinateurs personnels, stations de travail |
![]() |
![]() | |||||
1977 | VMS | DEC | VAX, DEC Alpha, Hewlett-Packard | serveurs, ordinateurs centraux |
![]() |
![]() | |||||
1978-1985 | CP/M | Digital Research | Amstrad CPC, Commodore 128, TRS-80 | ordinateurs personnels | |||||||
1981-1990 | DOS | IBM | Compatible PC | ordinateurs personnels | |||||||
1981 | Solaris | Unix | Sun | machines de Sun | serveurs, stations de travail, superordinateurs |
![]() |
![]() |
![]() |
![]() |
![]() | |
1982 | QNX | Quantum Software Systems | compatibles PC, MIPS, PowerPC, ARM | systèmes embarqués, automates industriels |
![]() |
![]() |
![]() |
![]() |
![]() | ||
1984 | Mac OS | Apple | Apple Macintosh | ordinateurs personnels |
![]() |
![]() | |||||
1984 | AmigaOS | Commodore | Commodore Amiga, PowerPC | ordinateurs personnels et consoles de jeu |
![]() |
![]() |
![]() | ||||
1986 | AIX | Unix | IBM | PS/2, RS/6000, PowerPC | ordinateurs personnels, serveurs, stations de travail, superordinateurs |
![]() |
![]() |
![]() |
![]() | ||
1986 | Irix | Unix | SGI | machines de SGI | stations de travail et serveurs |
![]() |
![]() |
![]() |
![]() |
![]() | |
1986-1996 | NeXTSTEP | Unix | NeXT | Compatible PC, SPARC, Hewlett-Packard | stations de travail |
![]() |
![]() |
![]() |
![]() | ||
1987-2006 | OS/2 | IBM et Microsoft | PS/2 et Compatible PC | ordinateurs personnels |
![]() |
![]() |
![]() | ||||
1987 | Minix | Andrew Tanenbaum | Compatible PC, m68k, SPARC | (pédagogique) |
![]() |
![]() |
![]() | ||||
1989 | Symbian OS | Symbian ltd | Nokia, Siemens, Samsung, Panasonic | téléphones portables, smartphone, assistants personnel |
![]() |
![]() |
![]() |
![]() | |||
1991 | Linux | Unix | (communautaire) | nombreux | tous |
![]() |
![]() |
![]() |
![]() |
![]() | |
1991 | Windows NT | Windows | Microsoft | Compatible PC | serveurs, stations de travail, ordinateurs personnels |
![]() |
![]() |
![]() |
![]() |
![]() | |
1994 | NetBSD | Unix | (communautaire) | nombreux | tous |
![]() |
![]() |
![]() |
![]() |
![]() | |
1994 | FreeBSD | Unix | (communautaire) | nombreux | tous |
![]() |
![]() |
![]() |
![]() |
![]() | |
1994 | OpenBSD | Unix | (communautaire) | nombreux | tous |
![]() |
![]() |
![]() |
![]() |
![]() | |
1995 | Windows 95 | Windows | Microsoft | Compatible PC | ordinateurs personnels |
![]() |
![]() |
![]() | |||
1996 | Windows CE | Windows | Microsoft | x86, MIPS, ARM | smartphone, assistants personnels |
![]() |
![]() |
![]() | |||
1999 | Mac OS X | Unix | Apple | PowerPC de Apple | ordinateurs personnels, serveurs, station de travail |
![]() |
![]() |
![]() |
![]() |
Un système d'exploitation est typiquement organisé en couches distinctes.
La couche supérieure est l'interface de programmation avec les logiciels applicatifs (dont font partie les logiciels utilitaires fournis avec le système d'exploitation).
Au centre, on trouve une ou plusieurs couches qui contiennent les composants principaux du système d'exploitation tels que : les programmes pour les systèmes de fichiers et le réseau, la gestion de mémoire (), les pilotes, l'ordonnanceur, le gestionnaire d'interruption.
La couche inférieure, appelée couche d'abstraction matérielle (anglais hardware abstraction layer abrégé HAL), est chargée de masquer les particularités matérielles.
Le noyau (anglais kernel) est un espace mémoire isolé, dans lequel est placé tout ou partie du système d'exploitation. Dans le langage courant le terme kernel désigne l'emplacement ainsi que l'ensemble des programmes qu'il contient et qui forment le cœur rigide du système d'exploitation. Le contenu du noyau ne peut pas être modifié par inadvertance par les logiciels applicatifs – une modification provoquerait un crash de l'ordinateur.
L'architecture est dite à noyau monolithique lorsque la totalité des programmes du système d'exploitation (en particulier les pilotes, le programmes qui traitent le réseau et le système de fichier) résident dans l'espace du noyau. Dans cette architecture chaque utilisation d'une fonction de l'interface de programmation provoque une commutation de contexte et le passage en mode kernel ().
Linux, FreeBSD, OpenVMS ou Solaris sont des systèmes d'exploitation à noyau monolithique.
L'architecture est dite micro-noyau (anglais microkernel) lorsque le noyau contient le strict minimum, c'est-à-dire l'ordonnanceur et le programme qui simule la mémoire virtuelle, et que la grande majorité des programmes se trouvent en dehors : les pilotes, les programmes qui traitent les systèmes de fichiers ou l'interface graphique, ainsi que les logiciels applicatifs.
Dans cette architecture les nombreux programmes qui se trouvent en dehors du noyau sont isolés les uns des autres, sont exécutés comme des logiciels applicatifs — en concurrence — et utilisent les fonctionnalités du noyau pour s'échanger des messages. L'utilisation des fonctions de l'interface de programmation entraîne l'émission de nouveaux messages.
Minix, BeOS, Mac OS X ou QNX sont des systèmes d'exploitation à micro-noyau.
Divers systèmes d'exploitation ont une architecture qui a certaines caractéristiques des micro-noyaux et en même temps des noyaux monolithiques. Cette architecture est appelée noyau hybride macro-noyau ou micro-noyau modifié.
Dans cette architecture, la totalité des programmes du système d'exploitation résident dans le noyau, à la façon d'un noyau monolithique. Cependant de nombreux programmes du système d'exploitation sont exécutés en concurrence comme des logiciels applicatifs, à la manière de l'architecture micro-noyau (processus noyau).
Pour les processus du noyau, l'ordonnanceur effectue des commutations de contexte entre les processus de la même manière qu'entre les logiciels applicatifs, ces processus utilisent les fonctions de l'ordonnanceur pour s'échanger des messages et l'utilisation des fonctions de l'interface de programmation entraîne l'émission de messages.
Windows NT ou NetWare sont des systèmes d'exploitation à noyau hybride.
Dans l'architecture exo-noyau (du grec exos = hors de), il n'y a pas d'emplacement isolé, et le système d'exploitation est composé de programmes et de bibliothèques logicielles de construction identique à celles des logiciels applicatifs.
L'utilisation de fonctions de l'interface de programmation provoque l'exécution des instructions contenues dans une bibliothèque logicielle du système d'exploitation sans nécessiter une commutation de contexte. Une des bibliothèques logicielle est utilisée pour la transmission et la réception de messages entre les processus, les instructions de l'ordonnanceur sont incluses dans cette bibliothèque.
Mac OS, AmigaOS et Oberon sont des systèmes d'exploitation en architecture exo-noyau.