Histoire des systèmes d'exploitation - History of operating systems

Les systèmes d'exploitation informatiques (SE) fournissent un ensemble de fonctions nécessaires et utilisées par la plupart des programmes d'application sur un ordinateur, ainsi que les liens nécessaires pour contrôler et synchroniser le matériel informatique. Sur les premiers ordinateurs, sans système d'exploitation, chaque programme avait besoin des spécifications matérielles complètes pour fonctionner correctement et effectuer des tâches standard, ainsi que de ses propres pilotes pour les périphériques tels que les imprimantes et les lecteurs de cartes en papier perforé . La complexité croissante du matériel et des programmes d'application a finalement fait des systèmes d'exploitation une nécessité pour une utilisation quotidienne.

Arrière-plan

Les premiers ordinateurs étaient des ordinateurs centraux dépourvus de toute forme de système d'exploitation. Chaque utilisateur avait l'usage exclusif de la machine pendant une période de temps programmée et arrivait à l'ordinateur avec un programme et des données, souvent sur des cartes en papier perforées et des bandes magnétiques ou en papier. Le programme serait chargé dans la machine et la machine serait configurée pour fonctionner jusqu'à ce que le programme se termine ou tombe en panne. Les programmes peuvent généralement être débogués via un panneau de commande à l'aide de cadrans, d'interrupteurs à bascule et de voyants.

Les langages symboliques, les assembleurs et les compilateurs ont été développés pour que les programmeurs traduisent le code symbolique du programme en code machine qui aurait auparavant été codé à la main. Les machines ultérieures sont venues avec des bibliothèques de codes de support sur des cartes perforées ou des bandes magnétiques, qui seraient liées au programme de l'utilisateur pour faciliter les opérations telles que l'entrée et la sortie. Ce fut la genèse du système d'exploitation moderne ; cependant, les machines exécutaient toujours une seule tâche à la fois. À l'Université de Cambridge en Angleterre, la file d'attente des travaux était autrefois une corde à linge à laquelle étaient accrochées des bandes avec des pinces à linge de couleurs différentes pour indiquer la priorité des travaux.

Au fur et à mesure que les machines devenaient plus puissantes, le temps d'exécution des programmes diminuait et le temps de transfert de l'équipement à l'utilisateur suivant devenait important en comparaison. La comptabilisation et le paiement de l'utilisation de la machine sont passés de la vérification de l'horloge murale à la journalisation automatique par l'ordinateur. Les files d'attente ont évolué d'une file d'attente littérale de personnes à la porte, à un tas de supports sur une table d'attente de travaux, ou à des lots de cartes perforées empilées les unes sur les autres dans le lecteur, jusqu'à ce que la machine elle-même puisse sélectionner et séquence quels lecteurs de bande magnétique ont traité quelles bandes. Là où les développeurs de programmes avaient à l'origine accès à leurs propres tâches sur la machine, ils ont été supplantés par des opérateurs de machine dédiés qui s'occupaient de la machine et étaient de moins en moins concernés par la mise en œuvre manuelle des tâches. Lorsque les centres informatiques disponibles dans le commerce ont été confrontés aux implications de la perte de données par falsification ou erreurs opérationnelles, les fournisseurs d'équipements ont été mis sous pression pour améliorer les bibliothèques d'exécution afin d'éviter une mauvaise utilisation des ressources système. Une surveillance automatisée était nécessaire non seulement pour l' utilisation du processeur , mais aussi pour compter les pages imprimées, les cartes perforées, les cartes lues, le stockage sur disque utilisé et pour signaler lorsque l'intervention de l'opérateur était requise pour des tâches telles que le changement de bandes magnétiques et de formulaires papier. Des fonctionnalités de sécurité ont été ajoutées aux systèmes d'exploitation pour enregistrer les pistes d'audit des programmes accédant à quels fichiers et pour empêcher l'accès à un fichier de paie de production par un programme d'ingénierie, par exemple.

Toutes ces caractéristiques constituaient le répertoire d'un système d'exploitation pleinement performant. Finalement, les bibliothèques d'exécution sont devenues un programme fusionné qui a démarré avant le premier travail client et pouvait lire le travail client, contrôler son exécution, enregistrer son utilisation, réaffecter les ressources matérielles une fois le travail terminé et procéder immédiatement au traitement du travail suivant. Ces programmes d'arrière-plan résidents, capables de gérer des processus à plusieurs étapes, étaient souvent appelés moniteurs ou programmes de surveillance avant que le terme "système d'exploitation" ne s'impose.

