Le OS
Le OS
Le OS
Un système d’exploitation (Operating System en anglais ou OS) est un ensemble de programmes qui
permettent le fonctionnement et l’utilisation des principales ressources de l’ordinateur (mémoire,
disque dur, processeur). Il sert de pont entre ces composants et les logiciels ou applications qui vont
permettre à l’utilisateur de profiter des fonctionnalités de son appareil.
Le système d’exploitation est composé d’un noyau (kernel) où sont regroupés tous les programmes
basiques du système, d’une interface (shell) qui joue le rôle d’intermédiaire entre l’utilisateur et le
système d’exploitation et d’un système de fichiers (File System ou FS) pour la gestion des données.
D’autres programmes appelés pilotes génériques sont souvent inclus dans le système d’exploitation
afin de permettre l’interaction avec de nouveaux périphériques (clavier, souris imprimante, haut-
parleur, manette de jeu, disque dur, etc.). Ils assurent ainsi le flux d’entrées et de sorties. Comme le
système d’exploitation joue le rôle d’interface entre toutes les ressources et les applications,
l’utilisateur bénéfice d’un gain de temps considérable qu’il n’aurait pas s’il devait se connecter
directement à chaque programme.
LES PRINCIPAUX SYSTÈMES D'EXPLOITATION
MICROSOFT
Microsoft Windows (dernière version : Windows 10) : les systèmes d'exploitation de Microsoft sont
actuellement préinstallés sur plus de 91 % des ordinateurs personnels
LINUX
GNU/Linux : un système d'exploitation libre s'appuyant sur le noyau Linux et les outils GNU installés
sur + de 1 % du parc informatique mondial toutes distributions confondues.
Systèmes GNU/Linux pères : Arch Linux, Debian, Gentoo, Red Hat, SUSE, Slackware…
La famille BSD : un effort réussi pour rendre sa liberté au système de Berkeley comprenant :
NetBSD, OpenBSD et son dérivé OliveBSD, FreeBSD et ses dérivés PicoBSD, DragonFly BSD et PC-BSD;
Darwin (sur lequel est construit Mac OS X, semi-propriétaire), OpenSolaris de Sun.
AIX (IBM, SystemV), A/UX (Apple, SystemV), BOS (Bull Operating System), IRIX (Silicon Graphics,
SystemV), HP-UX (Hewlett-Packard, SystemV), LynxOS (LynuxWorks), NeXTSTEP (NeXT, BSD), Sinix
(Siemens), Solaris (Sun, SystemV), SunOS (Sun, BSD), Tru64 (Compaq).
APPLE
Systèmes préinstallés sur la majorité des ordinateurs et appareils mobiles vendus par Apple
(anciennement MacOS X et iPhoneOS)
IOS
ANDROID
Pour les Serveurs
Pourquoi ??
1 – Les Processus
Un processus est un ensemble d'instructions qui sont en train d'être exécutées. Les instructions
proviennent d'un programme, et l'exécution nécessite du temps, de la mémoire, des fichiers et des
périphériques. Le système d'exploitation s'occupe de créer, d'interrompre, et de supprimer des
processus. Plusieurs processus se trouvent en mémoire centrale en même temps.
Les Processus Windows sont lancés par l’OS et interagissent directement entre la machine et les
applications.
Les Applications d’arrière-plan fonctionnent sans que l’utilisateur ne s’en rende compte et
permettent une gestion plus « humaine » de l’ordinateur (gestion de la vidéo, du son, …).
Le Applications sont les programmes lancés par l’utilisateur (ex : word, …).
2 - La communication inter-processus
Dans certains logiciels applicatifs, plusieurs programmes effectuent la même tâche simultanément,
et s'échangent des informations. Le mécanisme de protection de la mémoire empêche aux
programmes de manipuler les mêmes informations, et ceux-ci doivent faire appel à des services du
système d'exploitation.
Protection
Par mesure de sécurité, le système d'exploitation réserve à chaque programme un espace
d'adressage - un emplacement en mémoire que seul le programme en question peut manipuler.
Le système d'exploitation détecte toute tentative d'accès en dehors de l'espace d'adressage et
provoque l'arrêt immédiat du programme qui tente d'effectuer de telles opérations. On nomme
cela une erreur de protection générale.
3 – Mémoire
Les fonctions de contrôle de l'utilisation de la mémoire vont en particulier suivre l'utilisation de celle-
ci, quels emplacements sont libres, sont utilisés, et par qui. Ces fonctions vont également décider
quel programme reçoit de la mémoire, quand et quelle quantité est mise à disposition et récupérer la
mémoire qui était utilisée par un programme après son exécution, que le programme se soit arrêté
volontairement ou accidentellement.
Dans les systèmes d'exploitation contemporains, plusieurs programmes sont exécutés en même
temps et utilisent simultanément la mémoire centrale. Si un processus modifie - accidentellement ou
intentionnellement - un emplacement de mémoire utilisée par un autre processus, il met celui-ci en
danger. S'il modifie un emplacement utilisé par le système d'exploitation il met en danger l'ensemble
du système informatique.
Pour éviter un tel incident, le système d'exploitation réserve à chaque programme un espace
d'adressage — un emplacement en mémoire que seul le programme en question peut manipuler. Le
système d'exploitation détecte toute tentative d'accès en dehors de l'espace d'adressage et
provoque l'arrêt immédiat du programme qui tente d'effectuer telles opérations, par le biais d'une
erreur de protection générale.
4 – 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 composant électronique (anglais
Memory Management Unit abrégé MMU). C'est un mécanisme courant dans les systèmes
d'exploitation contemporains.
La mémoire virtuelle permet d'exécuter simultanément plus de programmes que ce que la mémoire
centrale peut contenir. Chaque programme n'ayant pas besoin que la totalité des informations qu'il
manipule soit présente dans la mémoire centrale, une partie des informations est stockée 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.
Les programmes disposent d'un (ou plusieurs) espaces virtuels de mémoire continus pour travailler.
Les adresses des données sont dites virtuelles dans la mesure où l'information adressée ne se trouve
pas forcément ni en mémoire centrale, ni à l'adresse indiquée. Lorsque le programme essaie de lire
ou écrire une donnée dans sa mémoire virtuelle, l'unité de gestion de mémoire cherche l'adresse
physique correspondant à l'adresse virtuelle sollicitée grâce à une table de correspondance. Si
l'emplacement n'est pas présent en mémoire centrale (on appelle cela une faute de page), il n'y aura
évidemment aucune adresse physique correspondante. Le système d'exploitation devra alors
chercher à libérer un espace en mémoire centrale en échangeant (anglais swap) le contenu d'un
emplacement donné de mémoire centrale avec le contenu sollicité, qui se trouve en mémoire de
masse. Cette opération s'effectue automatiquement, à l'insu des programmes.
Des mémoires associatives, incorporées dans l'unité de gestion de mémoire, accélèrent le calcul des
adresses. Les systèmes d'exploitation utilisent généralement deux mémoires associatives : une pour
le mode noyau et une pour le mode utilisateur. La mémoire du mode noyau est arrangée de manière
à permettre au processeur d'utiliser la totalité de la mémoire centrale disponible — lors de
l'exécution des programmes du noyau du système d'exploitation. Tandis que celle du mode
utilisateur est arrangée de manière à protéger le noyau (qui est ainsi invisible pour le programme en
question) — lors de l'exécution des programmes hors du noyau. C'est ce que l'on nomme la
protection, et ces mécanismes constituent les principales caractéristiques du mode protégé.
Chaque programme dispose de sa propre table de correspondance, ce qui permet de les isoler les
uns des autres. Lors d'une commutation de contexte, le système d'exploitation placera la table du
programme courant dans la mémoire associative. 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.
5 -Les Périphériques
Les périphériques sont tous les dispositifs informatiques qui permettent au processeur de
communiquer avec l'extérieur : clavier, imprimante, carte réseau, mémoire, disque dur. Ils
permettent en particulier de recevoir des informations, d'en envoyer, ainsi que de stocker des
informations — les collecter dans le but de les renvoyer plus tard.
Une des responsabilités du système d'exploitation est de suivre l'état d'utilisation — libre ou réservé
— de tout le matériel du système informatique. Lorsqu'un matériel libre est demandé par un
processus, il est alors réservé à ce processus. Pour utiliser un périphérique, le système d'exploitation
se sert d'un contrôleur et d'un pilote de périphérique
- Contrôleur
Un contrôleur est un composant électronique, qui comporte une mémoire tampon, et manipule un
certain type de périphérique (disque dur, imprimante, mémoire, lecteur de bande magnétique...). Le
contrôleur est souvent intégré au périphérique. Les différents contrôleurs disponibles sur le marché
ne s'utilisent pas tous de la même manière.
Les instructions de manipulation d'une gamme de contrôleurs donnée sont incluses dans un pilote
informatique : un logiciel qui exploite les possibilités offertes par les contrôleurs. Les pilotes
informatiques font partie du système d'exploitation, et offrent des services uniformes utilisés par les
autres programmes du système d'exploitation.
Les contrôleurs rapides sont manipulés en programmed I/O. dans cette stratégie le processeur
envoie des demandes d'opérations au contrôleur puis vérifie de manière intermittente l'état du
contrôleur pour vérifier si l'opération demandée est terminée.
Les contrôleurs moins rapides sont manipulés en interrupt driven I/O. Dans cette stratégie le
processeur effectue une demande au contrôleur, puis continue d'exécuter des logiciels applicatifs. Le
contrôleur envoie un signal électrique lorsque l'opération est terminée. Lors de la venue de ce signal,
le processeur interrompt l'exécution des logiciels applicatifs et exécute un programme particulier
interrupt service routine qui vérifie le nouvel état du contrôleur.
Certains périphériques ne peuvent pas être partagés, et leur utilisation est alors dédiée à un seul
programme à la fois. Certains périphériques peuvent être virtuels, ou leur utilisation peut être
indirecte. Par exemple l'utilisation d'une imprimante n'entraine pas une impression immédiate parce
que les informations sont tout d'abord mises en attente. Cette technique du spool permet
l'utilisation partagée d'un périphérique qui sans ça ne pourrait pas être partagé.
Fichiers
Un fichier est une collection d'informations portant un nom, enregistrée sur un média tel qu'un
disque dur, une bande magnétique ou un disque optique. Chaque médium a ses propres
caractéristiques et sa propre organisation.
Le système d'exploitation s'occupe de créer et de détruire des fichiers et des répertoires, de réserver
de l'espace sur les médias ainsi que copier le contenu des fichiers de et vers la mémoire centrale. Il
aide également les logiciels applicatifs à retrouver les fichiers, partager les fichiers entre plusieurs
utilisateurs, modifier le contenu des fichiers et créer des répertoires (permettant de classer et
d'organiser les fichiers). La vitesse du système informatique dépendra de la vitesse de manipulation
des fichiers.
Le système d'exploitation tient compte du système de fichiers : la manière dont les fichiers sont
organisés et répartis sur un dispositif de stockage.
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 ainsi que l'hybride ISO/UDF).
Lorsque le système de fichier est distribué, et que les fichiers sont donc stockés sur différents
ordinateurs d'un réseau informatique, le système d'exploitation envoie une requête à l'ordinateur
stockant le fichier pour chaque opération à effectuer (voir NFS ou CIFS).
Dans un réseau informatique, deux ordinateurs reliés communiquent dès lors 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
encapsulation).
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.
Lors de l'envoi d'informations sur le réseau, un logiciel applicatif crée une information, la met en
forme conformément aux protocoles des niveaux 7 à 5, puis la transmet au système d'exploitation.
Divers programmes du système d'exploitation vont découper cette information en trames, puis vont
mettre en forme les trames et les envoyer 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 choix exact des protocoles utilisés dépend de l'ordinateur concerné et des liaisons réseau qui vont
être utilisées. Divers paramètres de configuration permettent d'influencer le choix des protocoles. Ils
permettent par exemple d'empêcher l'utilisation de protocoles interdits sur le réseau concerné.
Contrôle d'accès
Pour éviter tel incident, le système d'exploitation réserve à chaque programme un espace
d'adressage - un emplacement en mémoire que seul le programme en question peut manipuler9. Le
système d'exploitation détecte toute tentative d'accès en dehors de l'espace d'adressage et
provoque l'arrêt immédiat du programme qui tente d'effectuer de telles opérations.
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 physique.
Les mécanismes de contrôle d'accès ont aussi pour effet de lutter contre les logiciels malveillants —
ceux-ci effectuent souvent des opérations susceptibles de perturber l'utilisation de l'ordinateur.
Interface utilisateur
Interface graphique
Dans une interface utilisateur graphique (anglais Graphical User Interface abrégé GUI), l'image
numérique est 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 l'ordinateur.
Lors des manipulations de la souris, le système d'exploitation déplace l'élément d'image qu'est le
pointeur 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.
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. Pour Windows,
l'équivalent est le programme Explorer, aussi nommé Explorateur Windows (à ne pas confondre avec
Internet Explorer).
Logiciels utilitaires
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 programmes, copier des fichiers ou modifier des paramètres de configuration. Divers
logiciels utilitaires sont fournis avec les systèmes d'exploitation.
Un environnement de bureau est un programme dans lequel les différents éléments de l'ordinateur
(programmes, fichiers, disques durs) sont présentés sous forme de pictogrammes sur lesquels il est
possible d'effectuer différentes actions. Il permet d'exécuter des programmes, d'effectuer
différentes opérations sur les fichiers (copie, changement du nom, déplacement ou suppression).
D'autres programmes servent à installer des logiciels, c'est-à-dire copier les fichiers dans les
emplacements prévus à cet effet, et effectuer les modifications de configuration nécessaire pour
rendre le logiciel opérationnel. Ces programmes peuvent aussi servir à consulter la liste des logiciels
actuellement installés dans l'ordinateur.
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.