OS : dossier spécial sur le Système d'Exploitation

Introduction à l’OS

Tout d’abord, qu’est-ce qu’un OS ? Et bien déjà, c’est l’abréviation d’Operating SystemSystème d’Exploitation. C’est le logiciel de base installé sur votre ordinateur (via l’amorçage / boot) gérant vos applications et les services de votre appareil.
En effet, vos apps utilisent l’OS grâce aux requêtes de services elles-même envoyées depuis une API. De plus, vous pouvez communiquer directement avec l’OS avec des lignes de commandes. Ou encore une interface graphique, tout simplement.

A quoi sert un l’OS ?

Ainsi, le système d’exploitation gère de nombreux services. Par exemple, il assure l’exécution simultanée de plusieurs programmes. En effet, l’OS sélectionne quelle application exécuter et quel ordre respecter. De plus, il arrive à calculer le temps qu’il faut à chacune avant d’en faire fonctionner une autre.
Aussi, le système d’exploitation s’occupe du partage de la mémoire interne de l’appareil en la répartissant entre différentes applications. Il gère également toutes les entrées et sorties qui viennent et vont vers des périphériques externes connectés. En outre, il envoie des messages aux applications / utilisateurs (voire OS). En effet, il indique ainsi où en est telle opération, et quelles erreurs ont pu être faites.
L’OS transfère également le traitement en lot ou en batch. Ainsi, il libère de ce travail l’application qui les sollicite. Enfin, l’OS peut aussi s’occuper de la division des tâches. Par conséquent, le programme peut s’exécuter sur plusieurs processeurs en même temps.

OS : les postes de travail

Les E/S & I/O

Ces drôles de termes signifient Entrées / Sorties (ou Input / Output). Ainsi, ce sont toutes les opérations, appareils programmes qui permettent le transfert de data depuis ou vers un ordinateur. Donc les périphériques E/S qu’on trouve le plus souvent sont les imprimantes, disques durs, claviers et souris.
Néanmoins, certains sont uniquement faits pour l’entrée de données. Comme les claviers et souris. Et d’autres pour la sortie, telles les imprimantes. Aussi, certains font les deux à la fois : disques durs, CD etc.
Le critère de performance en général reste le nombre d’I/O par « unité de temps » (seconde par exemple).

Le 64 bits

Dans un microprocesseur 64 bits, la taille d’un mot machine est de … 64 bits. En effet, c’est un prérequis pour les applications qui consomment beaucoup de données et de mémoire. Comme les systèmes de gestion de bases de données, ou serveurs hautes performances.
De plus, une architecture en 64 bits offre des performances supérieures au 2 bits. En effet, elle assure le traitement de deux fois plus de bits d’informations pour le même cycle d’horloge.
En outre, un processeur 64 bits est compatible avec les applications et OS antérieurs – donc il est rétrocompatible. Ainsi, il peut voir si une application ou un OS fonctionne en 16, 32 ou en 64 bits, et il le retient pour effectuer les calculs. Et c’est très important lorsqu’en entreprise, on ne peut acheter de nouveaux logiciels.

Logiciel système

Ce sont des types de programmes informatiques créés pour faire fonctionner votre ordinateur et ses applications. Donc, disons que le système informatique est un modèle avec plusieurs couches. Et bien le logiciel système sert d’interface entre le matériel et les applications.
Ainsi, l’OS est le plus connu des logiciels systèmes. Aussi, c’est lui qui gère tous les programmes dans l’ordinateur.

Les autres logiciels systèmes :

  • BIOS : pour Basic Input / Output System. Il fait démarrer toute le système informatique quand vous allumez votre ordinateur. De plus, il traite les flux de data entre l’OS et les périphériques qui sont connectés.
  • Programme d’amorçage : il met en route l’OS au sein de la mémoire principale ou mémoire vive de votre appareil.
  • L’assembleur : il transforme les instructions basiques de votre ordinateur en une suite de bits. Ainsi, le processeur peut analyse cette série et s’en servir pour  exécuter ses opérations.
  • Tous les pilotes de périphériques contrôlent un type bien précis de périphérique connecté à votre ordinateur. Ainsi, le programme du pilote transforme les instructions générales entrée / sortie de l’OS en messages compréhensibles par type de périphérique.
  • Les utilitaires systèmes : par exemple le défragmenteur de disque ou encore la restauration du système. De plus, ils comptent aussi les outils de développement comme les compilateurs ou débogueurs.

