• Les systèmes d'exploitation

    En informatique, un système d'exploitation est un ensemble de programmes qui dirige l'utilisation des capacités d'un ordinateur par les logiciels applicatifs. Il reçoit de la part des logiciels applicatifs des demandes d'utilisation des capacités de l'ordinateur - capacité de stockage des mémoires et des disques durs, capacité de calcul du processeur. Le système d'exploitation accepte ou 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...

    Le système d'exploitation est le premier programme exécuté lors de la mise en marche de l'ordinateur. Il offre une suite de services généraux qui facilitent la création de logiciels applicatifs et sert d'intermédiaire entre ces logiciels et le matériel informatique1. 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 causes les logiciels.

    Les systèmes d’exploitation ou O.S (Operating System) gèrent les communications entre les logiciels et le matériel.

    Par exemple, un logiciel de navigation routière demandera au système d’exploitation les coordonnées GPS. Le système d’exploitation, par l’intermédiaire des pilotes, interrogera le matériel pour avoir les données GPS qu’il retournera au logiciel de façon compréhensible.

    Pour comprendre ce que sont les systèmes d’exploitation, nous devons d’abord comprendre comment ils se sont développés. Le fait de comprendre les raisons du développement des systèmes d’exploitation nous permet d’apprendre quelles tâches ils réalisent et comment ils les effectuent.

    Le système d’exploitation est le logiciel le plus important d’un ordinateur.

    Le regroupe un ensemble de programmes qui permettent l’utilisation de l’ordinateur et de ses périphériques (écran, imprimante, clavier…). Sans système d’exploitation, l’ordinateur n’est pas capable de gérer les périphériques.

    Il permet tout d’abord le démarrage de l’ordinateur et est indispensable à la mise en œuvre des autres programmes présents sur l’ordinateur. Il assure donc son fonctionnement général.

     

    Description du système d’exploitation

    Pour qu’un ordinateur soit capable de faire fonctionner un programme informatique (appelé également « application ou logiciel), la machine doit être en mesure d’effectuer un certain nombre d’opérations préparatoires afin d’assurer les échanges entre le processeur (composant essentiel d’un ordinateur qui interprète les instructions et traite les données d’un programme), la mémoire, et les ressources physiques (périphériques).

    Les systèmes d'exploitation

    Le Système d’exploitation, est chargé d’assurer la liaison entre les ressources matérielles, l’utilisateur et les applications. Ainsi, lorsqu’un programme désire accéder à une ressource matérielle, il ne lui est pas nécessaire d’envoyer des informations spécifiques au périphérique, il lui suffit d’envoyer les informations au système d’exploitation, qui se charge de les transmettre au périphérique concerné via son pilote (programme informatique également nommé Driver, destiné à permettre à un autre programme d’interagir avec un périphérique).

    Le système d’exploitation permet ainsi de dissocier les programmes et le matériel, afin notamment de simplifier la gestion des ressources et d’offrir à l’utilisateur une interface homme-machine (IHM) simplifiée afin de lui permettre de s’affranchir de la complexité de la machine physique.

     

    Rôles du système d’exploitation

    Objectifs

    • Transformer une machine matérielle en une machine utilisable, c'est-à-dire fournir des outils adaptés aux besoins indépendamment des caractéristiques physiques,
    • Optimiser l’utilisation du matériel principalement pour des raisons économiques.

     

    Mais il faut également la garantie d’un bon niveau en matière de :

    • Sécurité : intégrité, contrôle des accès confidentialité…
    • Fiabilité : degré de satisfaction des utilisateurs même dans des conditions hostiles et imprévues,
    • Efficacité : performances et optimisation du système pour éviter tout surcoût en termes de temps et de places consommées par le système au détriment de l’application.

     

    Qualité requises du système d’exploitation

    Un système d’exploitation doit se « faire oublier » : la fonction d’un ordinateur est d’exécuter les applications, pas le système d’exploitation.

    • Utilisation efficace des ressources
    • Fiabilité
    • Tolérance aux fautes (du matériel, des utilisateurs, des programmes)

     

    La qualité de l’interface (en particulier pour les systèmes interactifs)

    • Convivialité
    • Simplicité d’utilisation
    • Documentation
    • Bonne intégration au réseau
    • Sécurité et protection
    • Répertoire étendu des fonctions

     

    Rôles du système d’exploitation

    Les rôles de l’OS sont devers et concernent notamment :

    • La gestion du processeur : le système d’exploitation est chargé de gérer l’allocation du processeur entre les différents programmes grâce à un algorithme d’ordonnancement ; Le type d’ordonnanceur est totalement dépendant du système d’exploitation, en fonction de l’objectif visé.
    • Gestion de la mémoire vive : le système d’exploitation est chargé de gérer l’espace mémoire alloué à chaque application et, le cas échéant, à chaque usager. En cas d’insuffisance de mémoire physique, le système d’exploitation peut créer une zone mémoire sur le disque dur, appelée « mémoire virtuelle ». La mémoire virtuelle permet de faire fonctionner des applications nécessitant plus de mémoire qu’il n’y a de mémoire vive disponible sur le système. En contre partie, cette mémoire est beaucoup plus lente.
    • Gestion des entrées/sorties : le système d’exploitation permet d’unifier et de contrôler l’accès des programmes aux ressources matérielle par l’intermédiaire des pilotes.
    • Gestion de l’exécution des applications : le système d’exploitation est chargé de la bonne exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement. Il permet à ce titre de « tuer » une application ne répondant plus correctement.
    • Gestion des droit : le système d’exploitation est chargé de la sécurité liée à l’exécution des programmes en garantissant que les ressources ne sont pas utilisées que par des programmes et utilisateur possédant les droit adéquats.
    • Gestion des fichiers : le système d’exploitation gère la lecture et l’écriture dan le système de fichier et des droits d’accès aux fichiers par les utilisateurs et les applications.
    • Gestion des informations : le système d’exploitation fournit un certain nombre d’indicateurs permettant de diagnostiquer le bon fonctionnement de la machine.

     

    Les systèmes d'exploitation

     

    Composantes du système d’exploitation

    Le système d’exploitation est composé d’un ensemble de logiciels permettant de gérer les interactions avec le matériel. Parmi cet ensemble de logiciels, on distingue généralement les éléments suivant :

    • Le noyau (Kernel) représentant les fonctions fondamentales du système d’exploitation telles que la gestion de la mémoire, des processus, des fichiers, des entrées-sorties principales, et des fonctionnalités de communication.
    • L’interpréteur de commande (en anglais « shell », traduisez « coquille » par opposition au noyau) permettant la communication avec le système d’exploitation par l’intermédiaire d’un langage de commande, fin de permettre à l’utilisateur de piloter les périphérique en ignorant tout des caractéristique du matériel qu’il utilise, d la gestion des adresses physique…
    • Le système de fichier (en anglais « file system » FS), permettant d’enregistrer les fichiers dans une arborescence.

     

    Familles de systèmes

    Selon les services rendus

    Mono/Multitâches : capacité du système à pouvoir exécuter plusieurs processus simultanément. Par exemple, effectuer une compilation et consulter le fichier source du programme correspondant.

    C’est le cas d’UNIX, d’OS/2 et de Windows 95

    Mono/multiutilisateurs : capacité à pouvoir gérer un panel d’utilisateurs utilisant simultanément les même ressources matériels.

    C’est le cas d’UNIX, de MVS, de Gecos…

     

    Selon leur architecture

    Système centralisés : l’ensemble du système est entièrement présent sur la machine considérée. Les machines éventuellement reliées sont vues comme des entités étrangères disposant elle aussi d’un système centralisé. Le système ne gère que les ressources de la machine sur laquelle il est présent.

    C’est le cas d’Unix, même sir les applications réseaux (X11, FTP, Mail…) se sont développées.

    Système répartis (« destributed systems ») : les différentes abstractions du système sont réparties sur un ensemble (domaine) de machine (site). Le système d’exploitation réparti apparait aux yeux de ses utilisateurs comme une machine virtuelle monoprocesseur même lorsque cela n’est pas le cas. Avec un système réparti, l’utilisateur n’a pas à se soucier de la localisation des ressources. Quand il lance un programme, il n’a pas à connaitre le composant de la machine qui l’exécutera. Ils exploitent au mieux les capacités de parallélisme d’un domaine. Ils offrent des solutions aux problèmes de la résistance aux pannes.

     

    Selon leur capacité à évoluer

    Systèmes fermés (ou propriétaires) :

    Extensibilité réduite : quand on veut ajouter des fonctionnalités à un système fermé, il faut remettre en cause sa conception et refaire une archive (système complet).

    C’est le cas d’UNIX, MSDOS…

    Il n’y a aucun ou peu d’échange possible avec d’autres système de type différent, voir avec des types identiques.

    C’est le cas entre UNIX, BSD et SV.

     

    Systèmes ouverts :

    Extensibilité accrue : il est possible d’ajouter des fonctionnalités et des abstractions sans avoir à repenser le système et même sans avoir à l’arrêter sur une machine. Cela implique souvent une conception modulaire basée sur le modèle « client – serveur ».

     

    Selon l’architecture matérielle qui les supporte

    Architecture monoprocesseur (temps partagé ou multiprogrammation) :

    • Ressource processeur unique : il a fallu développer un mécanisme de gestion des processus pour offrir un (pseudo) parallélisme à l’utilisateur : c’est la multiprogrammation, il s’agit en fait d’une commutation rapide entre les différents processus pour donner l’illusion d’un parallélisme.

     

    Architecture multiprocesseurs (parallélisme) : 

    On trouve une grande variété d’architectures multiprocesseurs :

    • SIMD (single instruction multiple data) : tout les processeurs exécute les même instructions mais sur des données différentes.
    • MIMD (Multiple Instruction Multiple Date) : chaque processeur est complètement indépendant des autres et exécute des instructions sur des données différentes
    • Pipeline : les différentes unités d’exécution sont mises en chaine et sont chacune partie du traitement a effectuer.

    On parle aussi d’architecture faiblement ou fortement couplée.

     

    Architecture fortement couplée :

    Ce sont principalement des architectures à mémoire commune.

     

    Architecture faiblement couplée :

    Ce sont des architectures où chaque processeur possède sa propre mémoire locale ; c’est le cas d’un réseau de stations.

     

    Architecture mixte :

    Ce sont des architectures à différents niveau de mémoire (commune et privée).

    Remarque : Il n’y a pas de système universel pour cette multitude d’architectures. Les constructeurs ont toujours développé leurs propres systèmes. Aujourd’hui, compte tenu de la complexité croissante des systèmes d’exploitation et du coût inhérent, la tendant est à l’harmonisation notamment via le développement de système polyvalents tels que les systèmes repartis.

     

    Un cas particulier, les systèmes « temps réel »

    Système temps réel :

    Un système d'exploitation temps réel (RTOS) (en règle générale prononcé comme : Are-toss) est un système d'exploitation multitâche destiné aux applications temps réel. Ces applications comprennent les systèmes embarqués (thermostats programmables, contrôleurs électroménagers, téléphones mobiles), des robots industriels, les vaisseaux spatiaux, les systèmes de contrôle commande industriel, et le matériel de recherche scientifique.

    On distingue deux types de contraintes temporelles : les contraintes strictes et les contraintes relatives.

    Pour garantir ces contraintes, le système possède des mécanismes spécifiques dont le but est de réduire l’in terminisme des durées d’exécution des programmes.

    RTOS utilise des ordonnanceurs spécialisées afin de fournir aux développeurs des systèmes temps réel les outils et les primitives nécessaires pour produire un comportement temps réel souhaité dans le système final.

    Deux types de conceptions existent :

    • Evènementielle (ordonnancement par priorité): l'ordonnanceur ne change de tâche que lorsqu'un évènement de plus haute priorité à besoin de service
    • Par partage de tâche: L'ordonnanceur change de tâche aux interruptions de l'horloge, et lors des évènements.

     

    Les systèmes d’exploitation les plus rependus

    Les systèmes d'exploitation

    Microsoft Windows ; le système d’exploitation de Microsoft (il est actuellement installé sur plus de 90% des ordinateurs personnels par des méthodes illégales car selon la loi Français, il est interdit de vendre 2 produits sans que l’in puisse les acheter séparément. Or, lorsque l’on achète un ordinateur il est très rare que l’on ait la possibilité de l’avoir sans système d’exploitation).

    Article sur Wikipedia : Microsoft Windows

     

    Les systèmes d'exploitation

    Linux ou GNU/Linux, est un système d'exploitation libre fonctionnant avec le noyau Linux. C'est une implémentation libre du système UNIX respectant les spécifications POSIX. Ce système est né dans le milieu hacker de la rencontre entre le mouvement émancipateur du logiciel libre et le modèle de développement collaboratif et décentralisé via Internet. Son nom vient du créateur du noyau Linux, Linus Torvalds.

    Article sur wikipédia : Linux

     

    Les systèmes d'exploitation

    Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu pour être un des premiers systèmes grand public ayant une interface graphique, inspiré de Xerox Alto, et basée sur les fenêtres, icônes, menus et souris (modèle WIMP).

    Article complet sur wikipedia : Macintosh 

     

    Article sur le JDN : les 10 systèmes d'exploitation à connaître

    La gestion des fichiers »

    Tags Tags : , , , ,
  • Commentaires

    1
    Jeudi 19 Mai 2016 à 12:21

    Bon article

    • Nom / Pseudo :

      E-mail (facultatif) :

      Site Web (facultatif) :

      Commentaire :


    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :