Login
Mot de passe
identifiants perdus

Informations
  • Auteur(s) : idriss
  • Catégorie : Culture informatique
  • Moyenne : 18/20
  • Date de création : 04/08/2010
  • Date mise à jour : 01/11/2012

  • Licence : Contrat Creative Commons

print Version imprimable

Les systèmes d'exploitation

Le système d'exploitation, (en anglais operating system, ou encore OS ou SE par abréviation), est l'ensemble de programmes central d'un ordinateur qui coordonne et uniformise l'utilisation du matériel par les applications (ou logiciels applicatifs). C'est une sorte d'intermédiaire entre ces logiciels et l'architecture matériel.

Le système d'exploitation sert à coordonner l'utilisation du ou des processeurs. Il peut accorder un certain temps pour l'exécution de chaque processus, réserver de l'espace dans les mémoires pour les besoins des programmes et enfin organiser le contenu des disque durs ou autres type de mémoires de stockage (ou de masse). Il sert enfin à créer une interface de communication homme-machine.

Divers logiciels utilitaires sont fournis d'office avec le système d'exploitation. Ils servent à régler des paramètres de configuration du système d'exploitation, ou à effectuer des opérations élémentaires de manipulation des fichiers (copier, déplacer, renommer, supprimer, etc).

Il existe sur le marché plus de 100 systèmes d'exploitation. Les familles de systèmes d'exploitation les plus populaires sont, aujourd'hui, Windows et les Unix-likes .


Partie I - Les différents systèmes :

 

I – Composition d'un système d'exploitation :

Les principaux éléments qui composent un OS sont les suivants :

  •  Le noyau (kernel en anglais) : C'est un espace mémoire isolé, dans lequel est placé tout ou une partie du système d'exploitation. Dans le langage courant le terme kernel désigne l'emplacement et l'ensemble des programmes qu'il contient et qui forment le cœur rigide du système d'exploitation. Le noyau peut être qualifié de :

* monolithique : lorsque la totalité des programmes du système d'exploitation (en particulier les pilotes (drivers en anglais), les programmes qui traitent le réseau et le système de fichier) résident dans l'espace du noyau. Les systèmes à noyaux monolithique les plus connus sont Linux, BSD, Solaris, ...

* micro noyau : lorsque le noyau contient le strict minimum, (l'ordonnanceur et le programme qui simule la mémoire virtuelle), et lorsque la grande majorité des programmes se trouvent en dehors (les pilotes, les programmes qui traitent les systèmes de fichiers ou l'interface graphique, ainsi que les logiciels applicatifs). Les systèmes à micro-noyaux les plus connus sont Minix, Mac OS X, ...

* noyau hybride : lorsqu'il est entre les deux. On y retrouve plusieurs systèmes dont Windows.

  •  L'ordonnanceur : C'est le programme du système d'exploitation qui contrôle le déroulement des autres programmes. C'est aussi le premier programme a être exécuté au démarrage du système d'exploitation. Dans un système d'exploitation multitâches, l'ordonnanceur assure l'exécution simultanée de plusieurs programmes et les échanges d'informations entre ces programmes.

  •  La mémoire virtuelle : C'est un mécanisme qui sert à simuler la présence ou l'absence de mémoire centrale par manipulation de l'unité de gestion mémoire (en anglais, Memory Management Unit ). C'est un mécanisme courant dans les systèmes d'exploitation, l'unité de gestion mémoire étant un composant matériel présent dans de nombreux ordinateurs (branchée entre le processeur et la mémoire centrale).

  •  Le système de fichiers (ou file system) : Il s'agit d'une structure arborescente dans laquelle sont stockés des fichiers ainsi que d'autres informations (on a par exemple : FAT32 puis NTFS pour Windows, ext3 et ext4 pour Linux). Divers programmes du système d'exploitation s'occupent de répartir les fichiers sur les mémoires de masse tels que les disque pour Windows durs et de les relier pour former la structure du système de fichiers.

  •  L'interface utilisateur : il s'agit de cette interface de communication homme-machine qui communique aux logiciels applicatifs, les entrées de l'utilisateur et qui affiche les sorties des applications sur le moniteur. Cette interface peut être en mode texte, c'est à dire en ligne de commande (avec un interpréteur de commande) ou bien en mode graphique avec un environnement de bureau intégré.

  •  L'interface de programmation : Le système d'exploitation effectue de nombreuses actions sur demande des logiciels applicatifs par l'intermédiaire d'une interface de programmation. Elle peut être sous la forme de fonctions mises à disposition dans des bibliothèques logicielles, ou sous la forme d'un logiciel serveur qui réponds aux requêtes envoyées par les logiciels applicatifs. L'utilisation d'une même interface de programmation assure la portabilité des logiciels d'une machine à l'autre, quel que soit son architecture. POSIX (de l'anglais Portable Operating System Interface) est d'ailleurs une norme relative aux interfaces de programmation des systèmes d'exploitation. De nombreux systèmes d'exploitation sont conformes à cette norme, dont les membres de la famille Unix.

  •  Les logiciels applicatifs (ou applications).

     