Un programme sous-jacent offrant une gestion matérielle de base, une planification logicielle et une surveillance des ressources peut sembler un lointain ancêtre des systèmes d'exploitation orientés utilisateur de l' ère de l' informatique personnelle . Mais il y a eu un changement dans le sens de l'OS. Tout comme les premières automobiles manquaient d'indicateurs de vitesse, de radios et de climatiseurs qui sont devenus plus tard standard, de plus en plus de fonctionnalités logicielles optionnelles sont devenues des fonctionnalités standard dans chaque package de système d'exploitation, bien que certaines applications telles que les systèmes de gestion de bases de données et les feuilles de calcul restent optionnelles et facturées séparément. Cela a conduit à la perception d'un système d'exploitation comme un système utilisateur complet avec une interface utilisateur graphique intégrée , des utilitaires, certaines applications telles que des éditeurs de texte et des gestionnaires de fichiers , et des outils de configuration.

Le véritable descendant des premiers systèmes d'exploitation est ce qu'on appelle maintenant le « noyau ». Dans les cercles techniques et de développement, l'ancien sens restreint d'un système d'exploitation persiste en raison du développement actif et continu de systèmes d' exploitation embarqués pour toutes sortes d'appareils avec un composant de traitement de données, des gadgets portables aux robots industriels et au contrôle en temps réel. systèmes, qui n'exécutent pas d'applications utilisateur en front-end. Aujourd'hui, un système d'exploitation embarqué dans un appareil n'est pas aussi éloigné qu'on pourrait le penser de son ancêtre des années 50.

Les catégories plus larges de systèmes et de logiciels d'application sont abordées dans l' article sur les logiciels informatiques .

Ordinateurs centraux

Le premier système d'exploitation utilisé pour le travail réel était GM-NAA I/O , produit en 1956 par la division Research de General Motors pour son IBM 704 . La plupart des autres premiers systèmes d'exploitation pour les mainframes IBM ont également été produits par les clients.

Les premiers systèmes d'exploitation étaient très divers, chaque fournisseur ou client produisant un ou plusieurs systèmes d'exploitation spécifiques à son ordinateur central particulier . Chaque système d'exploitation, même du même fournisseur, peut avoir des modèles de commandes, des procédures d'exploitation et des fonctionnalités telles que des aides au débogage radicalement différents. En règle générale, chaque fois que le fabricant sortait une nouvelle machine, il y avait un nouveau système d'exploitation et la plupart des applications devaient être ajustées, recompilées et retestées manuellement.

Systèmes sur matériel IBM

La situation s'est poursuivie jusqu'aux années 1960, lorsque IBM , déjà un des principaux fournisseurs de matériel informatique, a cessé de travailler sur les systèmes existants et a consacré tous ses efforts au développement de la série de machines System/360 , qui utilisaient toutes la même architecture d'instructions et d'entrées/sorties. IBM avait l'intention de développer un système d'exploitation unique pour le nouveau matériel, l' OS/360 . Les problèmes rencontrés dans le développement de l'OS/360 sont légendaires et sont décrits par Fred Brooks dans The Mythical Man-Month, un livre devenu un classique du génie logiciel . En raison des différences de performances entre la gamme de matériel et des retards dans le développement de logiciels, toute une famille de systèmes d'exploitation a été introduite au lieu d'un seul OS/360.

IBM a fini par publier une série de palliatifs suivis de deux systèmes d'exploitation à plus longue durée de vie :

  • OS/360 pour les systèmes de milieu de gamme et de grande taille. Ceci était disponible dans trois options de génération de système :
    • PCP pour les premiers utilisateurs et pour ceux qui n'ont pas les ressources nécessaires pour la multiprogrammation.
    • MFT pour les systèmes de milieu de gamme, remplacé par MFT-II dans OS/360 Release 15/16. Cela a eu un successeur, OS/VS1 , qui a été abandonné dans les années 1980.
    • MVT pour les grands systèmes. C'était similaire à bien des égards à PCP et MFT (la plupart des programmes pouvaient être portés parmi les trois sans être recompilés ), mais avec une gestion de la mémoire plus sophistiquée et une fonction de partage du temps , TSO . MVT a eu plusieurs successeurs dont l'actuel z/OS .
  • DOS/360 pour les petits modèles System/360 a eu plusieurs successeurs dont l'actuel z/VSE . C'était très différent de l'OS/360.

