Les principaux systèmes d’exploitation
Les systèmes d’exploitation ou « Operating System » (OS) sont des programmes informatique qui gèrent les différents composants et périphériques d’un ordinateur (processeur, mémoire, disque dur, écran, clavier, carte réseau…) et proposent des fonctionnalités de gestion des utilisateurs, de la mémoire, sécurité, répartition des tâches en-cours d’exécution et en attente… dans un noyau (« kernel »). Les applications (traitement de texte, application comptable, jeux vidéo…) utilisent des applications dédiées ou tierces qui envoient et reçoivent des données du système d’exploitation.
Les principaux systèmes d’exploitation sont BSD (Mac OS), Linux, Unix, Windows. Le développement singulier ou combiné de ces OS a donné lieu à des OS utilisés actuellement dans le grand public et dans le monde professionnel.
Dans les grandes lignes, le développement des principaux systèmes d’exploitation
Unix
L’OS Unix a été crée dans une société des télécommunications des USA au début des années 70 et distribué comme système d’exploitation propriétaire. Unix (le noyau unix et les applications) a été un des premiers systèmes d’exploitation multi-tâches, multi-utilisateurs, stable avec des fonctionnalités de sécurité.
Au cours des différentes versions de développement d’unix, les développeurs se sont concentrés sur l’optimisation de l’os au niveau du noyau (kernel), c’est-à-dire un système d’exploitation qui occupe le moins d’espace disque (utilisation des librairies partagées) tout en maintenant ou améliorant les performances.
Un groupe de développeurs ont recrée des applications unix « utilisateurs » avec les caractéristiques communes d’être libre de droit (gratuites), d’avoir un code source accessible, modifiable… Ces applications portent le nom de GNU
Les travaux de ces développeurs « gnu » ont eu un succès significatif notamment du fait des améliorations et de la qualité du travail. Une de ces applications est le module de compilation gnu (GCC) ou gnu Compiler Collection (gnu make) avec les librairies associées. Les applications ou logiciels gnu peuvent se retrouver dans d’autres systèmes d’exploitation dans une plus ou moins grande mesure comme unix, linux, mac osx, windows…
Dans sa forme commerciale professionnelle, l’os unix se retrouve dans les systêmes d’exploitation comme AIX (IBM), HP-UX, Solaris… et dans sa forme commerciale grand public dans les systèmes d’exploitation mac OS X.
L’os unix peut nécessiter un matériel et des périphériques dédiés car les fabricants de périphériques ne peuvent pas accéder « librement » aux librairies des noyaux unix et doivent développer un pilote (driver) pour chacuns de ces noyaux.
Linux
Linux est une réécriture améliorée du noyau (kernel) de l’os unix en 1991 par un étudiant, Linux Torvald. Du fait de cette réécriture au sens réimplémentation et pas recopie (analogie d’une chaise dans une matière (bois, métal…) vers une autre matière), l’os linux ressemble à l’os unix et partage des similarités avec une licence moins restrictive.
L’os linux-gnu a été distribué avec les caractéristiques des licences gnu et inclut dans une grande mesure les applications gnu. En d’autres mots, linux est un noyau (linux kernel) et les applications autour de ce noyau sont des applications gnu. Ces applications gnu comme les commandes terminal CLI (Command Line Interface ou ligne de commande), le module de compilation gnu (GCC)… permettent d’utiliser le système d’exploitation linux et le noyau linux propose des librairies pour que ces applications accèdent aux périphériques (écran, clavier…).
Le code source de l’os linux et des applications gnu est ouvert et accessible. Toute personne peut examiner le code source, apporter des modifications ou y effectuer des améliorations. De nombreuses modifications et améliorations ont été apportées au noyau linux. L’os linux-gnu a été porté vers plusieurs architectures (PC, smartphones…).
L’os linux-gnu s’appuie sur des standards et permet à des fabricants de périphériques de créer des applications qui gèrent ces périphériques (drivers ou pilotes). Cette situation permet à des périphériques d’être compatibles avec de nombreuses distributions et architectures (une clé usb avec un os linux peut démarrer la plupart des pc). La conséquence est que l’os peut se retrouver embarqué dans de nombreux appareils (télévisions, véhicules…) comme système d’exploitation.
L’os linux-gnu n’est utilisé que sous la forme d’une distribution linux. Il existe de nombreuses distributions linux et à l’intérieur de ces distributions, des distributions qui peuvent varier par exemple avec des cycles de mis à jour plus courts ou plus longs…
BSD
L’os BSD a été développé à partir d’une version de l’OS Unix. Mac OSX et iOS sont des versions de bsd dédiées au constructeur Apple avec des spécificités. FreeBSD qui a servit de base au développement de Mac OSX.
Les versions de BSD et Mac OSX intègrent les applications gnu et notamment le module de compilation gnu (GCC).
Mac OSX et iOS bénéficient des améliorations sur les versions succéssives d’unix et des spécificités notamment sur le fait que ces os s’appliquent de manière dédiée à quelques architectures. Il n’est pas possible d’utiliser un os macosx sur une clé usb et de facilement démarrer un ordinateur en comparaison à une clé usb linux-gnu ou windows2go.
Du fait de la popularité de MacOSX, des développements de l’os ont été portés vers FreeBSD. FreeBSD s’applique également à des versions de l’os de la Playstation.
Les restrictions de l’utilisation de l’os dans différents matériels n’empêchent pas l’os d’avoir des éléments de stabilité et fiabilité sur des matériels certifiés. Un coût supplémentaire peut s’appliquer pour les os de ce type qui sont fermés à toute modification. Il ne peut pas y avoir de contributions et d’améliorations autres que celles apportées par le fabricant. En d’autres mots, le fabricant garde un contrôle sur la durée de vie d’un matériel par la gestion de l’os.
Les licences BSD permettent à des développeurs ou des fabricants de « s’approprier » le code utilisé dans des matériels. Sur des distributions linux, le code doit rester ouvert. Mac OSX et iOS sont des os qui appartiennent à Apple.
Microsoft Windows
l’OS Windows s’est développé en grande partie à l’écart du développement d’unix et les différentes versions. Plus précisément, windows s’est développé à partir de DOS(Disk Operating System), une forme limitée de noyau de système d’exploitation avec des fonctionnalités simplifiées (utilisateur unique, monotâche) qui est une version d’un os précédent, QDOS (Quick and Dirty Operating System). DOS fonctionne sur la base 16-bit et n’a pas été porté pour fonctionner en 32-bit par microsoft.
Sur la base de DOS, une interface graphique a été ajoutée et l’os est devenu windows en relation aux fenêtres (window) de l’interface graphique. Entre les versions 1 et 3.1, l’os windows est resté sur la base de dos. Windows 95 (compatible 16-bit et 32-bit), 98, 98SE et ME sont également des versions basées sur DOS.
Windows NT est développé sur un noyau distinct (NT kernel) et ajoute les fonctionnalités multi-utilisateurs et multi-tâches. Windows 3.5 basé sur le kernel NT n’inclut pas DOS.
Windows NT 4.0 utilisé dans la version windows ME utilise un noyau windows NT, inclut DOS sous forme d’émulation pour faire fonctionner les applications DOS 16-bit.
Avec Windows XP, 7, 10, 11 utilisent les noyau windows NT 4.0 et suivants (windows NT 10…)
Avec Windows XP, l’os est principalement 32-bit avec une version 64-bit. Windows vista, 7, 10 peuvent être installés sur des processeurs 32-bit ou 64-bit.
De Windows 7 jusqu’à la version windows 10, la version de l’os peut être en 32-bit ou 64-bit. Avec Windows 11, la version de l’os est disponible en 64-bit.
Windows est un système d’exploitation propriétaire (payant) avec un code source fermé. C’est un système d’exploitation présent en grande partie dans le grand public et dans les entreprises. Les versions récentes de windows montre une orientation du développement vers les technologies cloud (sauvegarde de données en lignes, connexions sur des serveurs distants…).
Avec les dernières versions de windows (windows 10 et windows 11), l’os inclut des fonctionnalités liées à l’utilisation d’applications ou machines virtuelles linux.
Cette présentation montre dans les grandes lignes les relations entre les versions des systèmes d’exploitation. Ces relations peuvent aider à trouver des réponses pour des configurations ou diverses situations techniques.
Ci-dessous, une synthèse possible des OS grands publics
OS code source matériel famille Noyau
Alpine Linux open source PC, serveurs… Gentoo Linux-gnu
Android open source* smartphone, box tv… Android Linux-gnu
Arch Linux open source PC, serveurs… Arch Linux-gnu
Debian open source PC, serveurs… Debian Linux-gnu
DD-WRT open source routeurs réseaux Linux Linux-gnu
Fedora open source PC, serveurs… RHEL Linux-gnu
FreeBSD propriétaire PC, serveurs… BSD Unix
Gentoo Linux open source PC, serveurs… Gentoo Linux-gnu
iOS propriétaire smartphone BSD Unix
Kali Linux open source PC, serveurs… Debian Linux-gnu
LineageOS open source smartphone Android Linux-gnu
LMDE open source PC, serveurs… Debian Linux-gnu
Linux Mint open source PC, serveurs… Debian Linux-gnu
Mac OS propriétaire PC, serveurs… BSD Unix
Manjaro open source PC, serveurs… Arch Linux-gnu
OpenWRT open source routeurs réseaux BSD Linux
RHEL open source PC, serveurs… RHEL Linux-gnu
Symbian propriétaire smartphone Symbian EKA2
Suse Linux open source PC, serveurs… Suse Linux-gnu
SLES open source PC, serveurs… Suse Linux-gnu
Ubuntu open source PC, serveurs… Debian Linux
Windows 95 propriétaire PC MS-DOS DOS
Windows XP propriétaire PC, serveurs… Windows NT Windows NT 5
Windows 7 propriétaire PC, serveurs… Windows NT Windows NT 6
Windows 10 propriétaire PC, serveurs… Windows NT Windows NT 10
… … … … …
Ce tableau propose une présentation de quelques OS grands publics et professionnel. Les distributions linux-gnu sont variées et peuvent répondre à des besoins spécifiques ou plus généraux. De manière générale, les os peuvent avoir des caractéristiques communes et des caractéristiques distinctes.
Par exemple, il est possible d’utiliser un OS destiné à un ordinateur personnel (PC ou Personal Computer) dans un serveur web, base de données… Les systèmes d’exploitation sont versatiles dans leur utilisation du fait que les noyaux modernes (kernel) prévoient une utilisation par plusieurs utilisateurs avec des fonctionnalités de sécurité, de gestion de mémoire…
Les mises à jour et les périphériques
Les systèmes d’exploitation Linux-gnu peuvent s’adapter à de nombreux matériels et périphériques du fait que n’importe quel développeur ou entreprise dans n’importe quel pays peut accéder au code source et apporter des modifications spécifiques pour un matériel ou autre (par exemple une application utilisateur). Pour les applications utilisateur, il existe également un autre circuit, celui des paquets conteneurs (appimage, flatpack, snap…).
Dans le circuit classique de modification du noyau linux, les modification peuvent devenir des contributions pour que les utilisateurs accèdent à des nouveaux PC, périphériques, fonctionnalités dans des applications, maintenance, corrections, optimisations diverses. Ces contributions passent par un circuit de validation avant d’être considérées comme stables et d’intégrer l’un des cycles de distribution stable ou LTS (Long-Term Support).
Les distributions linux-gnu peuvent se distinguer notamment par le mode de distribution des mises à jour et des paquets. Le cycle (fréquence) peut également être différent selon l’os ou les choix de l’utilisateur. L’utilisateur peut également n’activer que les mises à jour de sécurité.
La distribution des mises à jour se fait principalement en ligne avec une connexion internet. Linux debian propose alternativement à une distribution en ligne une installation de l’OS et des principaux paquets (librairies et applications) entièrement sur supports amovibles (CD, DVD, BD-R…) pour approximativement 700 GO.
Le mode de mise à jour d’unix est similaire à celui de linux avec des spécificités au niveau de la gestion des périphériques. Dans windows, la gestion des mises à jour et des nouveaux matériels (périphériques) est également spécifique à l’os. Les principaux fabricants de périphériques (processeurs, écran, clavier…) sont intégrés dans l’os de base et les autres fabricants peuvent proposer des fichiers (pilotes ou « driver ») à télécharger qui peuvent être intégrés à l’os.
Les versions récentes de windows ne peuvent pas être installées sur des matériels (périphériques) anciens du fait que les périphériques doivent être reconnus par l’os. Une des utilisations de la virtualisation par hyperviseur peut être une réponse possible dans ces situations.
Autres spécificités
Les os peuvent également se distinguer selon la simplicité d’utilisation. Microsoft windows propose sur ces versions windows destinées au grand public un accès le plus simple aux fonctionnalités de base. Mac OS propose également un os accessible et simple dans une utilisation courante.
Dans les distribution linux, certaines distributions s’orientent vers une simplicité d’utilisation notamment dans une utilisation courante (ubuntu, linux mint, LMDE ou Linux Mint Debian Edition). Linux mint et LMDE se differencient principalement par le mode de mise à jour mais sont similaires voire identiques dans l’utilisation.
La possibilité d’installer linux sur des systèmes anciens (+5, 10, 20 ans…) et d’utiliser toutes les fonctionnalités de ces systèmes est une caractéristique de linux qui peut permettre de conserver du matériel en état d’utilisation et de réaliser des économies…
Les spécificités des os sont nombreuses. Les systèmes d’exploitation sont utilisés dans des activités diverses.