II – Les systèmes d'exploitation les plus connus :

Les systèmes d'exploitation les plus célèbres sont :


  •  Dans les années 70 : Unix d'AT&T dérivé de Multics (fin des années 70).

  •  Dans les années 80 : BSD, MS-DOS avec l'apparition des premiers personnal computer d'IBM. MS-DOS a eu le plus de succès étant donné qu'il était installé d'office sur les PC. Il s'agit d'un système mono-utilisateur, mono-tâche et en mode console uniquement. Microsoft reprend ensuite le projet MS-DOS, auquel elle a participé avec IBM, et le concept de l'interface graphique inventé par Xerox et repris par Apple pour les ordinateurs personnels, pour créer Windows. Après deux échecs, le premier système à interface graphique ayant connu un succès considérable fut Windows 3.1 .

  Dans les années 90-2000 : évolution de la branche Windows (désormais multi-tâche) avec des système utilisateurs (Windows 95, 98, Millenium, XP, Vista, Seven) et des systèmes serveurs (Windows NT 4, 2000, 2003, 2008). Aujourd'hui, une version de Windows est installé d'office sur une grande majorité des PC qui sont cette fois de toutes marques (ils ne sont plus la propriété exclusive d'IBM). Microsoft a donc le monopole du marché en matière d'OS. Voici un graphe de l'évolution de la famille Windows Microsoft jusqu'à Windows Vista (source : Wikipédia) :

 

  •   À partir de 1991, apparait GNU/Linux, considéré comme un clône libre d'Unix. Au départ système multi-tâche et multi-utilisateurs en mode console, il possède aujourd'hui de nombreux environnements graphiques plus ou moins évolués (les plus célèbres sont GNOME, KDE et XFCE). Ce système s'est divise en plusieurs branche de distribution, chacune adoptant la gestion des paquets, l'environnement graphique et les logiciels de son choix. On retrouvera également des systèmes dérivés du BSD Unix ou du système V qui sont plus ou moins proches de GNU/Linux. (Par exemple la famille des BSD actuels, Solaris et Open Solaris, qui dérivent de SVR4, possèdent les mêmes logiciels, des mêmes environnements graphiques, etc). Ce n'est pas le cas d'autres systèmes, également dérivés de BSD, comme HP-UX (qui dérive également du système V) ou encore Mac OS X. On notera toutefois qu'il restent beaucoup de similarités comme l'interpréteur de commande (le shell) et le système de fichier par exemple.

Partie II - Les systèmes de type Unix :

 

I – historique et présentation d'Unix :

Contrairement aux autres systèmes que l'on trouvait lors de sa création, Unix a été conçus par deux développeurs comme projet ludique. Il a ensuite évolué de manière considérable grâce aux efforts de centaines de développeurs.

Tout commence vers la fin des années 60, dans un laboratoire d'AT&T (American Telephone and Telegraph) du New Jersey. En effet, on y développait, en partenariat avec le MIT, (Massachusetts Institute of Technologie) un système massif et monolithique appelé Multics (MULTiplexed Information and Computing Service) . Certaines personnalités du groupe de recherche en Informatique de ces laboratoires, dont Ken Thompson et Denis Ritchie joueront un rôle déterminant dans la création d'un nouveau système qu'ils appelleront finalement Unix.


Cependant, en 1969, AT&T Bell Labs (laboratoires Bell d'AT&T) se font de moins en moins d'illusion sur ce système qui est trop lent et onéreux. En effet, il ne fonctionnait que sur de gros ordinateurs de General Electric, lesquels étaient très cher et rapidement obsolètes. Mais Thompson et son groupe appréciaient les possibilités qu'apportait Multics dont les aspects multi-utilisateurs. Quand Bell Labs se retira du projet, il se mit à développer son propre système qui contiendra une partie des idées de Multics ainsi que certaines de siennes.

Le premier Unix de 1969 était écrit dans un assembleur très élémentaire et on ne pouvait y programmer qu'avec ce langage primitif. Thompson a donc essayer d'y intégrer un compilateur FORTRAN mais ce fut un échec, ce dernier créa donc le langage B afin de le ré-écrire. Or, deux ans plus tard, Dennis Ritchie créait la première version d'un nouveau langage fondé sur le langage B, nommé C. Par la suite, Brian Kernighan  aida, par la suite, à populariser le langage. Il fit également quelques modifications de dernière minute et aida D.Ritchie à la rédaction de la norme. Ce langage devait être convivial, souple et sans contraintes, il avait pour but de rendre Unix portable et plus rapide. En effet, en écrivant la totalité d'Unix en C, K.Thompson et D.Ritchie ont réussi à le faire fonctionner sur plusieurs machines de type différents dès 1974.

Le nom Unics fut d'ailleurs suggéré par B.Kernighan suite à un jeu de mot en latin avec Multics «Multi- car Multics faisait la même chose de plusieurs façons alors qu'Unics faisait chaque chose d'une seule façon». En effet, contrairement à Multics qui visait à offrir simultanément plusieurs services à un ensemble d'utilisateurs, l'Unix se voulait moins ambitieux et utilisable par une seule personne à la fois avec des outils réalisant une seule tâche. Ce nom fut par la suite contracté en Unix (pour au final être déposé sous le nom UNIX par AT&T), cependant personne ne se souvient de qui est à l'origine de la modification du «cs» en «x».

Dans les années 70, il était interdit à AT&T de vendre ce nouveau système, c'est alors que les laboratoires Bell l'ont distribué pour une certaine somme aux facultés et universités. Ce système fut ainsi très répandu dans les années 80, y compris dans les pôles de recherche. C'est alors que l'université de Berkeley (en Californie), qui utilisait Unix depuis plusieurs années, apporta différentes améliorations à ce système et le redistribua sous le nom de BSD (Berkeley Software Distribution), ce qui fit l'objet de procès avec AT&T jusqu'à l'arrivée de GNU/Linux.

Aujourd'hui, la plupart des systèmes de type Unix sur le marché sont dérivé du code original d'AT&T mais aussi des améliorations apportées par l'université de Berkeley.

II – historique et présentation de GNU/Linux :

Dans les années 80, Unix et en particulier son code source étaient très peu accessibles (en raison du prix de plus en plus cher et des droits d'auteur du code). C'est alors qu'en 1982, Richard Stallman, chercheur au MIT, lança un mouvement pour le développement de ce qu'on appelle les logiciels libres. Ainsi apparu le projet GNU (GNU's not Unix) qui a pour but de créer un système d'exploitation exclusivement composé de logiciels libre et dont la mascotte est un gnou.

Il fut donc à l'origine de la licence GNU GPL (Guaranted Public for Life), qui a pour but de garantir la liberté de reproduction d'un logiciel a condition que le dérivé reste sous cette licence. Cela permettra ainsi d'empêcher un groupe de s'octroyer des droits d'auteurs d'un logiciel à l'origine libre. Stallman ce lance ensuite dans le développement de logiciels libre ou l'ont reconnaîtra :

  •   GCC (GNU compiler collection) qui est un clone évolué du compilateur CC sous Unix. GCC permet par exemple aujourd'hui de coder dans d'autres langages comme le C++ (avec la commande g++).

 

  •   Emacs, un éditeur de texte particulièrement évolué qui rivalise avec VI l'éditeur sous Unix. Par la suite (en 1991), un clone libre et évolué de VI sera développé et appelé VIM (VI Improved).

Aujourd'hui les logiciels libres sont diverses. On a par exemple Mozilla Firefox, navigateur libre dérivé de Netscape ou Gimp (GNU Image Manipulation Program), un logiciel de dessin et de retouche de photo. Ce dernier est souvent considéré comme une alternative libre à photoshop et est à l'origine de la création d'une bibliothèque graphique GTK utilisé notamment pour l'interface graphique GNOME utilisé sous de nombreux systèmes.

Parallèlement, vers la fin des années 80, Andrew Tanenbaum avait développé un clone d'Unix fondé sur un micro-noyau, qu'il appela pour cette raison Minix. Il l'avait développé et volontairement réduit à des fins pédagogiques, afin que ses étudiants puissent comprendre le fonctionnement des systèmes de type Unix. Il ne se doutait pas que ce petit système en serait à l'origine d'un autre qui fera tomber l'Unix d'AT&T.

En effet, en 1991, un étudiant norvégien de l'université d'Helsinki, Linus Torvalds, se mit à développer son propre noyau Unix, en s'inspirant des sources de Minix, pour y ajouter de nouvelles fonctionnalités. Il inscris ensuite son projet sous les termes de la licence GPL.

Ce nouveau noyau était cette fois monolithique (ce qui fit l'objet d'une dispute entre Tanenbaum et Torvalds) mais tant de plus en plus à devenir hybride selon les différentes distributions actuelles. Or, un noyau était exactement ce qui manquait dans le projet GNU, sans cela il ne pouvait s'agir d'un nouvel OS. Ainsi est apparu GNU/Linux, que l'on préfère parfois appeler Linux pour aller plus vite ou pour d'autres raisons (le terme "Linux" étant un jeu de mot, venant à la fois du prénom de l'auteur et d'Unix).

Tux la mascotte de Linux est un manchot de même que la mascotte de l'université d'Helsinki en Finlande. Elle fut crée en 1996 par Larry Edwing grâce à Gimp.


Tux, la mascotte de Linux

III – Les systèmes de type Unix et les distributions Linux actuelles :

1) Aujourd'hui nous avons encore de nombreux systèmes dérivés d'Unix sans appartenir à la famille des Linux, parmi eux se trouvent :

  •   La famille des BSD (OpenBSD, NetBSD et FreeBSD), issus de l'université américaine de Berkeley. Tout la plupart des systèmes de type Unix d'aujourd'hui dérivent d'ailleurs plus ou moins du code apporté par BSD. On notera également qu'OpenBSD est le seul système n'ayant encore jamais été piraté jusqu'à aujourd'hui, il est le système le plus fiable au niveau de la sécurité.

  •   La famille des Solaris dont Open Solaris qui est gratuite. Ce sont des Unix dérivé de SVR4 (System V, Releas 4 d'AT&T)1 et appartenant à Sun Microsystems (aujourd'hui rachetée par Oracle).   

1 La version 1 de Solaris dérivait de BSD, mais les versions qui ont suivies dont les Open Solaris dérivent du système V releas 4 (SVR4) d'AT&T.

  •   HP-UX, un Unix dérivé du noyau BSD et du System V encore une fois et appartenant Hewlett-Packard. Celui-ci ne fonctionne que sur certaines stations de travail avec un processeur spécifique.

  •   La famille des Mac OS X d'Apple, qui malgré leur aspect propriétaire, ont un noyau dérivé du noyau BSD appelé Darwin et qui est open-source.

2) Il existe également de nombreuses distributions et familles de distributions de Linux, parmi les plus célèbres, on retrouve :

  •   Les distributions basée Debian : Debian, Ubuntu et Knoopix.

  •   Les distributions rpm (qui utilisent des paquets de type rpm), on retrouve parmi elles :

    •  Les distributions basées Red Hat : RHEL, CentOS et Fedora

    •    Mandriva issus d'une ancienne distribution Française Mandrake qui c'était également inspiré de Fedora.

    •     Novell avec Suse Enterprise Desktop mais qui maintient également une distribution gratuite appellée OpenSuse.

Il est important de noter trois choses :

  • Les distributions ne sont pas toutes gratuites mais restes libres. Par exemple, Suse Enterprise Desktop et la Red Hat RHEL sont payantes en raison de leur garantie et de leur support technique. Cependant, il est tout à fait possible de reprendre ces distributions qui sont malgré tout libres (libre ne signifie pas gratuit). Par exemple, CentOS est une entière copie de Red Hat RHEL et est gratuite (il y a juste le nom et le prix qui changent).

  • Les distributions comme Fedora, Ubuntu, OpenSuse et Mandriva sont qualifié d'user-friendly : elles ont pour but d'être accessible à tout type d'utilisateurs bien que ce ne soit encore tout à fait le cas. Elles sont en générale mis à jours régulièrement (environ tout les 6 mois) et ainsi permettent l'intégration rapide des nouvelles technologies dont les drivers libres et les nouveaux logiciels libres.

  • Certaines distributions user-friendly comme Fedora ou OpenSuse sont en quelques sorte des version de test pour les autres distributions comme RHEL et Suse Enterprise Desktop. En effet les bugs qu'on y trouve sont rapportés et parfois corrigés par les utilisateurs, ce qui permet l'élaboration de version stable sur lesquelles seront issus les systèmes payants et professionnels. C'est également le cas de Solaris avec Open Solaris et peut être aussi de Debian avec Ubuntu (à ceci près que Debian est également gratuite).

IV – Caractéristiques de ces systèmes :

La plupart des systèmes de type Unix actuels, dont les distributions de Linux, ont les caractéristiques suivantes :

  •   Ils sont multi-tâches : ils sont conçus pour exécuter plusieurs programmes en même temps. Ils utilisent un ordonnanceur pour exécuter plusieurs processus avec un même processeur et savent tirer profit des architectures multi-processeurs (maximum de 32 processeurs supportés actuellement par défaut).

  •   Ils sont multi-utilisateurs : il est possible de travailler à plusieurs personnes en même temps grâce à la gestion des ressources. Ces personnes sont répartis en groupes d'utilisateur avec une identification nécessaire pour gérer les droits individuels. Aujourd'hui Linux peut supporter jusqu'à 65 535 utilisateurs.

  •   La plupart d'entre eux sont multiplates-formes : ils ont été porté sur un grand nombre d'architectures matérielles comme Intel, AMD, Cyrix, SPARC, MIPS, PowerPC, PalmPilot, etc. On les retrouves aussi sur des systèmes embarqués comme des automates dans l'industrie ou des autoradios MP3 pour le particulier. Sont exclus de cette caractéristique, parmi tout les systèmes de type Unix cités jusqu'à lors, HP-UX et Mac OS X.

  •   La gestion de la mémoire : Ces systèmes effectuent un partage de la mémoire virtuelle entre les différents processus. Ce mécanisme optimise l'utilisation et la quantité de mémoire nécessaire sur le système.

  •   Les réseaux : Ces systèmes possèdent une couche réseau très fiable et très performante, avec support de nombreux protocoles et périphériques réseau.

  • Ces systèmes sont enfin conforme à de nombreux standards comme POSIX (Portable Operating System Interface, le X venant d'Unix).



Vous devez être connectés pour poster un commentaire ou une note ...

30401 visiteurs au total - mentions légales - [nous contacter]