IBM a maintenu une compatibilité totale avec le passé, de sorte que les programmes développés dans les années 60 peuvent toujours fonctionner sous z/VSE (s'ils sont développés pour DOS/360) ou z/OS (s'ils sont développés pour MFT ou MVT) sans aucun changement.

IBM a également développé TSS/360 , un système de temps partagé pour le System/360 Model 67 . Surcompensant leur importance perçue de développer un système de multipropriété, ils ont mis des centaines de développeurs à travailler sur le projet. Les premières versions de TSS étaient lentes et peu fiables ; au moment où TSS avait des performances et une fiabilité acceptables, IBM souhaitait que ses utilisateurs TSS migrent vers OS/360 et OS/VS2 ; alors qu'IBM proposait un PRPQ TSS/370, ils l'ont abandonné après 3 versions.

Plusieurs systèmes d'exploitation pour les architectures IBM S/360 et S/370 ont été développés par des tiers, notamment le Michigan Terminal System (MTS) et MUSIC/SP .

Autres systèmes d'exploitation mainframe

Control Data Corporation a développé les systèmes d'exploitation SCOPE dans les années 1960, pour le traitement par lots , puis a développé le système d'exploitation MACE pour le partage du temps, qui a servi de base au dernier Kronos . En coopération avec l' Université du Minnesota , les systèmes d'exploitation Kronos et plus tard NOS ont été développés au cours des années 1970, qui prenaient en charge l'utilisation simultanée de lots et de partage de temps. Comme de nombreux systèmes de partage de temps commerciaux, son interface était une extension du système de partage de temps DTSS , l'un des efforts pionniers en matière de partage de temps et de langages de programmation.

À la fin des années 1970, Control Data et l' Université de l'Illinois ont développé le système PLATO , qui utilisait des écrans plasma et des réseaux de partage de temps longue distance. PLATO était remarquablement innovant pour l'époque ; le modèle de mémoire partagée du langage de programmation TUTOR de PLATO a permis des applications telles que le chat en temps réel et les jeux graphiques multi-utilisateurs.

Pour l' UNIVAC 1107 , UNIVAC , le premier fabricant commercial d'ordinateurs, a produit le système d'exploitation EXEC I , et Computer Sciences Corporation a développé le système d'exploitation EXEC II et l'a livré à UNIVAC. EXEC II a été porté sur UNIVAC 1108 . Plus tard, UNIVAC a développé le système d'exploitation EXEC 8 pour le 1108 ; c'était la base des systèmes d'exploitation pour les membres ultérieurs de la famille. Comme tous les premiers systèmes mainframe, EXEC I et EXEC II étaient un système orienté lot qui gérait les tambours magnétiques, les disques, les lecteurs de cartes et les imprimantes ligne ; EXEC 8 prenait en charge à la fois le traitement par lots et le traitement des transactions en ligne. Dans les années 1970, UNIVAC a produit le système Real-Time Basic (RTB) pour prendre en charge le partage du temps à grande échelle, également sur le modèle du système Dartmouth BASIC .

Burroughs Corporation a introduit le B5000 en 1961 avec le système d'exploitation MCP ( Master Control Program ). La B5000 était une machine à pile conçue pour supporter exclusivement des langages de haut niveau, sans qu'aucun logiciel, même au niveau le plus bas du système d'exploitation, ne soit écrit directement en langage machine ou en langage assembleur ; le MCP a été le premier système d'exploitation à être entièrement écrit dans un langage de haut niveau - ESPOL , un dialecte d' ALGOL 60 - bien qu'ESPOL ait des instructions spécialisées pour chaque "syllabe" dans le jeu d'instructions B5000. MCP a également introduit de nombreuses autres innovations révolutionnaires, telles que l'une des premières implémentations commerciales de la mémoire virtuelle . La réécriture de MCP pour le B6500 est toujours utilisée aujourd'hui dans la gamme d'ordinateurs Unisys ClearPath/MCP.

GE a introduit la série GE-600 avec le système d'exploitation General Electric Comprehensive Operating Supervisor (GECOS) en 1962. Après l' acquisition par Honeywell de l'activité informatique de GE, celle-ci a été renommée General Comprehensive Operating System (GCOS). Honeywell a étendu l'utilisation du nom GCOS pour couvrir tous ses systèmes d'exploitation dans les années 1970, bien que beaucoup de ses ordinateurs n'aient rien en commun avec la série GE 600 précédente et que leurs systèmes d'exploitation ne soient pas dérivés du GECOS original.

Le projet MAC du MIT, en collaboration avec GE et Bell Labs , a développé Multics , qui a introduit le concept de niveaux de privilèges de sécurité en boucle.

Digital Equipment Corporation a développé TOPS-10 pour sa gamme d'ordinateurs 36 bits PDP-10 en 1967. Avant l'utilisation généralisée d'Unix, TOPS-10 était un système particulièrement populaire dans les universités et dans la première communauté ARPANET . Bolt, Beranek et Newman ont développé TENEX pour un PDP-10 modifié prenant en charge la pagination à la demande ; il s'agissait d'un autre système populaire dans les communautés de recherche et d'ARPANET, et a ensuite été développé par DEC en TOPS-20 .

Scientific Data Systems /Xerox Data Systems a développé plusieurs systèmes d'exploitation pour la série d'ordinateurs Sigma , tels que Basic Control Monitor (BCM), Batch Processing Monitor (BPM) et Basic Time-Sharing Monitor (BTM). Plus tard, BPM et BTM ont été remplacés par le système universel de partage de temps (UTS); il a été conçu pour fournir des services de multi-programmation pour les programmes utilisateur en ligne (interactifs) en plus des travaux de production en mode batch. Il a été remplacé par le système d'exploitation CP-V , qui combinait UTS avec le système d'exploitation Xerox fortement orienté batch .

Mini-ordinateurs

Digital Equipment Corporation a créé plusieurs systèmes d'exploitation pour ses machines PDP-11 16 bits , notamment le système RT-11 simple , les systèmes d'exploitation RSTS en temps partagé et la famille RSX-11 de systèmes d'exploitation en temps réel , ainsi que le Système VMS pour les machines VAX 32 bits .

Plusieurs concurrents de Digital Equipment Corporation tels que Data General , Hewlett-Packard et Computer Automation ont créé leurs propres systèmes d'exploitation. L'un d'entre eux, « MAX III », a été développé pour les ordinateurs des systèmes informatiques modulaires Modcomp II et Modcomp III. Elle se caractérisait par le fait que son marché cible était le marché du contrôle industriel. Les bibliothèques Fortran en incluaient une qui permettait l'accès aux appareils de mesure et de contrôle.

L'innovation clé d'IBM dans les systèmes d'exploitation de cette classe (qu'ils appellent « milieu de gamme »), était leur « CPF » pour le System/38 . Celui-ci avait un adressage basé sur les capacités , utilisait une architecture d'interface machine pour isoler le logiciel d'application et la plupart du système d'exploitation des dépendances matérielles (y compris même des détails tels que la taille de l'adresse et la taille du registre) et incluait un SGBDR intégré . L' OS/400 suivant pour l' AS/400 n'a pas de fichiers, seulement des objets de types différents et ces objets persistent dans une très grande mémoire virtuelle plate, appelée magasin à un seul niveau. i5/OS et plus tard IBM i pour l' iSeries continuent cette ligne de système d'exploitation.

Le système d' exploitation Unix a été développé par AT&T Bell Laboratories à la fin des années 1960, à l'origine pour le PDP-7 , et plus tard pour le PDP-11. Parce qu'il était essentiellement gratuit dans les premières éditions, facilement accessible et facilement modifié, il a été largement accepté. C'est également devenu une exigence au sein des sociétés d'exploitation de systèmes Bell. Comme il a été écrit en langage C , lorsque ce langage a été porté sur une nouvelle architecture de machine, Unix a également pu être porté. Cette portabilité lui a permis de devenir le choix d'une deuxième génération de mini-ordinateurs et de la première génération de postes de travail . Par une utilisation généralisée, il a illustré l'idée d'un système d'exploitation qui était conceptuellement le même sur diverses plates-formes matérielles, et est devenu plus tard l'une des racines des projets de logiciels libres et de systèmes d' exploitation open source , y compris GNU , Linux et Berkeley Software Distribution . Le macOS d'Apple est également basé sur Unix via NeXTSTEP et FreeBSD .