Ainsi, les logiciels systèmes et programmes d’applications sont les deux principales sortes de logiciels informatiques. Néanmoins, une application n’exécute qu’une fonction spécifique pour l’utilisateur, contrairement au logiciel système. Comme par exemples les navigateurs, messageries, tableurs etc.

API

API OS Operating System
Une Application Programming Interface (API) est un code permettant la communication entre deux programmes logiciels.
Ainsi, pour les développeurs, l’API est la façon d’écrire un programme qui utilise des services auprès d’un OS ou d’une application. Par conséquent, les API sont créées grâce aux appels de fonction, avec des verbes et des noms. En effet, la syntaxe qu’il faut utiliser est définie dans la documentation de ladite application.
Donc les API sont principalement utilisées pour du développement tiers, notamment le kit d’un développement logiciel (SDK, Software Development Kit). Ou encore comme une API ouverte, diffusée ensuite sur le web. De plus, si les applications sont écrites dans différents langages ou pour différentes plateformes, un middleware va rendre la communication possible. En effet, des services de messagerie seront fournis.
L’industrie s’est intéressée aux API avec l’apparition des applications mashups, et des tableaux de bord décisionnels. En effet, ceux-ci extraient des data de plusieurs sources différentes.
De plus, le Cloud Computing a également renforcé l’intérêt pour les API. En effet, les entreprises essayent différentes solutions pour l’intégration des services de leur fournisseur Cloud, sur leur site ou au niveau des services.

Les serveurs OS

Unix

Et même UNIX : on écrit souvent cet OS en capitales !
On peut le décrire comme un freeware de grande envergure. En effet ce sont des particuliers, pro, entreprises, universités etc. qui l’utilisent. Et qui contribuent à son expansion en donnant des idées et de nouvelles extensions. Ainsi Linux est le premier OS en open-source.
De plus, son environnement et son modèle de programmation client / serveur sont des éléments très importants dans le développement d’internet. Ainsi que dans la refonte de l’informatique qui s’articule sur les réseaux et non pas sur des appareils isolés.

Linux

OS de type Unix, Linux équipe les ordinateurs personnels d’un OS gratuit ou quasiment; en comparaison avec les versions Unix classiques plus chères.
Linux, c’est un OS complet. En effet, il comporte une interface utilisateur et un environnement graphique sous X Windows System. De plus, sa connectivité est de type TCP/IP, et il possède l’éditeur Emacs (entre autres composants).
Aussi, Linux est en open-source : n’importe quel contributeur peut enrichir son code.

Mac OS

C’est l’OS des ordinateurs Macintosh d’Apple, très populaire depuis notamment sa dernière version, Mac OS X. En effet, celle-ci est une interface utilisateur avec des ajouts 3D caractéristiques.
De plus, OS X a un design modulable qui facilite l’ajout de nouvelles fonctionnalités à l’OS dans le futur. Aussi, il exécute des applications UNIX ainsi que des applications Mac plus anciennes.

Windows 1.0

C’est la première version de l’OS GUI de Microsoft, publiée en 1985.
Et comme la plupart des versions de Windows, cet OS exécutait principalement des DOS. Néanmoins, le produit final n’a été disponible que deux ans après l’annonce de sa sortie. Ainsi, cela a laissé place à de nombreuses rumeurs quant à son existence même.
Mais la sortie a été mouvementée, principalement parce que l’OS s’est révélé instable. Bien que les débuts aient été difficiles, l’interface ordinateur a vite été adoptée par les novices. Et à cette époque, la majorité des utilisateurs étaient effectivement des novices !
De plus, la nature conviviale de l’environnement Windows a encouragé ces nouveaux utilisateurs qui auraient pu être intimidés. En effet, Windows 1.0 offrait de nombreuses options sur l’interface graphique, notamment la barre de scroll et les boutons « OK ».

Windows Server 2016

Comme Windows 1.0, Windows Server 2016 est un OS de Microsoft. Il intègre deux conteneurs : ceux de Windows Server, ainsi qu’Hyper-V. Ainsi les conteneurs Windows Server Containers s’exécutent seuls et en direct sur l’OS, mais restent éloignés les uns des autres. Et les Hyper-V Containers offrent une meilleure isolation et s’exécutent à partir d’une Virtual Machine Hyper-V.
De plus, Windows Server 2016 a placé des points de contrôle de production à la place des snapshots Hyper-V. Ainsi, l’administrateur peut rétablir une VM sans faire de restauration à partir d’une sauvegarde.
Aussi, Windows Server 2016 possède de nombreuses fonctionnalités : Nano Server, Network Controller, Storage QoS, Storage Replica , Storage Spaces Direct etc. En outre, Windows Server 2016 met à niveau les clusters de serveurs Hyper-V et scale-out.

