Système d'exploitation d'exploitation Pour les articles homonymes, voir SE voir SE et et OS OS..
Utilisateur
En informatique informatique,, un système (souvent apsystème d'exploitation d'exploitation (souvent pelé OS pour Operating System, le terme anglophone) est un ensemble de programmes de programmes qui qui dirige l'utilisation des capacités d'un d'un ordinateur par ordinateur par des logiciels des logiciels applicatifs[1] . Il reçoit de la part des logiciels applicatifs applicatifs des demandes d'utilisation des capacités de l'ordinateur — capacité de stockage des mémoires des mémoires et et des disques des disques durs, durs , capacité de calcul du processeur du processeur,, capacités de communication vers des périphériques des périphériques ou ou via le réseau le réseau.. Le système d'exploitation d'exploitation accepte ou refuse refuse de telles demandes, puis réserve les ressources en question pour éviter que leur utilisation n'interfère avec d'autres demandes provenant d'autres logiciels[1] .
Application
Système d'exploitation
Le système système d'exploi d'exploitati tation on est le premier premier programm programmee exécuté lors de la mise en marche de l'ordinateur[2] , après l’amorçage l’amorçage.. Il offre une suite de services généraux qui facilitent la création de logiciels de logiciels applicatifs et applicatifs et sert d'intermédiaire d'intermédiaire entre ces logiciels et le matériel le matériel informa[1] tique . Un système d'exploitation apporte commodité, efficacité et capacité d'évolution, permettant d'introduire de nouvelles fonctions et du nouveau matériel sans remettre en cause les logiciels[2] .
Matériel informatique
Il exis existe te sur sur le marc marché hé des des diza dizain ines es de syst systèm èmes es [2] d'exploitation d'exploitation différents différents . Ils sont souvent livrés avec l'appareil informatique informatique[3] —c'estlecasde Windows Windows,, Mac [4], [4] , [5] OS,, Irix OS Irix,, Sym Symbian bianOS OS,, Ubuntu et Android Android.. Les Les fonconctionnalités offertes offertes diffèrent d'un modèle à l'autre, et sont typiquem typiquement ent en rapport rapport avec l'exécuti l'exécution on des programme programmes, s, l'utilisation de la mémoire centrale, des périphériques des périphériques,, la manipulation manipulation des systèmes des systèmes de fichiers, fichiers , la communication, communication, ou la détection d'erreurs[2] .
Le système d'exploitation est un intermédiaire entre les logiciels d'application et le matériel.
1
Fonc Foncti tionn onnali alités tés
Le système d'exploitation offre une suite de services généraux qui facilitent la création de logiciels de logiciels applicatifs. applicatifs. Les services offerts sont en rapport avec l'utilisation des ressources de l'ordinateur l'ordinateur par par les programmes les programmes[2] . Ils permettent en particulier d'exécuter des programmes, de lire et écrire des informations, de manipuler les fichiers les fichiers,, de communiquer entre ordinateurs et de déceler des erreurs[2] . Ces services permettent à plusieurs usagers et plusieurs programmes de se partager les ressources de l'ordinateur[7] .
La définition des systèmes d'exploitation est rendue floue par le fait que les vendeurs de tels produits considèrent comme comme étant étant le systè système me d'expl d'exploi oitat tatio ionn la totalit totalitéé du contecontenu de leur produit, y compris les vidéos, les images et les logiciels applicatifs qui l'accompagnent[1] . En 2012, les deux familles de systèmes d'exploitation les plus populaires sont la famille Unix Unix (dont (dont Mac Mac OS X, GNU/Linux GNU/Linux,, iOS iOS et et Android Android)) et la famille Windows famille Windows,, celle-ci détenant un quasi-monopole sur les ordinateurs les ordinateurs personnels,, avec près de 90 % de part de marché depuis personnels 15 ans[6] .
•
1
L'utilisation des périphériques : chaque périphérique a ses propres instructions, instructions, avec lesquelles il peut être manipulé. Le système d'exploitation tient compte de cela. Il permet au programmeur de manipuler le périphérique par de simples demandes de lecture ou d'écriture, lui évitant la perte de temps
2
2 TYPOLOGIE
additions. La traduction d'opérations complexes en suite d'instructions est une tâche fastidieuse qui incombe au système d'exploitation[7] . Le système d'exploitation prend en charge toute la manipulation du matériel et le logiciel applicatif ne peut pas voir la différence entre une machine simple, rudimentaire et une machine riche et complexe : les mêmes services sont offerts dans les deux cas[1] .
Relations dans un système d'exploitation moderne.
Le système d'exploitation facilite le travail de programmation en fournissant une suite de services qui peuvent être utilisés par les logiciels applicatifs [1] . Du point de vue du programmeur, son logiciel applicatif regarde vers le bas, en direction du système d'exploitation et du matériel et les programmes sont considérés comme fonctionnant sur le système d'exploitation. Un système d'exploitation peut ainsi être vu comme une machine virtuelle. L'ensemble composé du matériel et du système d'exploitation forme la « machine » qui exécute le logiciel applicatif, une machine en partie simulée par du logiciel[1] .
de traduire les opérations en instructions propres au périphérique [7] . 2 •
Accès aux fichiers : en plus des instructions propres à chaque périphérique (lecteur de disquette, disque dur, lecteur de CD-ROM), le système d'exploitation tient compte du format propre à chaque support servant au stockage de fichiers. Il offre également des mécanismes de protection permettant de contrôler quel utilisateur peut manipuler quel fichier[7] .
Typologie
Il existe cinq générations de système d'exploitation : les systèmes d'exploitation batch, multiprogrammés, en temps partagé, temps réel et distribués. Chacun des principes mis en œuvre dans une génération se retrouve dans les générations suivantes[7] .
Un système de traitement par lots (batch) est prévu L'accès aux ressources : Une des fonctions du syspour exécuter l'un après l'autre des grands calculs, tème d'exploitation est de protéger les ressources avec peu d'intervention utilisateur[2] . contre l'utilisation par des personnes non autorisées, et de résoudre les conflits lorsque deux utilisateurs À partir de la génération des systèmes d'exploitation muldemandent simultanément la même ressource[7] . tiprogrammés, plusieurs programmes sont exécutés si Détection et récupération en casd'erreur : lorsqu'une multanément par planification(scheduling):Danscessyserreur survient, que cela soit du matériel ou du lo- tèmes d'exploitation multitâches, plusieurs programmes giciel, le système d'exploitation traite l'erreur en résident en mémoire centrale et le système d'exploitation d'un programme pour adoucissant son impact sur le système informatique. suspend régulièrement l'exécution [7] Il peut tenter de recommencer l'opération, arrêter continuer l'exécution d'un autre . l'exécution du programme fautif, ou signaler le proDans la génération des systèmes multiprogrammés, blème à l'utilisateur[7] . l'exécution simultanée de plusieurs programmes vise Contrôle : un système d'exploitation peut tenir des l'utilisation efficace de la puissance de calcul du prostatistiques d'utilisation des ressources, surveiller la cesseur. performance, et les temps de réponse[7] . •
•
•
•
•
•
Le système d'exploitation assure la réservation des différentes ressources pour les besoins des programmes, qui sont exécutés simultanément. Les réservations peuvent être inscrites dans des journaux d'activités à des fins de statistiques ou de dépannage et le système d'exploitation peut refuser une réservation à un utilisateur qui n'a pas reçu préalablement d'autorisation[2] . Le matériel informatique peut exécuter des instructions, mais celles-ci sont rarement plus que des copies et des
•
Dans la génération des systèmes en temps partagé l'exécution simultanée de plusieurs programmes vise à répondre rapidement aux demandes de plusieurs utilisateurs en communication directe avec l'ordinateur[7] . Un système d'exploitation temps réel doit garantir que toute opération se termine dans un délai donné, en vue de garantir la réussite du dispositif dans lequel l'ordinateur est utilisé[2] .
2.2 Deuxième génération : la multiprogrammation
3
En raison de la grande différence de vitesse entre le processeur et les périphériques, dans un système d'exploitation batch le processeur est inutilisé 90 % du temps parce que les programmes attendent qu'un périphérique ou un autre termine les opérations. Avec de tels systèmes d'exploitation il n'y a pas de concurrence entre les différentes tâches, la mise en œuvre de l'utilisation Chaque système d'exploitation est conçu pour fonction- du processeur, de la mémoire et des périphériques est ner avec une gamme particulière de machines (type de triviale[7] mais loin d’être optimale. processeur, constructeur, architecture). Si un système d'exploitation est disponible pour plusieurs gammes de machines différentes, alors le même code source est 2.2 Deuxième génération : la multiprocompilé [N 1] et adapté à chaque gamme de machines. La grammation palette de pilotes inclus dans le système d'exploitation est adaptée au matériel informatique disponible sur le mar- Les systèmes d'exploitation multiprogrammés sont appaché pour cette gamme de machines. rus dans les années 1960. Le but recherché de tels systèmes est d'augmenter l'efficacité de l'utilisation du pro2.1 Première génération : Traitement par cesseur et des périphériques en utilisant la possibilité de les faire fonctionner en parallèle. Plusieurs programmes lots sont placés en mémoire centrale, et lorsque le programme •
Un système distribué dirige l'utilisation des ressources de plusieurs ordinateurs à la fois. Il utilise les capacités d'un réseau informatique, contrôle un groupe de machines, et les fait apparaître comme une machine unique, imaginaire, de très grande capacité[2] .
Les systèmes d'exploitation basés sur le traitements de « lot » (suite d'instructions et de données dans un ensemble de cartes perforées) sont apparus dans les années 1950. Un programme (avec ses données) n'est autre qu'une pile de cartes avec des indicateurs de début et de fin de lot. L'exécution d'un programme consiste à demander à un opérateur de placer la pile de cartes dans le lecteur, puis l'opérateur lance la lecture séquentielle des cartes. Le processeur central est au repos, durant les manipulations de l'opérateur[7] .
en cours d'exécution attend un résultat de la part d'un périphérique, le système d'exploitation ordonne au processeur d'exécuter un autre programme[7] .
Dans les systèmes d'exploitation multiprogrammés, l'utilisation du processeur est partagée par planification (scheduling) : À chaque utilisation d'un périphérique, le système d'exploitation choisit quel programme va être exécuté. Ce choix se fait sur la base de priorités. Le système d'exploitation comporte un mécanisme de protection qui évite que le programme en cours d'exécution ne lise ou n'écrive dans la mémoire attribuée à un autre proUn batch est un lot de travaux à effectuer. L'opérateur gramme. Les programmes sont exécutés dans un mode compose un batch en posant les unes sur les autres les piles non-privilégié , dans lequel l'exécution de certaines insde cartes des différents programmes (avec leur données) tructions est interdite[7] . demandés par les utilisateurs. Il forme une grande pile de cartes séparées par des marque-page, en général une carte Les systèmes multiprogrammés nécessitent un ordinateur de couleur particulière, qu'il place ensuite dans le lecteur. et des périphériques qui mettent en œuvre la technique Le regroupement de plusieurs programmes en un batch du DMA (direct memory access) : Par cette technique le processeur ordonne à un périphérique d'effectuer une diminue les interventions de l'opérateur[7] . opération ; le résultat de l'opération est placé en mémoire Dans un système basé sur les batchs le cœur du syscentrale par le périphérique pendant que le processeur tème d'exploitation est un programme moniteur, qui réexécute d'autres instructions. Dans les systèmes multiproside continuellement en mémoire centrale, et qui permet grammés tout comme les systèmes batch l'utilisateur n'a à l'opérateur de demander de commencer ou d'arrêter que peu de contact avec les programmes et de maigres l'exécution du lot. À la fin de l'exécution de chaque tâche possibilités d'intervention[7] . du lot, le moniteur effectue des travaux de nettoyage, puis lance l'exécution de la tâche suivante. L'opérateur intervient ainsi uniquement au début et à la fin du lot[7] . 2.3 Troisième génération : le temps partaDans ces systèmes d'exploitation les commandes ajougé tées au marque-page, formulées dans le langage JCL (Job Control Language) sont un des seuls moyens qu'a Les systèmes d'exploitation en temps partagé sont apl'utilisateur d'interagir avec le système d'exploitation[7] . parus dans les années 1970. Ils sont utilisés dans des Les systèmes d'exploitation batch sont adaptés à des applications où il y a de très gros calculs avec très peu d'implication de l'utilisateur : météo, statistiques, impôts... Les utilisateurs n'attendent pas les résultats, soumettent les demandes, puis reviennent un peu plus tard collecter les résultats[7] .
dispositifs interactifs où plusieurs utilisateurs sont simultanément en dialogue avec l'ordinateur. Un système d'exploitation en temps partagé est destiné à répondre rapidement aux demandes de l'utilisateur, et donner à chaque utilisateur l'impression qu'il est le seul à utiliser l'ordinateur[7] .
4
3 HISTOIRE
Un système en temps partagé met en œuvre des techniques sophistiquées de multiprogrammation en vue de permettre l'utilisation interactive de l'ordinateur par plusieurs usagers et plusieurs programmes simultanément[2] . L'arrivée de cette nouvelle génération de systèmes d'exploitation en 1970 résulte d'une forte demande des consommateurs et de la baisse du prix du matériel informatique qui a rendu possible sa réalisation [7] .
les logiciels applicatifs et les périphériques. Dans certains systèmes temps réel les ressources sont réservées à l'avance, ce qui évite les ralentissements que provoqueraient les réservations à la volée, et garantit que les ressources seront continuellement disponibles[7] .
Les systèmesd'exploitation temps-réel évitent d'utiliser la technique du swap en raison des risques de dépassement des délais[7] . Dans les systèmes d'exploitation en temps partagé la no- RTX, Windows CE, Embedded Linux, Symbian OS, tion de batch n'a que peu d'importance. Ces systèmes Palm OS et VxWorks sont des systèmes d'exploitation mettent en œuvre de nouveaux mécanismes d'utilisation temps réel [9] . du processeur et de la mémoire, ce qui leur permet de répondre rapidement à des demandes provenant simulta2.5 Cinquième génération : les systèmes nément d'un grand nombre d'utilisateurs[7] . distribués Dans ces systèmes, tout comme dans la génération précédente, l'utilisation du processeur est planifiée. Cependant contrairement aux systèmes de la génération précédente, dans les systèmes en temps partagé chaque programmeestexécuté durant une tranche de temps déterminé, puis le système d'exploitation bascule sur l'exécution d'un autre programme, ce qui évite qu'un programme monopolise l'utilisation du processeur au service d'un utilisateur, entraînant des retards pour les autres usagers[7] . Les systèmes d'exploitation en temps partagé mettent en œuvre la technique du swap : lorsque le programme en cours d'exécution a besoin de plus de mémoire que ce qui est disponible, alors un autre programme inactif est retiré pour gagner de la place ; le programme inactif est enregistré temporairement sur le disque dur. L'enregistrement sur disque provoque cependant une perte de temps non négligeable[7] . En 2011 de nombreux systèmes d'exploitation sont basés sur Unix, un système en temps partagé [3] . 2.4
La baisse des prix du matériel informatique a permis, dans les années 1990, la création de systèmes informatiques composés de plusieurs ordinateurs, et donc plusieurs processeurs, plusieurs mémoires, et de nombreux périphériques. Un système distribué permet le partage des ressources entre les ordinateurs. Un utilisateur d'un ordinateur bon marché peut se servir de ressources coûteuses qui existent sur un autre ordinateur[7] . Mach, Amoeba, Andrew, Athena, et Locus sont des systèmesd'exploitation distribués. Ils ont tous été développés par des universités[10] .
3
Histoire
Cette section ne cite pas suffisamment ses sources. Pourl'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}}ou {{Référence souhaitée}} sur les passages nécessitant une source.
Quatrième génération : le temps réel
Dans les années 1940 les ordinateurs étaient programLes systèmes d'exploitation temps-réel sont apparus au més par manipulation d'interrupteurs à bascule, puis plus milieu des années 1970, entre autres chez Hewlett- tard par l'introduction d'une pile de cartes perforées dans Packard[8] . Ils sont destinés aux dispositifs qui doivent un lecteur dont la mécanique était similaire à celles des non seulement donner des résultats corrects, mais les don- pianos mécaniques — technique appelée mécanographie. ner à temps, c'est-à-dire dans un délai déterminé. Les Les ordinateurs des années 1940 à 1960, très coûteux, systèmes d'exploitation temps réel sont souvent utilisés étaient la propriété des entreprises et des institutions. par des ordinateurs reliés à un appareil externe, où un re- Chaque utilisateur avait le droit d'utiliser l'ordinateur tard de réponse de l'ordinateur entraînerait un échec de pendant un temps limité. Ce temps était souvent dél'appareil : pilotes automatiques, les robots industriels, les terminé par une horloge murale ou une pointeuse, et applications vidéo et audio[7] . l'utilisateur avait alors à disposition la totalité du matéDans les systèmes d'exploitation temps réel l'accent est mis sur la durée nécessaire pour effectuer chaque opération : répondre aux demandes rapidement en vue de satisfaire aux contraintes de temps du système dans lequel il va être utilisé[7] . Certains services offerts par ces systèmes d'exploitation sont réalisés comme des logiciels applicatifs, et sont exécutés en concurrence avec ceux-ci. Un système d'exploitation temps réel autorise un contact direct entre
riel de l'ordinateur. Il apportait avec lui une pile de cartes perforées qui contenait les instructions du ou des programmes à exécuter. Les ordinateurs de cette époque effectuaient une seule tâche à la fois, au service d'un seul utilisateur. Les programmes pour ces ordinateurs contenaient toutes les instructions nécessaires pour manipuler le matériel de l'ordinateur. Si la logithèque pour cet ordinateur comportait cinquante programmes, les instructions nécessaires
3.2 1972, les micro-ordinateurs
5
pour manipuler le matériel se retrouvaient dans chacun de matériel très coûteux par les entreprises et les institude ces cinquante programmes. tions. Mais, écrit en langage de programmation PL/I et Avec l'agrandissement de la logithèque, l'idée est ve- trop complexe pour les ordinateurs de l'époque, Multics nue d'isoler les instructions routinières dans un pro- fut un échec commercial. Il a cependant inspiré en grande conjoingramme séparé, programme qui résiderait continuelle- partie la gamme de systèmes GCOS développés [11] ment dans la mémoire, quel que soit le programme tement par Honeywell et Bull . en cours d'exécution. Ce programme était un système En 1969, les ingénieurs Ken Thompson et Dennis Ritd'exploitation, sous sa forme la plus rudimentaire. chie des laboratoires Bell rêvent d'utiliser le système d'exploitation Multics, mais le matériel pour le faire fonctionner est tout simplement hors de prix. Thompson se lance dans l'écriture d'une version allégée de Multics pour 3.1 1960, la multiprogrammation un PDP-7 inutilisé. Le système, fonctionnel, est surnom(pour UNiplexed Information and Computing Cette section ne cite pas suffisamment ses sources . mé Unics [T 2] ), puis finalement baptisé UNIX. Rapidement Service Pourl'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}}ou {{Référence reprogrammé dans un langage de programmation plus approprié (le C, développé par Ritchie pour l'occasion), souhaitée}} sur les passages nécessitant une source. UNIX se révèle particulièrement simple à porter sur de nouvelles plateformes, ce qui assure son succès [T 3],[12] . Les ordinateurs des années 1960 avaient en général comme périphérique un lecteur de carte perforée, un enregisteur-lecteur de bande magnétique ou un disque dur 3.2 1972, les micro-ordinateurs et une imprimante. Du fait de la lenteur de ces périphériques, les ordinateurs étaient obligés d'attendre, sans rien faire d'autre, qu'un périphérique termine son travail avant Sorti en 1972, le Micral de la société R2E est le premier de passer à l'instruction suivante, ce qui représentait un micro-ordinateur du monde. il est équipé d'un processeur Intel 8008 et du système d'exploitation SYSMIC — appetemps perdu non négligeable. lé alors moniteur d'exploitation . Le système d'exploitation Les systèmes d'exploitation ont alors été conçus de ma- SYSMIC sera plus tard renommé PROLOGUE lors du ranière à permettre l'exécution de plusieurs programmes chat de la société par Bull en 1978. à la fois. D'abord, les programmes étaient chargés en mémoire pour y résider simultanément. Le pre- Sorti en 1975, l'Altair 8800 est un micro-ordinateur livré mier programme était exécuté, puis, lorsqu'il avait be- en kit au prix approximatif de 400 $, et comme le Micral soin d'attendre qu'un périphérique se libère, le système il se programmait en inversant une série d'interrupteurs à d'exploitation enchaînait sur l'exécution du deuxièmepro- bascule situés sur la face avant de l'appareil. Le prix de gramme, puis le troisième et ainsi de suite [réf. nécessaire] . l'Altair 8800 le rendait accessible aux particuliers mais Cette technique, dite de multiprogrammation , est le son utilisation compliquée (qui rappelle les ordinateurs précurseur du multitâche des systèmes d'exploitation centraux des années 1940) limitait son utilisation à des d'aujourd'hui, proche du multitâche coopératif qui a été passionnés et des hobbyistes. utilisé jusque dans les années 1990. À cette époque, les micro-ordinateurs n'avaient pas une En 1965 le Massachusetts Institute of Technology se puissance de calcul suffisante pour être équipés d'un syslance dans la création du premier système d'exploitation tème d'exploitation comme Unix ou OS/360, même si multitâche et multi-utilisateurs : Multics (pour MULTi- les constructeurs réfléchissent à des machines moins coû plexed Information and Computing Service [T 1] ou service teuses et moins encombrantes face au monopole IBM. multiplexé d'information et de calcul). Sur le principe de Gary Kildall, ingénieur pour Intel crée CP/M, le premier la multiprogrammation , le système d'exploitation autori- système d'exploitation pour micro-ordinateur. sait le chargement de plusieurs programmes en mémoire et gérait le passage de l'un à l'autre, mais cette fois-ci sans attendre le blocage d'un programme[N 2] . Chaque programme était exécuté pendant une durée de quelques millisecondes, puis le système passait au suivant. Ce temps, très court, donnait l'illusion que les programmes s’exécutaient simultanément — une illusion qui existe encore avec les systèmes d'exploitation contemporains.
En 1980, IBM prend contact avec Bill Gates, cofondateur de la société Microsoft, pour l'adaptation du langage BASIC à son nouveau micro-ordinateur, le Personal Computer (abrégé PC ). IBM est également à la recherche d'un système d'exploitation, et Gates conseille à la société de se tourner vers CP/M. Mais Gary Kildall refuse de signer le contrat avec IBM. Bill Gates saute sur l'occasion : il rachète QDOS – un système d'exploitation quick-anddirty pour les processeurs Intel 8086 – pour proposer à IBM le package DOS/BASIC. Après quelques modifications effectuées à la demande d'IBM, le système est baptisé MS-DOS[T 4],[13] .
De plus, ces programmes pouvaient appartenir à des utilisateurs distincts, chacun ayant l'impression que la machine travaille uniquement pour lui. La possibilité pour un ordinateur de servir simultanément plusieurs personnes augmentait le retour sur investissement de l'achat Xerox, une des sociétés majeures de l'époque, s’intéresse
6
4 COMPOSITION
à l'optiquede Steve Jobs. Elleréunit une poignée de scientifiques et d'ingénieurs dans son centre de recherche de Palo Alto et, sur la base de thèses et d'études en ergonomie effectuées les années auparavant, développe le premier micro-ordinateur équipé d'une interface utilisateur graphique. Le résultat de ces recherches, le Xerox Star, ne sera jamais commercialisé. Dix ans plus tard c'est Apple, avec le Macintosh, qui popularise les recherches effectuées par Xerox[14] . 3.3
valds et Richard Stallman, aidés par des milliers de bénévoles et à la suite des travaux des étudiants de l'université de Berkeley que GNU/Linux et 4.4BSD sont devenus les premiers systèmes d'exploitation sous licence libre[20] .
4
Composition
Cette section ne cite pas suffisamment ses sources. Pourl'améliorer, ajouter en note des références vérifiables 1990, les systèmes d'exploitation sous ou les modèles {{Référence nécessaire}}ou {{Référence souhaitée}} sur les passages nécessitant une source. licence libre
Article connexe : licence libre.
Un système d'exploitation est composé d'une large palette de programmes. La composition exacte dépend de En 1983, Richard Stallman du Massachusetts Institute l'usage cible et du type d'appareil informatique auquel of Technology lance l'idée d'un système d'exploitation le système est destiné (ordinateur personnel, serveur, sous licence libre : GNU [15] . Il développe des outils superordinateur ou encore système embarqué). de programmation, des logiciels utilitaires, et crée la Si le système d'exploitation est destiné à être utilisé sur GNU General Public License — un contrat de licence un ordinateur personnel ou une console de jeu vidéo, qui autorise une utilisation sans restrictions ainsi que la l'interface graphique sera raffinée et ergonomique. S'il est publication du code source, sa modification, et sa redis- destiné à être utilisé sur un serveur, il comprendra une tribution. Le succès est immédiat, mais le système ne pos- large palette de protocoles et de pilotes pour du matériel sède toujours pas, en 1990, de noyau libre, et les tenta- réseau, sera multi-tâches et muni de contrôles d'accès. Au tives pour en développer un sont loin d'être abouties[16] . contraire, le nombre de pilotes sera restreint au minimum En 1987, Andrew Tanenbaum, professeur à l'université et le système d'exploitation sera prévupour être enregistré libre d'Amsterdam a créé le système d'exploitation sur une mémoire morte s’il est destiné à un assistant perMinix, clone d'UNIX dont le code source était desti- sonnel ou un téléphone mobile. Un système d'exploitation né à illustrer son cours sur la construction des systèmes destiné à des superordinateurs sera massivement multiprod'exploitation [N 3] . Mais Minix, à vocation pédagogique, cesseur , c'est-à-dire qu'il pourra être utilisé sur un ordinacomportait de trop nombreuses limitations techniques, teur équipé de centaines voire de milliers de processeurs. et ne permettait pas une utilisation poussée [N 4] . Inspiré par les travaux de Tanenbaum, Linus Torvalds, étudiant à l'université d'Helsinki se lance alors dans le développe- 4.1 Interface de programmation ment de son propre noyau : Linux, qui est au départ une réécriture de Minix. La toute première version (0.01) sort Article détaillé : Interface de programmation. en 1991, Linux passe sous licence GNU en 1992 [17] . et il faut attendre 1994 pour voir la version 1.0[T 5] qui donne Le système d'exploitation effectue de nombreuses actions naissance à la distribution d'un système d'exploitation en- sur demande des logiciels applicatifs. Le point de contact tièrement libre, GNU/Linux. entre un logiciel applicatif et le système d'exploitation Un autre système d'exploitation libre apparaît à la même est appelé interface de programmation (anglais Applicaépoque : il s’agit de 4.4BSD. La Berkeley Software Dis- tion Programming Interface abrégé API ). Ce peut être tribution (traduction : la suite de logiciels de Berkeley ) des fonctions mises à disposition dans des bibliothèques – abrégé BSD – est la version d'UNIX développée par logicielles, ou des logiciels serveur qui répondent aux les étudiants et les chercheurs de l'université de Berke- requêtes envoyées par les logiciels applicatifs. ley depuis 1977 [18] . Les logiciels utilitaires, créés sous licence libre, sont vendus avec le noyau Unix de AT&T, lui-même sous licence propriétaire. Cette double licence de BSD est à l'origine de plusieurs années de litige entre l'Université de Berkeley et AT&T[19] . Les étudiants de l'université travaillent à remplacer les programmes développés par AT&T par leurs propres programmes, sous licence libre, afin de résoudre le litige. Cette situation dure jusqu'à la sortie de 4.4BSD en 1994, qui ne contient pratiquement plus de code AT&T[T 6] .
L'utilisation de la même interface de programmation quel que soit le matériel, le protocole ou le système de fichier concerné assure la portabilité des logiciels applicatifs : un logiciel applicatif donné pourra fonctionner sur différents ordinateurs, quelle que soit leur configuration, en particulier quel que soit le matériel, le système de fichier ou le protocole utilisé.
POSIX (acronyme de l'anglais Portable Operating System Interface)estune norme relative à l'interface de programmation du système d'exploitation. De nombreux systèmes C'est à la suite des initiatives et travaux de Linus Tor- d'exploitation sont conformes à cette norme, notamment
7
4.4 Gestion de la mémoire
les membres de la famille Unix. 4.2
La quantité de mémoire utilisée par l'ensemble du système informatique dépend essentiellement de la manière dont le système d'exploitation effectue les réservations[2] .
L'ordonnanceur
Article détaillé : Ordonnanceur.
4.4.1
L'ordonnanceur (anglais scheduler ) est le programme du système d'exploitation qui contrôle le déroulement des autres programmes. Dans un système d'exploitation multitâches l'ordonnanceur assure l'exécution simultanée de plusieurs programmes (concurrence).
Article détaillé : Mémoire virtuelle.
La mémoire virtuelle
Le mécanisme dit de mémoire virtuelle est destiné à simuler la présence ou l'absence de mémoire centrale par manipulation de l'unité de gestion mémoire — un comL'exécution simultanée de plusieurs programmes est réa- posant électronique (anglais Memory Management Unit lisée de la manière suivante : l'ordonnanceur commande abrégé MMU ). C'est un mécanisme courant dans les sysl'exécution à tour de rôle de chaque programme par tèmes d'exploitation contemporains. le ou les processeurs de l'ordinateur, chaque processeur La mémoire virtuelle permet d'exécuter simultanément exécute les instructions d'un programme pendant une plus de programmes que ce que la mémoire centrale peut fraction de seconde, puis l'ordonnanceur effectue une contenir. Chaque programme n'ayant pas besoin que la commutation de contexte (anglais context switch), sus- totalité des informations qu'il manipule soit présent dans pend l'exécution du programme en cours et passe au pro- la mémoire centrale[N 5] , une partie des informations sont gramme suivant. stockées dans la mémoire de masse (en général dans un fichier ou une partition de disque dur) habituellement plus importante mais plus lente et sont transférées en mémoire centrale lorsque le programme en a besoin[T 7] . 4.3 La communication inter-processus Les programmes disposent d'un (ou plusieurs) espaces Article détaillé : Communication inter-processus. virtuels de mémoire continus pour travailler. Les adresses des données sont dites virtuelles dans la mesure où Les systèmes informatiques sont typiquement composés l'information adressée ne se trouve pas forcément en méde nombreux programmes qui coopèrent en s’échangeant moire centrale, et pas forcément à l'adresse indiquée. des informations. Les échanges d'informations entre les Lorsque le programme essaie de lire ou écrire une donnée processus (programmes en cours d'exécution) peuvent se dans sa mémoire virtuelle, l'unité de gestion de mémoire faire à l'aide de messages stockés en mémoire, le sys- cherche l'adresse physique correspondant à l'adresse virtème d'exploitation s’occupant de collecter les messages tuelle sollicitée grâce à une table de correspondance. Si et les mettre à disposition de chaque destinataire. Tout l'emplacement n'est pas présent en mémoire centrale, il processus qui attend un message sera interrompu jus- n'y aura évidemment aucune adresse physique corresponqu'à l'arrivée d'un message et l'ordonnanceur évitera toute dante. Le système d'exploitation devra alors chercher à libérer un espace en mémoire centrale en échangeant (ancommutation de contexte vers un processus en attente. glais swap) le contenu d'un emplacement donné de méLe système d'exploitation s’assure également que les pro- moire centrale avec le contenu sollicité, qui se trouve cessus qui partagent un espace de stockage commun (en en mémoire de masse [N 6],[T 8] . Cette opération s’effectue lecture ou écriture) ne se trouvent pas en situation de automatiquement, à l'insu des programmes. compétition, c'est-à-dire dans une situation où le résultat d'une opération dépend de l'ordre dans lequel les proces- Des mémoire associatives, incorporées dans l'unité de gestion de mémoire, accélèrent le calcul des sus accèdent à l'espace partagé. adresses[T 9] .Les systèmes d'exploitation utilisent généralement deux mémoires associatives : une pour le mode kernel et une pour le mode utilisateur . La mémoire du 4.4 Gestion de la mémoire mode kernel est arrangée de manière à permettre au proLes fonctions du système d'exploitation qui contrôlent cesseur d'utiliser la totalité de la mémoire centrale dispol'utilisation de la mémoire vont en particulier suivre nible — lors de l'exécution des programmes du noyau du l'utilisation de la mémoire, quels emplacement sont système d'exploitation. Tandis que celle du mode utilisalibres, sont utilisés, et par qui [2] . Ces fonctions vont éga- teur est arrangée de manière à protéger le noyau (qui est lement décider quel programme reçoit de la mémoire, ainsi invisible pour le programme en question) — lors de quand et quelle quantité est mise à disposition et récupé- l'exécution des programmes hors du noyau. rer la mémoire qui était utilisée par un programme après Chaque programme dispose de sa propre table de corson exécution, que le programme se soit arrêté volontai- respondance, ce qui permet de les isoler les uns des rement ou accidentellement[2] . autres. Lors d'une commutation de contexte, le système
8 d'exploitation placera la table du programme courant dans la mémoire associative[T 10] . Le système d'exploitation crée également de nouvelles tables pour les programmes qui démarrent et décide quels emplacements de mémoire virtuelle seront ou ne seront pas présents en mémoire centrale[T 11] .
4 COMPOSITION
d'exploitation uniquement si celui-ci reconnaît la disposition en question. Les mémoires amovibles telles que les CD ou les DVD ont une disposition normalisée dont les spécifications sont publiques, ce qui assure leur reconnaissance par tous les systèmes d'exploitation (voir ISO 9660 et UDF).
Un système d'exploitation contient typiquement différents programmes qui servent à manipuler un système de 4.5 Pilotes fichier. Chaque programme manipule les fichiers conformément à une disposition donnée. Ces programmes efArticle détaillé : Pilote informatique. fectuent des opérations telles que créer des fichiers, les copier, les supprimer, créer et supprimer des répertoires Un pilote (anglais driver ) est un programme qui contient ainsi que formater la mémoire de masse c'est-à-dire créer les instructions à exécuter pour utiliser un certain une structure vide. voir FAT, HFS ou ext2fs. périphérique informatique. Les pilotes sont fournis par l'auteur du système d'exploitation ou le fabricant du pé- Lorsque le système de fichier est distribué , c'est-à-dire riphérique. Un système d'exploitation contient typique- que les fichiers sont stockés sur différents ordinateurs ment de nombreux pilotes correspondant à de nombreux d'un réseau informatique, le système d'exploitation encomposants matériels susceptibles d'être montés dans voie une requête à l'ordinateur qui stocke le fichier pour chaque opération à effectuer (voir NFS ou CIFS). l'ordinateur. L’interface de programmation est similaire sur tous les Dans un système d'exploitation multi-utilisateurs, les propilotes, tandis que les instructions du programme dif- grammes qui manipulent le système de fichier effectuent fèrent en fonction des caractéristiques de chaque compo- des contrôles pour vérifier qu'aucun fichier n'est manipulé sant matériel, ce qui assure l'utilisation banalisée du pé- par une personne non autorisée. Le système d'exploitation refusera toute manipulation non autorisée. riphérique. Le système d'exploitation dirige l'utilisation des pilotes par les logiciels applicatifs. Il intervient lorsque plusieurs logiciels applicatifs tentent d'utiliser le même matériel en 4.7 Réseau même temps, et active ou désactive les pilotes en fonction Article détaillé : Réseau informatique. du matériel présent dans l'ordinateur. Lors de chaque événement survenu sur un périphérique (réception d'informations, fin d'un envoi, manipulation effectuée par l'utilisateur, etc.), ce dernier provoque une interruption matérielle, un mécanisme électronique qui provoque une commutation de contexte ; le système d'exploitation déclenche alors l'exécution des instructions du pilote concerné.
Dans un réseau informatique, deux ordinateurs reliés arrivent à communiquer du moment que les communications se font de part et d'autre selon les mêmes protocoles réseau. Selon le modèle OSI, les différents protocoles existants sont répartis sur sept niveaux, où un protocole d'un niveau donné peut être combiné avec n'importe quel protocole des niveaux situés en dessus et en dessous (voir Les logiciels applicatifs ainsi que le système d'exploitation encapsulation). peuvent également, au besoin, déclencher l'exécution des Un système d'exploitation contient typiquement pluinstructions d'un pilote. sieurs programmes nécessaires pour des échanges d'informations dans différents protocoles des niveaux 1 à 4. Tandis que les niveaux 5 à 7 sont pris en charge par 4.6 Système de fichiers les logiciels applicatifs et les middleware . Article détaillé : Système de fichier. Pour les échanges d'informations selon les protocoles de niveau 1 et 2, le système d'exploitation demande l'opération au matériel de l'ordinateur par l'intermédiaire d'un pilote informatique, pilote qui peut faire partie intégrante du système d'exploitation ou être fourni par le constructeur du matériel.
Un système de fichier (anglais file system) est une structure en arbre dans laquelle sont stockés des fichiers ainsi que d'autres informations. Divers programmes du système d'exploitation s’occupent de répartir les fichiers sur les mémoires de masse tels que les disques durs et de les Lors de l'envoi d'informations sur le réseau, un logiciel relier pour former la structure du système de fichiers. applicatif crée une information, la met en forme conforIl existe diverses manières de disposer les fichiers dans mément aux protocoles des niveaux 7 à 5, puis la transmet une mémoire de masse. Une mémoire de masse qui a au système d'exploitation. Divers programmes du sysété remplie avec un système d'exploitation selon une tème d'exploitation vont découper cette information en disposition donnée sera reconnue par un autre système trames, puis vont mettre en forme les trames et les en-
9
4.9 Interface utilisateur
voyer conformément aux protocoles des niveaux 4 à 1. Lors de la réception de trames depuis le réseau, divers programmes du système d'exploitation vont tenter de les décoder conformément à différents protocoles des niveaux 1 à 4, puis transformer la suite de trames en un flux continu, qui sera envoyé au logiciel applicatif destinataire. Le logiciel va alors décoder le flux conformément aux protocoles de niveaux 5 à 7. Le logiciel applicatif effectue préalablement une connexion, c'est-à-dire une liaison logique par laquelle il va s’associer avec un flux particulier.
Le système d'exploitation va également refuser la mise hors service de programmes centraux tels que les logiciels serveur ou des programmes du système d'exploitation par tout utilisateur qui n'a pas préalablement reçu le privilège d'effectuer cette opération – selon les règlements introduits par l'administrateur de sécurité.
Lorsqu'un logiciel autonome (bot informatique) demande des opérations au système d'exploitation, le logiciel doit préalablement décliner son identité en tant que produit puis, sur la base de cette identité, le système d'exploitation effectue les mêmes vérifications que pour une personne Le choix exact des protocoles utilisés dépend de physique. l'ordinateur concerné et des liaisons réseau qui vont être Les mécanismes de contrôle d'accès ont aussi pour efutilisées. Divers paramètres de configuration permettent fet de lutter contre les logiciels malveillants – ceux-ci efd'influencer le choix des protocoles. Ils permettent par fectuent souvent des opérations susceptibles de perturber exemple d'empêcher l'utilisation de protocoles interdits l'utilisation de l'ordinateur. sur le réseau concerné. 4.9 4.8
Contrôle d'accès
Article détaillé : Contrôle d'accès logique.
Interface utilisateur
Un ensemble de programmes du système d'exploitation reçoit les informations envoyées par les logiciels applicatifs, et lesplace sur une image numérique qui sera envoyée au matériel par l'intermédiaire d'un pilote. En complément un autre ensemble de programmes reçoit les manipulations effectuées par l'usager par l'intermédiaire de pilotes puis les transmettent au logiciel concerné. Ces deux ensembles créent l'interface homme-machine qui permet à un usager de dialoguer avec la machine.
Dans un système d'exploitation multi-utilisateurs , un ensemble de programmes assure la sécurité des informations enregistrées dans les mémoires ainsi que la disponibilité de l'ordinateur, ceci afin de préserver la confidentialité et éviter que de manipulations effectuées par un utilisateur perturbent l'utilisation de l'ordinateur par les autres utilisateurs. Cette fonctionnalité est souvent Le système d'exploitation peut dialoguer avec un usager absente des systèmesd'exploitation pour les appareils per- par l'intermédiaire d'un autre ordinateur ou d'un terminal (interface distribuée). Les informations envoyées par les sonnels. logiciels applicatifs seront alors envoyées à l'autre ordiDans ces systèmes d'exploitation tout utilisateur nateur selon un protocole prévu à cet effet, tandis que doit préalablement décliner son identité avant l'autre ordinateur enverra les manipulations effectuées d'utiliser l'ordinateur. Puis un programme du sys- par l'utilisateur. Voir SSH, RFB ou X Window System. tème d'exploitation vérifie cette identité par rapport à un annuaire ou un référentiel (voir authentification). Lorsque l'interface est en mode texte, l'image numéLe système d'exploitation établit alors une liste des rique est une grille dans laquelle sont placés des caracopérations autorisées ou interdites à l'utilisateur en tères d'imprimerie, la grille comporte typiquement 80 cofonction des règlements — en anglais : policies — qui ont lonnes et 35 lignes. L'interface se manipule avec un claété introduits par l'administrateur sécurité – la personne vier. Ce type d'interface, qui existe depuis les débuts de l'informatique [N 7] est aujourd'hui remplacé par les interresponsable de la sécurité des informations. faces graphiques. Lors de chaque opération demandée par un logiciel applicatif, le système d'exploitation vérifie préalablement si l'utilisateur qui manipule le logiciel applicatif est au- 4.9.1 L'interface utilisateur graphique torisé à effectuer cette opération. La vérification se fait sur la base des règlements ainsi que des listes de droits Article détaillé : Interface graphique. d'accès introduits par l'administrateur sécurité. Le système d'exploitation refusera toute opération non autorisée Dans une interface utilisateur graphique (anglais Graphet inscrira le refus dans un journal d'activité. ical User Interface abrégé GUI ), l'image numérique est En particulier, le système d'exploitation peut refuser à un utilisateur de lire, de modifier, ou de supprimer un fichier, selon la liste des droits d'accès introduits concernant ce fichier. Le nom des personnes autorisées à modifier les listes de droits d'accès est également indiqué dans la liste de droits d'accès.
composée par un programme du système d'exploitation par superposition de points, de lignes, de pictogrammes et de caractères d'imprimerie. L'interface se manipule typiquement avec une souris selon le principe WIMP (anglais Windows, Icons, Menus and Pointer device ). L'image numérique est créée à l'aide du processeur graphique de
10
5 ORGANISATION GÉNÉRALE
l'ordinateur.
logiciels actuellement installés dans l'ordinateur.
Lors des manipulations de la souris, le système d'exploitation déplace l'élément d'image qu'est lepointeur et effectue les calculs nécessaires pour déterminer quel est l'élément de l'image qui se trouve juste en dessous. À chaque élément de l'image peut être associé un programme. Un widget est un programme qui dessine et anime un élément d'image dont l'aspect peut-être celui d'un bouton poussoir, d'une lampe témoin, d'un ascenseur, d'une zone texte, d'un menu, etc. Divers widgets sont fournis avec le système d'exploitation.
Un système d'exploitation multi-utilisateurs est en général fourni avec des programmes permettant de surveiller l'utilisation — par autrui — de l'ordinateur – consultation de journaux d'activité – ou de modifier les listes de droits d'accès en vue d'autoriser ou d'interdire un fichier à certains utilisateurs.
Les programmes pour interface graphique sont aujourd'hui (2011) inclus dans tous les systèmes d'exploitation contemporains. Le X Window System est l'ensemble des programmes pour interface utilisateur graphique inclus dans tous les systèmes d'exploitation de la famille Unix.
Cette section ne cite pas suffisamment ses sources. Pourl'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}}ou {{Référence souhaitée}} sur les passages nécessitant une source. Les différents programmes du système d'exploitation
5
Organisation générale
Monolithic Kernel based Operating System
4.10
Logiciels utilitaires
Application
System Call
VFS
Article détaillé : Logiciel utilitaire.
Microkernel based Operating System
user mode
IPC, File System Application IPC
Scheduler, Virtual Memory
UNIX Server
Device Driver
File Server
kernel mode
Un logiciel applicatif sert à assister l'utilisateur dans une activité. Les logiciels utilitaires sont des logiciels applicatifs qui permettent à l'utilisateur d'effectuer des manipulations basiques telles que démarrer des pro- Comparaison entre noyau monolithique ou micronoyau grammes, copier des fichiers ou modifier des paramètres de configuration. Divers logiciels utilitaires sont fournis sont typiquement répartis en couches distinctes[T 12] . avec les systèmes d'exploitation. La couche supérieure est l'interface de programmation Un interpréteur de commandes est un programme qui avec les logiciels applicatifs (dont font partie les logiciels permet d'exécuter d'autres programmes en écrivant leur utilitaires fournis avec le système d'exploitation). nom éventuellement suivi de divers paramètres. Il est accompagné de plusieurs programmes qui permettent la Au centre, on trouve une ou plusieurs couches qui manipulation des fichiers (copie, changement de nom…). contiennent les composants principaux du système Ce type de programme est utilisé pour effectuer des ma- d'exploitation tels que : les programmes pour les sysnipulations ou exécuter des scripts – suites de manipula- tèmes de fichiers et le réseau, la gestion de mémoire (voir supra), les pilotes, l'ordonnanceur, le gestionnaire tions pré-enregistrées (voir commande informatique). d'interruption[T 13] . Un environnement de bureau est un programme dans lequel les différents éléments de l'ordinateur (programmes, La couche inférieure, appelée couche d'abstraction mafichiers, disques durs) sont présentés sous forme de picto- térielle (anglais hardware abstraction layer abrégé HAL), grammes sur lesquels il est possible d'effectuer différentes est chargée de masquer les particularités matérielles et les sur lesquelles actions. Il permet d'exécuter des programmes, d'effectuer différences qu'il existe entre les machines [T 14] . différentes opérations sur les fichiers (copie, changement le système d'exploitation sera utilisé du nom, déplacement ou suppression). Device Drivers, Dispatcher, ...
Hardware
Basic IPC, Virtual Memory, Scheduling Hardware
Certains programmes permettent à l'utilisateur de mo- 5.1 Le noyau difier les paramètres de configuration du système d'exploitation. Ceux-ci proposent des listes à choix mul- Article détaillé : Noyau de système d'exploitation. tiples et effectuent des contrôles de validité avant le modifier les paramètres. Le noyau (anglais kernel ) est un espace mémoire isoD'autres programmes servent à installer des logiciels, lé, dans lequel est placé tout ou partie du système c'est-à-dire copier les fichiers dans les emplacements pré- d'exploitation. Dans le langage courant le terme kervus à cet effet, et effectuer les modifications de configu- nel désigne l'emplacement ainsi que l'ensemble des proration nécessaire pour rendre le logiciel opérationnel. Ces grammes qu'il contient et qui forment le cœur rigide du programmes peuvent aussi servir à consulter la liste des système d'exploitation. Le contenu du noyau ne peut pas
11 être modifié par inadvertance par les logiciels applicatifs Windows NT ou NetWare sont des systèmes – une modification provoquerait un crash de l'ordinateur. d'exploitation à noyau hybride [21] . 5.1.1
Noyau monolithique
L'architecture est dite à noyau monolithique lorsque la totalité des programmes du système d'exploitation (en particulier les pilotes, les 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 (voir supra).
5.1.4
Exo-noyau
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 Linux, FreeBSD, OpenVMS ou Solaris sont des systèmes bibliothèque logicielle du système d'exploitation sans nécessiter une commutation de contexte. Une des bibliod'exploitation à noyau monolithique. thè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. 5.1.2 Micro-noyau Mac OS, AmigaOS et Oberon sont des systèmes L'architecture est dite micro-noyau (anglais microkernel ) d'exploitation en architecture exo-noyau. 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 6 Quelques exemples traitent les systèmes de fichiers ou l'interface graphique, Article détaillé : Liste des systèmes d'exploitation. 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 7 pour s’échanger des messages. L'utilisation des fonctions de l'interface de programmation entraîne l'émission de nouveaux messages.
Le marché
Minix, BeOS, Mac OS X ou QNX sont des systèmes d'exploitation à micro-noyau. 5.1.3
Noyau hybride
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.
Parts des systèmes d'exploitation des PC en 2014 dans le monde[30] .
Née en 1985, la gamme des systèmes Windows de Microsoft équipe en 2008 près de 90 % des ordinateurs personnels, ce qui la place en situation de monopole notamment auprès du grand public. En 2008 ses parts de marché sont descendues en dessous de 90 % pour la première fois depuis 15 ans[31] .Puisàlasuitedelacroissance très rapide du marché des smartphones, et du retard pris par Microsoft sur ce marché, ses parts de marché sur les
12
7 LE MARCHÉ
7.1
Choix par l'acheteur
De nombreux logiciels applicatifs sur le marché sont construits pour fonctionner avec un système d'exploitation en particulier, ou une famille en particulier et un système d'exploitation est construit pour fonctionner avec une gamme de machines donnée. Pour l'acheteur le choix de la famille de machine limite le choix du système d'exploitation, qui lui-même limite le choix des logiciels applicatifs. Chaque système d'exploitation, selon la palette de programmes qu'il contient, est construit pour fonctionner avec certains réseaux informatiques. Pour l'acheteur qui possède un réseau informatique (typiquement les entreprises et les institutions) le choix du système d'exploitation dépend de son adéquation au réseau existant de l'acheteur. L'utilité d'un système d'exploitation pour l'usager est proportionnel au nombre de logiciels applicatifs qui sont prévus pour lui. La popularité élevée d'un système d'exploitation attire les éditeurs de logiciels applicatifs, Parts des systèmes d'exploitation des smartphones en 2011 dans ce qui accroit encore sa popularité (effet réseau). Ce phéle monde. nomène fait que le marché est sujet aux situations de monopole. Apple, Sun Microsystems et Silicon Graphics sont des appareils personnels sont passées de 95% en 2005 à 20% marques qui fabriquent du matériel informatique et développent des systèmes d'exploitation pour leur propre maen 2013[32] . tériel. Certains systèmesd'exploitation, comme Microsoft Initiée en 1969, la famille de systèmesd'exploitation Unix Windows, sont vendus avec le matériel informatique, compte plus de 25 membres[33] . GNU/Linux, BSD et conformément à des accord entre les fabricants. Mac OS X sont aujourd'hui les systèmes d'exploitation les plus populaires de la famille Unix. La famille Windows équipe aujourd'hui 38 % des 7.2 Concurrence, compatibilité et interserveurs tandis que la famille Unix équipe 31 %, opérabilité [34] dont à peu près la moitié avec GNU/Linux . La famille Unix anime 60 % des sites web dans le Cette section ne cite pas suffisamment ses sources. monde[35] et GNU/Linux équipe 95 % des près de 500 Pourl'améliorer, ajouter en note des références vérifiables superordinateurs du monde[36] . En 2012, la famille Unix ou les modèles {{Référence nécessaire}}ou {{Référence anime 90% des smartphones[réf. nécessaire] . souhaitée}} sur les passages nécessitant une source. Né en 1990, Symbian OS est en 2007 le système d'exploitation le plus répandu sur les téléphones mobiles et assistants personnels, avec 67 % de part de marché[37] . En 2012, les quatre systèmes d'exploitation Android de Google, Symbian, iOS de Apple et Blackberry de Research In Motion occupent ensemble 95% du marché des smartphones. Android, le plus populaire (75%), est en progression, tandis que les autres sont en recul. Les parts de marché de Symbian ne sont plus que de 2.3% [38] .
La compatibilité d'un système d'exploitation est sa capacité à être utilisé à la place d'un autre, en particulier à exécuter les logiciels applicatifs de l'autre. Le système d'exploitation est dit « compatible » avec l'autre. La compatibilité au niveau source est la capacité pour un système d'exploitation A d'exécuter un logiciel applicatif créé pour B après avoir compilé le code source du logiciel pour la machine A. Et la compatibilité binaire est Du côté des tablettes tactiles, iOS de Apple était le pre- la capacité pour un système d'exploitation A d'exécuter mier système d'exploitation largement diffusé avec plus un logiciel applicatif créé pour B tel quel, sans avoir à le de 80 % de part de marché en 2010 [39] . Trois ans plus recompiler. tard sa part de marché est de 20% et celle de Android est L’interopérabilité est la capacité de plusieurs systèmes de plus de 56% [40] . de pouvoir être utilisés ensemble. Par exemple dans un Les serveurs et super-ordinateurs sont majoritaire- même appareil, ou dans un réseau informatique. ment équipés de systèmes d'exploitation de la famille Pour être compatibles, deux systèmes d'exploitation UNIX[41] . doivent avoir des points communs, notamment sur
7.2 Concurrence, compatibilité et interopérabilité
13
l'interface de programmation. La compatibilité binaire cée en 1988 et concerne l'interface de programmation. n'est possible qu'entre deux systèmes d'exploitation qui La conformité d'un système d'exploitation à cette norme fonctionnent avec la même famille de processeur. assure la compatibilité au niveau source. En 2009, de à cette La compatibilité et l'interopérabilité entre les systèmes nombreux systèmesd'exploitations sont conformes [43] d'exploitation est assurée par les éditeurs par l'alignement norme, y compris en dehors de la famille Unix . de leur produit à des normes industrielles ainsi que des POSIX fait partie de la Single Unix Specification, une technologies rendues publiques. norme lancée en 1994 par l'Open Group, qui concerne que Le système d'exploitation Unix, créé en 1969 a servi de les systèmes de fichiers, les logiciels utilitaires, ainsi [44] . Le 1 742 fonctions de l'interface de programmation source d'inspiration pour toute une famille de systèmes d'exploitation. Le jeu de la concurrence, très vive dans les nom « Unix » appartient à l'Open Group et tout système années 1980, a amené lesdifférents membres de la famille d'exploitation doit être conforme à la Single Unix Speciêtre reconnu comme faisant partie de la faUnix à se distancier, et perdre la compatibilité l'un avec fication pour [45] l'autre. Des organismes de normalisation tels que le Open mille Unix . Group se sont penchés sur le problème et ont édicté des normes qui garantissent la compatibilité à travers toute la 7.2.2 Microsoft et la concurrence famille Unix. Entre 1995 et 2007, Microsoft, éditeur de la suite de sys- En 1995,conformémentau Sherman Antitrust Act—une tèmes d'exploitation Windows a été l'objet de plusieurs loi des États-Unis pour la prévention de l'abus de position procès pour des pratiques anticoncurrentielles qui nuisent dominante, le département de la justice desÉtats-Unis inà la concurrence et à l'interopérabilité. La société a été terdit à Microsoft certaines de ses pratiques considérées condamnée par le département de la justice des États- comme nuisibles à la concurrence. Deux ans plus tard, Unis pour violation du Sherman Antitrust Act ainsi que un procès est ouvert pour non-respect des interdictions par la Commission européenne pour violation des traités de 1995 : Microsoft obtient l'annulation du procès sur l'argument que « la justice n'est pas équipée pour juger relatifs à la concurrence dans l'Union européenne. du bien-fondé du design des produits de haute technologie La popularisation d'Internet dans les années 1990 a (sic) ». contribué à améliorer l'interopérabilité entre les systèmes Entre 1999 et 2001 une enquête est ouverte concernant d'exploitation. la position de Microsoft. L'enquête, menée par les juges Thomas Jackson et Richard Posner, amène à la conclu7.2.1 La guerre des Unix et l'Open Group sion que Microsoft abuse de sa position de monopole pour pratiquer du « favoritisme » sur le marché connexe des Le système d'exploitation Unix a été développé par navigateurs Web. Des pratiques qui nuisent à ses concurAT&T en 1969. Plustard d'autres éditeurs s’en sont inspi- rents, gênent leur émergence et freinent l'innovation[46] . rés pour créer des systèmes d'exploitation semblables, no- La société échappe de peu à la scission, mais est dans tamment l'université de Berkeley, avec sa Berkeley Soft- l'obligation de publier les spécifications de ses technoloware Distribution (BSD). Puis ceux-ci ont servi de source gies, en particulier les interfaces de programmation et les d'inspiration pour d'autres systèmes d'exploitation, et ain- protocoles réseau ceci afin de préserver l'interopérabilité si de suite. En 2009, la famille Unix compte plus de 25 et la concurrence[47] . systèmes d'exploitation. Plus tard, en 2007, Microsoft est condamné par la Le jeude la concurrence a amené chaque éditeur à ajouter Commission européenne à une amende de près de 500 ses propres améliorations et ses propres fonctionnalités à millions d'euros pour violation de l'article 82 du traité son système d'exploitation optimisé pour un matériel en CE et l'article 54 de l'accord EEE (textes relatifs au droit particulier. Ce qui a amené les différents membres de la de la concurrence et l'abus de position dominante) après famille Unix à se distancier, et perdre la compatibilité l'un avoir refusé de publier une de ses spécifications techavec l'autre. niques à son concurrent Sun Microsystems [N 19] . Selon En 1987, dans le but de réunifier la famille Unix, AT&T la Commission européenne, les agissements de Microsoft conclut un accord avec Sun Microsystems (un des princi- nuisent à l'interopérabilité des systèmes d'exploitation et [48] paux éditeurs de système d'exploitation basé sur BSD). à la concurrence . Les autres éditeurs ne voient pas cet accord d'un bon œil, et créent la fondation Open Software Foundation 7.2.3 Les réseaux informatiques (OSF). En même temps l'Open Group, un consortium de normalisation, publie des normes relatives aux systèmes Chaque système d'exploitation comporte une palette de d'exploitation de la famille Unix[42] . Les deux institutions programmes relatifs à des protocoles réseau. La composont aujourd'hui fusionnées. sition de la palette dépend du choix de l'éditeur et diffère POSIX est le nom donné aux normes IEEE 1003. Cette d'un système d'exploitation à l'autre ; or deux ordinateurs famille de normes appartenant à l'Open Group a été lan- peuvent communiquer ensemble uniquement à condition
14
8 NOTES ET RÉFÉRENCES
d'utiliser les mêmes protocoles. La popularisation d'Internet dans les années 1990 a poussé de nombreux éditeurs à inclure dans leur système d'exploitation des programmes relatifs aux protocoles TCP/IP (les protocoles d'Internet), ce qui a amélioré l'interopérabilité entre les systèmes d'exploitation.
8 8.1
Notes et références Notes
[1] Le langage C est un langage de programmation souvent utilisé pour les systèmes d'exploitation en raison de sa puissance et du contrôle total qu'a le programmeur sur la mémoire (A. Tanenbaum, Systèmes d'exploitation, 1.8). [2] Ce mécanisme qui permet au système d'interrompre un programme en cours d'exécution est nommé préemption (A. Tanenbaum, ibid., 2.4.1, p. 140).
8.2
Références
[1] (en) Brian L. Stuart, Principles of Operating Systems : Design & Applications, Cengage Learning EMEA, 2008 (ISBN 978-1418837693) [2] (en) I.A. Dhotre, Operating Systems , Technical Publications, 2009 (ISBN 978-8-1843-1644-5) [3] (en) Achyut S. Godbole et Atul Kahate, Operating Systems, 3e ed., Tata McGraw-Hill Education, 2011 (ISBN 978-00707-0203-5) [4] http://doc.ubuntu-fr.org/asus_eee_pc_1000 [5] http://www.dell.com/fr/entreprise/p/xps-13-linux/pd [6] (en) Top 5 Operating Systems from July 2008 to April 2012 - StatCounter Global Stats [7] (en)Pabitra Pal Choudhury, Operating Systems : Principles and Design, Prentice-Hall of India Pvt. Ltd, 2009 (ISBN 978-8-1203-3811-1).
[3] La totalité du code source se trouve dans son livre Operating Systems : Design and Implementation .
[8] [PDF] (en) George A. Anzinger et Adele M. Gadol, « A Real-Time Operating System with Multi-Terminals and Batch/Spool capablities », HP journal , 1975 (lire en ligne)
[4] L'éliminationdes limitations de Minixaurait rendu le code source trop difficile à lire et à comprendre parles étudiants en un semestre (A. Tanenbaum, ibid., 10.1.7, p. 766).
[9] (en) Pramod Chandra P. Bhatt, An Introduction To Operating Systems : Concepts andPractice, 2nd Ed., Prentice-Hall of India Pvt. Ltd, 2007, (ISBN 9788120332584)
[5] Plus précisément, ni le code, ni les données, ni la pile n'ont [10] (en) Amjad Umar, Third Generation Distributed Combesoin d'être totalement en mémoire centrale. puting Environments , NGE Solutions Inc, 2004, (ISBN 9780975918210) [6] Le fait de transférer un segment complet en mémoire de masse est nommé swap out , l'opération inverse swap in. [11] « MIT - General Electric, Honeywell-Bull - MULTICS », [7] D'abord sous forme de téléscripteurs, puis de terminaux passifs. [12] [8] Andrew Tanenbaum, enseignant, utilisait le code source de Minix pour illustrer ses cours sur les systèmes [13] d'exploitation. [9] anciennement appelé EPOC. [10] racheté à Psion.
sur feb-patrimoine.com (consulté le 30 septembre 2013) (en) Ayan Moumina, « History of operating systems » (consulté le 30 septembre 2013) [PDF] (en) Mark Bellis, « Putting Microsoft on theMap - History of the MS-DOS Operating Systems, IBM & Microsoft », sur about.com (consulté le 30 septembre 2013)
[14] (en) « History of the graphical user interface », sur sensomatic.com (consulté le 30 septembre 2013)
[11] Compatible PC, Macintosh, DEC Alpha, Sparc, Itanium, [15] « L'annonce originale du projet GNU », sur gnu.org, 27 m68k, etc. septembre 1983 (consulté le 30 septembre 2013) [12] Via la branche du noyau Linux-rt. [16] (en) Richard Stallman, « The Hurd and Linux » (consulté [13] Entre 1986 et 1991, les produits de la famille Windows le 30 septembre 2013) étaient des environnement graphique pour le système [17] (en) Linus Torvalds, « RELEASE NOTES FOR LINUX d'exploitation DOS. v0.12 », The Linux Kernel Archives, 5 janvier 1992 [14] Scission du projet 386BSD. (consulté le 30 septembre 2013) [15] Plus de 50 types de machines. Cf. (en) Liste des plate- [18] (en) Josh Schneider, « Finding aid to the Berkeley Softformes supportées par NetBSD. ware Distribution » (consulté le 30 septembre 2013), p. 3 [PDF] [16] Compatible PC, ARM, MIPS, Macintosh, DEC Alpha, Sparc, Itanium, Sun Microsystems, Xbox. [17] Compatible PC, ARM, DEC Alpha, Sparc, etc.
[19] (en) Elizabeth U. Harding, « Unix pioneer ends BSD research », Software Magazine , octobre 1992 (lire en ligne)
[20] (en) Working group on Libre Software, Free Software / Open Source : Information Society Opportunities for Eu[19] L'échange de spécifications est une pratique courante dans rope ?, avril 2000 (lire en ligne), « A brief history of open le marché informatique. open source software » [18] Créé par fusion entre NeXTSTEP et Mac OS.
8.3 A.Tanenbaum, Systèmes d'exploitation [21] (en) « Kernel : Basic Concepts Part 2 », sur Broken Thorn Entertainment (consulté le 30 septembre 2013)
15 [40] (en) « Worldwide Tablet Market Surges Ahead on Strong First Quarter Sales, Says IDC », International Data Corporation, 1 mai 2013 (consulté le 30 septembre 2013)
[22] (en) « Amiga Operating System Freqently Asked Questions », sur CineReal , 2005 (consulté le 30 septembre [41] (en) « Linux Rules Supercomputers », sur forbes.com, 15 2013) mars 2005 (consulté le 30 septembre 2013) : « Linux now has become so technically powerful that it lays claim to a [23] (en) « IBM AIX Systems management - Desktop », IBM prestigious title–it runs more of the world’s top supercom(consulté le 30 septembre 2013) puters » [24] (en) Andy Tanenbaum, « Introduction to Minix 3 », OSNews, 25 septembre 2006 (consulté le 30 septembre [42] (en) « Unix history and timeline », sur unix.org (consulté le 30 septembre 2013) 2013) [25] (en) John Pagonis, « Symbian OS Presentation », 2 mars [43] (en) «POSIX.1FAQ»,sur opengroup.org, 5 octobre 2011 (consulté le 30 septembre 2013) 2004 (consulté le 30 septembre 2013) [PDF] [26] (en) « Kernel.exe Describes the Kernel and VxD for Win- [44] (en) « Single Unix specification FAQ »,sur opengroup.org, dows 95 », sur support.microsoft.com (consulté le 30 sep5 octobre 2011 (consulté le 30 septembre 2013) tembre 2013) [45] (en) « What is UNIX », sur opengroup.org (consulté le 30 [27] (en) « Windows CE and Windows Mobile Timeline » septembre 2013) (Archive • Wikiwix • Archive.is • Google • Que faire ?) . Brisé le 30 septembre 2013 [46] (en) Jeffrey August Eisenach et Thomas M. Lenard, Com petition, innovation, and the Microsoft monopoly, Springer, [28] (en) « Windows CE Kernel services », Microsoft Deve1999, (ISBN 9780792384649) lopper Network (consulté le 30 septembre 2013) [29] ^ http://www.lembarque.com/ [47] (en) Nicholas Economides, « Microsoft Antitrust, a case study », avril2003 (consulté le 30 septembre 2013) [PDF] lextension-temps-reel-rtx-pour-windows-passe-au-64-bits_ 000132 [48] « Procédure d'application de l'article 82 du traité CE et de l'article 54 de l'accord EEE engagée contre Microsoft [30] « Chiffres clés : les systèmes d’exploitation sur PC » Corporation », sur EUR-Lex.com, 24 mai 2004 (consulté [31] (en) « Windows market share drop to 15 years low » , TG le 30 septembre 2013) Daily (consulté le 30 septembre 2013) [32] (en) Sebastian Anthony, « Microsoft’s share of the consumer market has dropped from 95% to 20% in 8 years », 8.3 A.Tanenbaum, Systèmes d'exploitation ExtremeTech (consulté le 30 septembre 2013) [1] 1.2.3, p. 15. [33] (en) « Unix Flavor List », sur about.com (consulté le 30 [2] 10.2.1, p. 760. septembre 2013) [34] (en) Jeff Drew, « IDC report : IBM widens lead as server market shrinks again », Triangle Business Journal, 2 septembre 2009 (consulté le 30 septembre 2013)
[3] 10.2.1, p. 761 et p. 762.
[35] (en) « Usage of operating systems for websites », W3Techs - Web Technology Surveys, septembre 2013 (consulté le 30 septembre 2013)
[5] 10.1.7, p. 766.
[36] (en) « The triumph of Linux as supercomputer OS », sur Royal Pingdom (consulté le 30 septembre 2013)
[4] 1.2.4, p. 17-18.
[6] 10.1.7, p. 768 [7] 3.3, p. 196.
[37] « Canalys, 115 millions de smartphones en 2007 »,GNT- [8] 3.3.1, p. 196-200. portail des nouvelles technologies et du jeu (consulté le 30 septembre 2013) : « Sur l'ensemble de l'année, le système [9] 3.3.3, p. 203-204. d'exploitation Symbian occupe 67% de parts de marché, [10] 3.6.1, p. 236. Windows Mobile 13% et RIM 10% » [38] (en) Emil Protalinski, « Android grabs 75% market share in Q3, followed by 14,9% for iOS and 4,3% for BlackBerry », TheNextWeb (consulté le 30 septembre 2013)
[11] Algorithmes de remplacement de pages, ch. 3.4, p. 209). [12] 12.3.1, p. 999.
[39] « Tablettes tactiles : 83,9 % de part de marché pour Apple [13] 12.3.1, p. 1000. iOS », Journal du Net, 11 avril 2011 (consulté le 30 septembre 2013) [14] 11.3.1, p. 882-883 et 12.3.1, p. 999.
16
10 ANNEXES
9
Bibliographie •
•
Andrew Tanenbaum, Systèmes d’exploitation, Pearson, 2008, 3e éd. [détail de l’édition] Laurent Bloch, Les Systèmes d’exploitation des ordinateurs. Histoire, fonctionnement, enjeux, Vuibert, 2003 (ISBN 978-2-7117-5322-2) [lire en ligne]
10.2.1 •
•
•
10
Annexes •
10.1
Articles connexes
•
Ordonnancement
•
Pilote informatique
•
Interruption
•
Système de fichiers
•
Environnement de bureau
•
Noyau de système d’exploitation
•
Liste des noyaux de systèmes d’exploitation
•
Liste des systèmes d’exploitation
•
Système d'exploitation temps réel
•
Catégorie:Système d'exploitation
10.2 •
•
•
•
•
•
•
Liens externes
Notion sur les systèmes d’exploitation - Comment ça marche L’ascension des systèmes d’exploitation Microsoft Génération-NT, 29 novembre 2005 Historique des systèmes d’exploitation, et des réseaux micro-informatique sur PC AideWindows.net OS X Facile (fr+en) Plusieurs cours sur les systèmes d’exploitation - Polymorphe.org, [PDF] et [doc] (en) La Bible Internet des systèmes d’exploitation : principes, historique, familles, spécifications…
•
•
•
•
Systèmes d’exploitation à but éducatif
« BoOSt » (Archive • Wikiwix • Archive.is • Google • Que faire ?) : un autre système d’exploitation à but éducatif (32 bits) KoalaOS : cours sur la création d'un système d'exploitation en C++ SOS : réalisation d'un OS simple, étape par étape, à but éducatif également. Sources et articles téléchargeables. Zumba : système d’exploitation expérimental (32 bits) destiné à l’électronique, l’automatisme et la robotique. minix : système d’exploitation expérimental (32 bits). DoudouLinux : système d'exploitation destiné à l'apprentissage de l'ordinateur, pour les enfants de 2 à 10 ans ; voir le site Doudoulinux.org (en) Edubuntu : système d'exploitation destiné a l'éducation. Voir article le concernant Portail de l’informatique
17
11
Sources, contributeurs et licences du texte et de l’image
11.1 •
Texte
Système d'exploitation Source : http://fr.wikipedia.org/wiki/Syst%C3%A8me%20d'exploitation?oldid=109864311 Contributeurs : Shai-
hulud, Olrick, Calo, Almak, PJC, Yyyy, Med, Jloriaux, R4f, Snark, Alvaro, Looxix, Hemmer, Phido, Orthogaffe, Traroth, Ellisllk, Céréales Killer, Jmtrivial, Aurelienc, Kelson, Oz, PierreLachance, Rohanec, Ptaff, Alno, Herman, Fred.th, Xulin, HasharBot, Alain Caraco, Shoop, Alibaba, Zewan, Pulsar, Koyuki, Robbot, Deelight, Sebjarod, Tieno, Romanito, Archeos, Fish, Spooky, Jastrow, Alkarex, Archibald, Sanao, Phe, Scullder, Marc Mongenet, Kineox, Mammique, MedBot, Wishmaster, Iznogood, Oblic, Atlence, Francois Trazzi, Phe-bot, Louis-garden, Durandal, Smily, Dcp, Peco, Romainhk, Trusty, Hégésippe Cormier, Teutates, Kassus, Fylip22, Escaladix, Foxandpotatoes, Rasputin, Notafish, Bap, Delph, Hbbk, Jef-Infojef, Bradipus, YannickPatois, Doch54, Boly38, Mr, Dfarreny, Gedsismik, Bob08, Promu@ld, Thierry Dugnolle, Roulio, ILux, Julien06200, Koko90, Poil, Turbant, Emirix, Denys, Kornfr, Gédé, Arm@nd, Michel Volle, DocteurCosmos, Korg, GTof, Chobot, Outs, Seb35, GôTô, RobotE, Zetud, Romanc19s, Mkende, David Berardan, Lgd, Lmaltier, Jejelefou, Arnaud.Serander, Gzen92, MagnetiK, Liquid 2003, Solensean, Plyd, Neustradamus, RobotQuistnix, Gpvosbot, FlaBot, Samyra008, LaMasse, YurikBot, LeonardoRob0t, Alain r, Tieum512, Ico, BMR, Debiux, MMBot, Litlok, AlphaBot, Adrian de Lausanne, Romain Thouvenin, Vivarés, MelancholieBot, Shawn, Rapha222, Silex6, Wagaf-d, Chlewbot, Jerome Charles Potts, Rune Obash, Freewol, Pautard, Mica, Dodot, Bmflo, Pantoine, DainDwarf, Gonioul, Samuels, Penegal, Jmax, Rpa, Mwarf, MetalGearLiquid, Genium, Hellkeeper, Hoccau, JmG, Grondin, Linan, Logophile F, NicoV, KooK, Sémaphore, Thijs !bot, Nicolas de Marqué, Grimlock, Vspaceg, Escarbot, Kyle the bot, Daddo, Laurent Nguyen, El Diablo, N3S, JAnDbot, BOT-Superzerocool, Ce`dric, Calcineur, Clem23, Fm790, Xiawi, TARBOT, Chtfn, IAlex, Nono64, DSCH, Sebleouf, BTRONeur, J-L Cavey, Stormy Ordos, C-cube, BetBot, Tranxen, Kituse, FlashX, Jibo, Tejgad, Jotun, HAF 932, Wikig, Salebot, MyBot, Bot-Schafter, Funkygono, Speculos, Walpole, IP non fixe, Isaac Sanolnacov, Yf, AlnoktaBOT, Idioma-bot, TXiKiBoT, Bapti, VolkovBot, Theoliane, AmaraBot, Chicobot, Fluti, Melkor73, McX, Evpok, JiBi-Why, Synthebot, Ptbotgourou, AlleborgoBot, Orthomaniaque, Gz260, BotMultichill, SieBot, YonaBot, Patachonf, Sima qian, Louperibot, ZX81-bot, Sawyer96, Groumphy, MystBot, Biomin, Dsant, Ibou02, Alecs.bot, Jikoo, Vlaam, Dhatier, Hercule, PipepBot, BenoniBot, LeMorvandiau, AFAccord, SniperMaské, GLec, Charlie Pinard, Vian.DC, DragonBot, Clebig, Balougador, PixelBot, Rinaku, MattF, Mro, Fredlemeur, BodhisattvaBot, Purbo T, HerculeBot, Ondelettes, WikiCleanerBot, ZetudBot, Ggal, Lowje, Bbhedia, Skiper, LaaknorBot, EivindBot, JackPotte, Hyssar, CarsracBot, LinkFA-Bot, Luckas-bot, Herrw, Nallimbot, Brendàn, Noelvornam, Jotterbot, Seb P, Magicienap, Xtremejames183, DSisyphBot, Scoopfinder, Le sourcier de la colline, Cantons-de-l'Est, Men57, Ouss1991, Xqbot, Jkbw, RibotBOT, Tango Panaché, Kanabiz, Drongou, Mathias Poujol-Rost, LairepoNite, Cj73, Thomad06190, MastiBot, Coyote du 86, Lomita, Orlodrim, TobeBot, Juju2004, Dinamik-bot, Bikepunk2, TjBot, Gilles.Grimaud, EmausBot, Ediacara, Philemon94, Kilith, EoWinn, Verow, FlyAkwa, Ltrlg, ZéroBot, Gyrostat, Scout123, Orto-Jan, WikitanvirBot, ChuispastonBot, NeptuneGalaxy, 0x010C, MerlIwBot, OrlodrimBot, Pano38, Lydie Noria, Aboutle, Ouccema, Narcissix, Mattho69, Calycé, JustinFernal, Richarddouay, Mo5ul, Addbot, Maldoror des Esseintes, Polomad5 et Anonyme : 307
11.2 •
•
•
•
•
•
•
http://upload.wikimedia.org/wikipedia/commons/d/d8/2014_ Parts_des_syst%C3%A8mes_d%27exploitation_PC.PNG Licence : CC BY-SA 4.0 Contributeurs : Travail personnel Artiste d’origine : JackPotte Fichier:Crystal_mycomputer.png Source : http://upload.wikimedia.org/wikipedia/commons/e/e3/Crystal_mycomputer.png Licence : LGPL Contributeurs : All Crystal icons were posted by the author as LGPL on kde-look Artiste d’origine : Everaldo Coelho (YellowIcon) Fichier:Disambig_colour.svg Source : http://upload.wikimedia.org/wikipedia/commons/3/3e/Disambig_colour.svg Licence : Public domain Contributeurs : Travail personnel Artiste d’origine : Bub’s Fichier:OS-structure.svg Source : http://upload.wikimedia.org/wikipedia/commons/6/67/OS-structure.svg Licence : Public domain Contributeurs : Travail personnel Artiste d’origine : Wooptoo Fichier:Operating_system_placement-fr.svg Source : http://upload.wikimedia.org/wikipedia/commons/e/ed/Operating_system_ placement-fr.svg Licence : CC BY-SA 3.0 Contributeurs : Translated from Image:Operating system placement.svg Artiste d’origine : Golftheman Fichier:Smartphone_share_current.png Source : http://upload.wikimedia.org/wikipedia/commons/b/b5/Smartphone_share_current. png Licence : GFDL Contributeurs : Data sourced from http://www.gartner.com/it/page.jsp?id=1764714 Artiste d’origine : -- Eraserhead1 12 :49, 3 March 2010 (UTC) Graph created by myself. Original uploader was Eraserhead1 at en.wikipedia : http://upload.wikimedia.org/wikipedia/commons/e/e2/Syst%C3% Fichier:Système-exploitation_(relations).gif Source A8me-exploitation_%28relations%29.gif Licence : GFDL Contributeurs : Travail personnel Artiste d’origine : Juju2004 Fichier:2014_Parts_des_systèmes_d'exploitation_PC.PNG Source :
11.3 •
Images
Licence du contenu
Creative Commons Attribution-Share Alike 3.0