Le système d'exploitation Pick était un autre système d'exploitation disponible sur une grande variété de marques de matériel. Commercialisé en 1973, son noyau était un langage de type BASIC appelé Data/BASIC et un langage de manipulation de base de données de style SQL appelé ENGLISH. Concédé sous licence à une grande variété de fabricants et de vendeurs, au début des années 1980, les observateurs considéraient le système d'exploitation Pick comme un concurrent sérieux d'Unix.

Micro-ordinateurs

À partir du milieu des années 1970, une nouvelle classe de petits ordinateurs est apparue sur le marché. Dotés de processeurs 8 bits, généralement la technologie MOS 6502 , Intel 8080 , Motorola 6800 ou Zilog Z80 , ainsi que des interfaces d'entrée et de sortie rudimentaires et autant de RAM que possible, ces systèmes ont commencé comme des ordinateurs amateurs basés sur des kits mais ont rapidement évolué en un outil commercial essentiel.

Ordinateurs domestiques

Alors que de nombreux ordinateurs domestiques huit bits des années 1980, tels que les séries BBC Micro , Commodore 64 , Apple II , Atari 8 bits , Amstrad CPC , ZX Spectrum et autres, pouvaient charger un système d'exploitation de chargement de disque tiers. , tels que CP/M ou GEOS , ils étaient généralement utilisés sans. Leurs systèmes d'exploitation intégrés ont été conçus à une époque où les lecteurs de disquettes étaient très chers et ne devraient pas être utilisés par la plupart des utilisateurs, de sorte que le périphérique de stockage standard sur la plupart était un lecteur de bande utilisant des cassettes compactes standard . La plupart, sinon tous, de ces ordinateurs livrés avec un interpréteur BASIC intégré sur ROM, qui a également servi d' interface de ligne de commande brute , permettant à l'utilisateur de charger un système d'exploitation de disque séparé pour exécuter des commandes de gestion de fichiers et charger et enregistrer sur disque. L'ordinateur domestique le plus populaire, le Commodore 64, était une exception notable, car son DOS était sur ROM dans le matériel du lecteur de disque, et le lecteur était adressé de manière identique aux imprimantes, modems et autres périphériques externes.

De plus, ces systèmes fournis avec des quantités minimales de mémoire informatique - 4 à 8 kilo-octets étaient la norme sur les premiers ordinateurs personnels - ainsi que des processeurs 8 bits sans circuits de support spécialisés comme un MMU ou même une horloge temps réel dédiée . Sur ce matériel, la surcharge d'un système d'exploitation complexe prenant en charge plusieurs tâches et utilisateurs compromettrait probablement les performances de la machine sans être vraiment nécessaire. Comme ces systèmes étaient en grande partie vendus complets, avec une configuration matérielle fixe, il n'était pas non plus nécessaire qu'un système d'exploitation fournisse des pilotes pour une large gamme de matériel afin d'éliminer les différences.

Les jeux vidéo et même la feuille de calcul , la base de données et les traitements de texte disponibles pour les ordinateurs personnels étaient pour la plupart des programmes autonomes qui prenaient complètement le contrôle de la machine. Bien qu'un logiciel intégré existait pour ces ordinateurs, ils manquaient généralement de fonctionnalités par rapport à leurs équivalents autonomes, en grande partie en raison de limitations de mémoire. L'échange de données a été principalement effectué via des formats standard tels que le texte ASCII ou CSV , ou via des programmes de conversion de fichiers spécialisés.

Systèmes d'exploitation dans les jeux vidéo et les consoles

Étant donné que pratiquement toutes les consoles de jeux vidéo et les bornes d'arcade conçues et construites après 1980 étaient de véritables machines numériques basées sur des microprocesseurs (contrairement aux clones et dérivés de Pong précédents ), certaines d'entre elles portaient une forme minimale de BIOS ou de jeu intégré, comme le ColecoVision , le Sega Master System et le SNK Neo Geo .

Les consoles de jeux et les jeux vidéo modernes, à commencer par le PC-Engine , ont tous un BIOS minimal qui fournit également des utilitaires interactifs tels que la gestion des cartes mémoire , la lecture de CD audio ou vidéo , la protection contre la copie et parfois des bibliothèques à utiliser par les développeurs, etc. Cependant, peu de ces cas pourraient être considérés comme un véritable système d'exploitation.

Les exceptions les plus notables sont probablement la console de jeu Dreamcast qui comprend un BIOS minimal, comme la PlayStation , mais peut charger le système d'exploitation Windows CE à partir du disque de jeu permettant facilement le portage de jeux du monde PC , et la console de jeu Xbox , qui est un peu plus qu'un PC déguisé à processeur Intel exécutant une version secrète et modifiée de Microsoft Windows en arrière-plan. De plus, il existe des versions Linux qui fonctionneront également sur une Dreamcast et des consoles de jeux ultérieures.

Bien avant cela, Sony avait sorti une sorte de kit de développement appelé Net Yaroze pour sa première plate-forme PlayStation, qui fournissait une série d'outils de programmation et de développement à utiliser avec un PC normal et une "Black PlayStation" spécialement modifiée qui pouvait être interfacée. avec un PC et télécharger des programmes à partir de celui-ci. Ces opérations nécessitent en général un OS fonctionnel sur les deux plateformes concernées.

En général, on peut dire que les consoles de jeux vidéo et les machines d'arcade à prépaiement utilisaient tout au plus un BIOS intégré dans les années 1970, 1980 et la majeure partie des années 1990, tandis qu'à partir de l'ère PlayStation et au-delà, elles ont commencé à devenir de plus en plus sophistiquées, au point d'exiger un système d'exploitation générique ou personnalisé pour faciliter le développement et l'évolutivité.

L'ère de l'ordinateur personnel

Le développement des microprocesseurs a rendu l'informatique bon marché disponible pour les petites entreprises et les amateurs, ce qui à son tour a conduit à l'utilisation généralisée de composants matériels interchangeables utilisant une interconnexion commune (comme le S-100 , SS-50 , Apple II , ISA et PCI bus ), et un besoin croissant de systèmes d'exploitation "standards" pour les contrôler. Le plus important des premiers systèmes d'exploitation sur ces machines était le CP/M -80 de Digital Research pour les processeurs 8080 / 8085 / Z-80. Il était basé sur plusieurs systèmes d'exploitation de Digital Equipment Corporation, principalement pour l'architecture PDP-11. Le premier système d'exploitation de Microsoft, MDOS/MIDAS , a été conçu avec de nombreuses fonctionnalités du PDP-11, mais pour les systèmes à microprocesseur. MS-DOS , ou PC DOS lorsqu'il est fourni par IBM, a été conçu pour être similaire au CP/M-80. Chacune de ces machines avait un petit programme de démarrage en ROM qui chargeait le système d'exploitation lui-même à partir du disque. Le BIOS sur les machines de classe IBM-PC était une extension de cette idée et a accumulé plus de fonctionnalités et de fonctions au cours des 20 années écoulées depuis l'introduction du premier IBM-PC en 1981.

Le coût décroissant de l'équipement d'affichage et des processeurs a rendu pratique la fourniture d'interfaces utilisateur graphiques pour de nombreux systèmes d'exploitation, tels que le système X Window générique fourni avec de nombreux systèmes Unix, ou d'autres systèmes graphiques tels que les classiques Mac OS et macOS d' Apple . , la Radio Shack Couleur Computer OS-9 Niveau II / multivue , Commodore 's AmigaOS , Atari TOS , IBM ' s OS / 2 et Microsoft Windows . L'interface graphique originale a été développée sur le système informatique Xerox Alto au Xerox Palo Alto Research Center au début des années 1970 et commercialisée par de nombreux fournisseurs tout au long des années 1980 et 1990.

Depuis fin des années 1990, il y a eu trois systèmes d'exploitation largement répandus sur les ordinateurs personnels: Apple Inc. de macOS , l' open source Linux et Microsoft Windows . Depuis 2005 et la transition Mac vers les processeurs Intel , tous ont été développés principalement sur la plate-forme x86 , bien que macOS ait conservé le support PowerPC jusqu'en 2009 et que Linux reste porté sur une multitude d'architectures, notamment 68k , PA-RISC et DEC Alpha , qui ont été longtemps remplacés et hors de production, et SPARC et MIPS , qui sont utilisés dans les serveurs ou les systèmes embarqués, mais plus pour les ordinateurs de bureau. D'autres systèmes d'exploitation tels que AmigaOS et OS/2 restent utilisés, voire pas du tout, principalement par des passionnés de rétro-informatique ou pour des applications embarquées spécialisées.