AS/400 (IBM iSeries, AS/400e, eServer, iSeries/400, Power Systems)

L’AS / 400 a été rebaptisé IBM iSeries, pour aujourd’hui appartenir à Power Systems. C’est un serveur  créé pour les PME, TPE et services d’entreprises.
De plus, l‘AS / 400 est  un véritable succès d’IBM. En effet, il est très répandu dans les entreprises, administrations et presque tous les secteurs d’activité.

Les OS Mobile

iOS

iOS est l’OS mobile d’Apple pour ses tablettes et smartphones. Ainsi, il partage son cœur de système de Mac OS X dont il est issu.
De plus, il comporte de nombreuses fonctionnalités. Ainsi la recherche intégrée, reconnaissance des gestes, navigateur Safari, accès à l’Apple Store, compatibilité iCloud etc.

Android

Basé sur Linux, cet OS mobile est développé par Google et publié sous licence open-source Apache v2.
Cet OS a été créé par Google et Open Handset Alliance (OHA).

Virtualisation

Virtual Machine VM

VM

VM – pour Virtual Machine (machine virtuelle) – est un environnement d’OS qui est installé sur un logiciel imitant un appareil précis. Ainsi pour l’utilisateur, l’action avec une machine virtuelle reste identique qu’avec un matériel dédié.
En fait, c’est l‘hyperviseur qui émule tous les outils matériels d’un serveur / appareil. Comme par exemple l’unité central, réseau, mémoire, disque dur etc. Ainsi, cela permet à  la VM de les partager. De plus, il peut également émuler plusieurs plateformes matérielles qui sont isolées entre elles. Donc la VM va pouvoir exécuter les OS (comme Windows ou encore Linux) sur le même hôte physique.
Ainsi, virtualiser baisse les coûts car il y a moins besoin de systèmes matériels en physique. Et oui : ces VM rentabilisent le matériel. Donc réduisent les équipements nécessaires, ainsi que la maintenance, l’alimentation et le refroidissement.
De plus, les VM permettent une administration plus simple car non sujettes aux défaillances. Ainsi, au niveau de l’administration, on peut profiter des environnements virtuels pour beaucoup de choses. Comme sauvegarder plus simplement, en cas d’événement grave, déploiement et autres activités d’administration.
En outre, les VM n’ont pas besoin de matériel spécifique. Néanmoins, votre bande passante va devoir être capable de supporter cette virtualisation. Ainsi que le stockage et le traitement. Et surtout si votre matériel physique sous-jacent va en plus devoir héberger plusieurs VM.
Vous pouvez optimiser l’exploitation de votre matériel en déplaçant, copiant et réaffectant simplement vos VM entre plusieurs serveurs-hôtes. Néanmoins, des VM qui sont installées sur un matériel physique peuvent consommer différentes quantités de ressources. Ainsi, vous devez équilibrer les VM et les ressources que vous avez.

Le Cloud Computing

Celui-ci apporte des couches technologiques supplémentaires à la virtualisation, comme des ressources en open-source ou la rétrofacturation. Donc on peut penser que dans un datacenter virtualisé, les professionnels techniques pourront créer des VM selon la demande ou les projets. Ainsi, dans un environnement de Cloud Computing, la mise en place de machines virtuelles est possible grâce à un catalogue en libre-accès. De plus, on peut leur donner des ressources, sans même avoir à échanger avec l’équipement physique sous-jacent.
Aussi, utiliser des VM signifie des changements au niveau de la gestion. En effet, celle-ci peut être traitée avec de bonnes pratiques et des outils spécifiques. Mais la consolidation apporte des vulnérabilités, comme trop solliciter certaines ressources. Ou encore que plusieurs machines virtuelles soient indisponibles à cause d’un problème technique du matériel en physique.
Ainsi, même si les coûts diminuent, les risques de sécurité sont, eux, encore bien là ! Et une même plateforme peut accueillir plusieurs centaines de VM. Par conséquent, au moindre problème au niveau de la plateforme, ce sont toutes les VM qui risquent d’être inutilisables.