Systèmes d'exploitation mobiles

Android est le système d'exploitation mobile le plus utilisé .

Au début des années 90, Psion a lancé le PDA Series 3 PDA , un petit appareil informatique mobile. Il prenait en charge les applications écrites par l'utilisateur s'exécutant sur un système d'exploitation appelé EPOC . Les versions ultérieures d'EPOC sont devenues Symbian , un système d'exploitation utilisé pour les téléphones mobiles de Nokia , Ericsson , Sony Ericsson , Motorola , Samsung et les téléphones développés pour NTT Docomo par Sharp , Fujitsu et Mitsubishi . Symbian était le système d'exploitation pour smartphone le plus utilisé au monde jusqu'en 2010 avec une part de marché maximale de 74% en 2006. En 1996, Palm Computing a sorti les Pilot 1000 et Pilot 5000, sous Palm OS . Microsoft Windows CE était la base de Pocket PC 2000, rebaptisé Windows Mobile en 2003, qui à son apogée en 2007 était le système d'exploitation le plus courant pour les smartphones aux États-Unis.

En 2007, Apple a présenté l' iPhone et son système d'exploitation, connu simplement sous le nom d' iPhone OS (jusqu'à la sortie d' iOS 4 ), qui, comme Mac OS X , est basé sur Darwin de type Unix . En plus de ces fondements, il a également introduit une interface utilisateur graphique puissante et innovante qui a ensuite été également utilisée sur la tablette iPad . Un an plus tard, Android , avec sa propre interface utilisateur graphique, a été introduit, basé sur un noyau Linux modifié , et Microsoft est revenu sur le marché des systèmes d'exploitation mobiles avec Windows Phone en 2010, qui a été remplacé par Windows 10 Mobile en 2015.

En plus de ceux-ci, un large éventail d'autres systèmes d'exploitation mobiles sont en concurrence dans ce domaine.

L'essor de la virtualisation

Les systèmes d'exploitation fonctionnaient à l'origine directement sur le matériel lui-même et fournissaient des services aux applications, mais avec la virtualisation, le système d'exploitation lui-même fonctionne sous le contrôle d'un hyperviseur , au lieu d'être sous le contrôle direct du matériel.

Sur les mainframes, IBM a introduit la notion de machine virtuelle en 1968 avec CP/CMS sur IBM System/360 Model 67 , et l'a étendue plus tard en 1972 avec Virtual Machine Facility/370 (VM/370) sur System/370 .

Sur x86 à base d' ordinateurs personnels , VMware a popularisé cette technologie avec leur produit 1999, VMware Workstation et leurs 2001 produits VMware GSX Server et VMware ESX Server. Plus tard, un large éventail de produits d'autres, y compris Xen , KVM et Hyper-V signifiait qu'en 2010, il a été signalé que plus de 80 pour cent des entreprises avaient un programme ou un projet de virtualisation en place, et que 25 pour cent de toutes les charges de travail de serveur seraient être dans une machine virtuelle.

Au fil du temps, la frontière entre les machines virtuelles, les moniteurs et les systèmes d'exploitation s'est estompée :

  • Les hyperviseurs sont devenus plus complexes, gagnant leur propre interface de programmation d'application, gestion de la mémoire ou système de fichiers.
  • La virtualisation devient une caractéristique clé des systèmes d'exploitation, comme en témoignent KVM et LXC sous Linux, Hyper-V sous Windows Server 2008 ou HP Integrity Virtual Machines sous HP-UX .
  • Dans certains systèmes, tels que les serveurs basés sur POWER5 et POWER6 d'IBM, l'hyperviseur n'est plus facultatif.
  • Les systèmes d'exploitation radicalement simplifiés, tels que CoreOS, ont été conçus pour fonctionner uniquement sur des systèmes virtuels.
  • Les applications ont été repensées pour s'exécuter directement sur un moniteur de machine virtuelle.

À bien des égards, les logiciels de machines virtuelles jouent aujourd'hui le rôle autrefois tenu par le système d'exploitation, notamment en gérant les ressources matérielles (processeur, mémoire, périphériques d'E/S), en appliquant des politiques de planification ou en permettant aux administrateurs système de gérer le système.

Voir également

Remarques

Les références

Lectures complémentaires