L’OS invité

En effet, un système d’exploitationOS – peut être installé sur une VM, elle-même installée sur un OS appelé hôte.
Ainsi, grâce à la virtualisation, l’ordinateur peut faire fonctionner différents OS en même temps. Donc un OS invité sur une VM peut ne pas être le même que l’OS hôte. Comme par exemple un Windows hôte peut exécuter plusieurs OS invités sous Linux.
Donc vous devez absolument être proatif, en prévoyant un OS invité en amont d’un déploiement de VM.
Néanmoins, un OS invité est installé sur une VM exécutant un hyperviseur, contrairement à l’OS hôte qui peut échanger avec le matériel de base. Donc ce sont deux entités distinctes, même si l’OS invité peut lui aussi utiliser des outils, services et applications de l’OS hôte.
Cela peut être utile si vous souhaitez réaliser des tests, car cela n’endommagera pas ce qui est extérieur à la machine virtuelle.
Mais tous les OS invités n’ont pas forcément besoin d’un OS hôte ! En effet, un hyperviseur type 1 fonctionne directement sur le matériel du serveur. Donc se substitue à l’OS hôte ! Ainsi l’hyperviseur de type 1 peut créer des VM qui pourront exécuter les OS invités. De plus, le serveur physique peut lui même avoir plusieurs VM. Et chacune de ces VM peut faire fonctionner son OS invité propre.
Et ces OS invités sont très utiles, notamment pour l’administrateur. Ainsi, ce dernier peut exécuter des programmes et applications non compatibles avec l’OS hôte sur le système d’exploitation invité. De plus, l’administrateur peut aussi faire tourner différentes applications qui demandent différents OS, et ce, sur le même équipement physique.

OS Hôte

C’est le logiciel qui, installé sur un ordinateur, peut échanger avec le matériel sous-jacent. Ainsi, OS hôte fait référence à l’OS qui fait fonctionner une VM. Donc c’est le contraire de l’OS à l’intérieur de cette VM, l’OS invité (voir juste au-dessus).
Ainsi, lorsqu’on parle d’OS hôte, on fait référence à l’OS qui interagit avec l’hyperviseur de type 2, qu’on appelle aussi « hyperviseur hébergé ». En effet, il fonctionne au-dessus de l’OS hôte à la place d’une exécution directe avec le matériel. Donc l’hyperviseur de type 2 peut  créer différentes VM, qui elles-mêmes exécutent un OS invité. Néanmoins, ce dernier n’est pas forcément le même que l’OS hôte.
Donc, mettons que votre ordinateur exécute l’OS X d’Apple. Et vous souhaitez faire fonctionner une application qui n’est disponible que pour les OS Windows. Alors vous pouvez utiliser la virtualisation puis installer un hyperviseur de type 2 sur l’appareil exécutant OS X.
Ensuite, vous pouvez créer une machine virtuelle pour y mettre Windows 10 en tant qu’OS. Ainsi, vous pourrez utiliser l’application Windows dans cette VM. Donc ici, OS X installé sur l’ordinateur = OS hôte, et Windows 10 exécuté sur la VM = OS invité !
Néanmoins, ce ne sont pas tous les serveurs virtuels qui utilisent des OS hôtes. En effet, un hyperviseur de type 1 est généralement installé directement sur le matériel d’un serveur. Donc il prend le rôle d’OS hôte et peut ainsi créer des VM.
Aussi, le terme d’OS hôte peut désigner l’OS qui se sert de la virtualisation via conteneurs. En effet, un conteneur est surtout une partition logique qui sert à isoler des applications sur un seul et même serveur. Et au lieu de copier tout un OS pour chaque application (comme dans une VM), les conteneurs offrent aux applications le partage du même noyau. Celui de l’OS. Et c’est ce schéma d’OS partagé que l’on appelle OS hôte.

Hyperviseur

Egalement nommé gestionnaire de VM, un hyperviseur est un programme permettant à différents OS de se partager un seul hôte matériel.
En effet, on pourrait penser que chaque OS a l’exclusivité du processeur, de la mémoire etc. Néanmoins, c’est bien l’hyperviseur qui contrôle aussi bien le processeur que les ressources de l’hôte. Ainsi, il offre à chaque OS exactement ce dont il a besoin. De plus, il s’assure que ces OS invités ou que ces VM n’interfèrent pas avec l’autre.

Partagez l'article

Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur email