Vous êtes sur la page 1sur 46

Introduction aux Systèmes

d’exploitations

ISET RADES 2019/2020


Introduction 1/2

- Un ordinateur seul ne peut


effectuer rien de très utile.

- Pour lui un disque dur n'est qu'un


endroit pour stocker des 0 et des 1

- Une carte graphique n'est qu'un


module mis dans un emplacement.
Introduction 2/2

- Pour que la machine devienne intelligente, il faut qu’elle puisse


effectuer un certain nombre d'opérations.

- Il nous faut donc des programmes pour exploiter la couche matérielle

- Or, cette couche varie d'un ordinateur à un autre

-Il existe deux types de Programmes :

- Programmes systèmes pour le fonctionnement des ordinateurs

- Programmes d'application qui résolvent les problèmes des


utilisateurs

*Drivers
Exemple de Programmes (système, d’application)
Les Interactions
Définition d’un OS 1/2

- Système d'exploitation (en anglais operating


system, souvent abrégé en OS)

- Assure les tâches de liaison entre le matériel,


les applications (traitement de texte, jeu, ...) et
l'utilisateur.

- Il simplifie grandement la tâche des


développeurs de logiciels.

- les périphériques d'entrée-sortie (par exemple


les cartes d'extension) varient d'un modèle
d'ordinateur à un autre, il faut donc un système
qui puisse unifier l'écriture des instructions
gérant le matériel.
Définition d’un OS 2/2

- Ainsi lorsqu'un programme désire afficher des


informations à l'écran, il n'a pas besoin d'envoyer des
informations spécifiques à la carte graphique.

- Il envoie les informations au système d'exploitation, qui


se charge de les transmettre au périphérique concerné...

- Cela permet à l'utilisateur de piloter les périphériques


en ignorant tout les caractéristiques du matériel qu'il
utilise.
Portabilité des systèmes d’exploitation

- Un système d'exploitation est typiquement composé d'une large palette


de programmes.

- La composition exacte dépend de l'usage cible pour lequel le système


d'exploitation est destiné : ordinateur personnel, serveur, superordinateur
ou encore système embarqué.

- La liste exacte des machines sur lesquelles il peut être utilisé dépend
aussi de la palette de pilotes incluse dans le système d'exploitation.
Les programmes système

-Le système d’exploitation en est le programme


fondamental

-Il est généralement livré avec le PC pour pouvoir


l’exploiter

-Des outils système sont fournis pour des besoins


tels que la gestion ou la vérification de disque

-Les outils systèmes se trouvent au dessus du SE


car ils y font appel.
Les logiciels et les applications

-Un logiciel ou une application donné fait appel au système


d’exploitation afin d’ouvrir un fichier par exemple ou imprimer une
page.

-Un même logiciel ou application ne peut être compatible avec toutes


les plates-formes et il existe une version par système d’exploitation.

- Par abus de langage on ne distingue plus entre les logiciels et les


applications, mais il existe une différence fondamentale entre eux.

-Les applications sont destinées a un publique de non informaticien


Exemple : application bancaire, de gestion, de comptabilité …

-Les logiciels sont destinées a un publique de connaisseur en


informatique
Exemple : Logiciels de développement, suite bureautique, les
antivirus, les navigateurs
Rôles d’un Systèmes
d’exploitations
Introduction

-L’existence d’une multitude de systèmes d’exploitation peut laisser


penser qu’ils sont tous différents, ce n’est pas toujours vrai.

- On peut faire l’analogie avec les voitures, il existe plusieurs modèles,


mais elles ont toutes « ou presque » 4 roues, un volant, des feux … elle ne
différent que par l’ergonomie et le moteur

-Il en est le même avec les OS, ils ont tous les même rôles et objectifs, ils
ne différent que par l’interface et les stratégies qu’ils appliquent

- Si nous considérons la gestion du processeur, tous OS prend en charge la


création d’un processus (*).

-Toute fois chaque OS a sa manière de le créer

* Un processus est une entité créée par l’OS pour exécuter un programme
Rôles des systèmes d’exploitations

-Pour résumer, les OS prennent en charge les mêmes fonctionnalités de


base, c’est la manière de les mettre en œuvre qui diffère.

-Le principal rôle d’un OS étant de gérer les composants de l’ordinateur,


on retrouve par conséquent six tâches essentielles qui sont :

• La gestion des processeurs


• La gestion de la mémoire centrale (RAM)
• La gestion des périphériques: entrées/sorties
• La gestion des interfaces
• La gestion de la mémoire secondaire (DD)
• La gestion du réseau
Rôle 3/6 : La gestion du processeur

Le Système d’Exploitation gère l’exécution des programmes au niveau du


processeur ce qui le ramène a gérer les processus.

Un processus est l’entité créée par le système d’exploitation pour


exécuter un programme.

La principal tache du SE est d’allouer le processeur aux processus.

Le SE gère deux genres de processus les siens et ceux de l’utilisateur.


Rôle 1/6 : La gestion de la mémoire centrale

-La MC est destiné à accueillir les données à traiter.

-De même après exécution, les résultat de ce traitement est placé en MC

-Il faut donc gérer l’allocation des cette mémoire aux programmes
(attribution, libération de mémoire)

-Il existe pour ça plusieurs algorithmes et politiques de gestion de


mémoire centrale.
Rôle 4/6 : La gestion des entrées/sorties (E/S)

L’existence d’E/S dans un programme introduit de nombreux


problèmes dus à la différence de vitesse entre les périphériques et
l’unité centrale.

Ainsi lors de la conception d’un SE, une attention particulière est


accordée au E/S qui permet de les protéger et d’en interdire
généralement l’accès direct aux programmeurs.
Rôle 2/6 : La Gestion de la Mémoire Secondaire GMS

- Le disque dur est un support de stockage qui a pour objectif de


conserver de manière permanente les fichiers et les programmes exécutés
en mémoire centrale.

- Les programmes sont stockées sous forme de fichiers sur le disque dur et
organisés en répertoire.

- Le SGF doit offrir des fonctions afin de créer, copier, lire, … des fichier.

- La GMS inclut aussi le stockage de fichier, la restauration, La gestion


d’espace libre sur le disque, la correction d’erreur …

SGF : Système de gestion de fichiers


Rôle 6/6 : La gestion des interfaces

Un SE doit offrir un environnement de travail et des outils à l’utilisateur.

Nous parlons alors d’aspect extérieur du SE à savoir l’interface de


dialogue entre SE et utilisateur.

Un SE se doit d’avoir une interface graphique conviviale afin de toucher


un maximum de catégories d’utilisateurs contrairement au SE en mode
commande qui sont généralement conçu pour des utilisateur confirmé
Rôle 5/6 : La gestion du réseau

L’interconnexion des machines par des réseaux locaux constitue une des
majeures évolutions de la dernière décennie.

Les SE actuelles prennent en charge cet aspect dans la mesure ou ils


offrent :

- Le partage de fichiers

- Une protection pour ces fichier

- L’identification des machines sur le réseau

- L’identification des utilisateurs sur le réseau

- etc…
Historique de systèmes
d’exploitations
1re génération (jusqu’à 1955)

• Vers le milieu des


années 1940, les
premières machines
à calculer sont
construites au
moyen de tubes
électroniques (tubes
à vides);

• Ces machines
énormes
remplissaient des
salles et étaient
moins rapides
qu’une calculatrice
moderne;
1re génération (jusqu’à 1955)

• Toute la préparation se faisait


manuellement;

• Les E/S étaient limitées;

• Le programmeur opère avec la


machine par interaction directe
(beaucoup de manipulation et
beaucoup de lourdeur);

• Concepteur = constructeur =
programmeur = opérateur;

• Un programme dispose
toujours de toute la mémoire
disponible;
2e génération (1955-1965) : transistors et traitement par lot

•Apparition des cartes perforées;

•Séparation des rôles : le programmeur n’est pas l’opérateur;

•Enchaînement automatique des travaux (« jobs »), c’est le


traitement par lots (« batch processing »);

•Sous-programmes d'E/S (chargement et déchargement des cartes);

•Apparition des assembleurs;

•Le système d'exploitation gère la mémoire, les processus et les E/S;

•Gestion par limitation de temps;

•Introduction de la notion d’ordonnancement : dans quel ordre sont


effectuées les jobs;
2e génération (1955-1965) : transistors et traitement par lot

•Apparition des cartes perforées;

•Séparation des rôles : le programmeur n’est pas l’opérateur;

•Enchaînement automatique des travaux (« jobs »), c’est le


traitement par lots (« batch processing »);

•Sous-programmes d'E/S (chargement et déchargement des cartes);

•Apparition des assembleurs;

•Le système d'exploitation gère la mémoire, les processus et les E/S;

•Gestion par limitation de temps;

•Introduction de la notion d’ordonnancement : dans quel ordre sont


effectuées les jobs;
•Lors des E/S, le processeur est inactif;
3e génération (1965-1980) : circuits intégrés

PDP1

•Apparition des circuits intégrés;

•Apparition des disques magnétiques;

•Notion de familles d’ordinateurs


compatibles (IBM System/360);

•Multiprogrammation : pendant qu’un


processus effectue ses E/S, le processeur est
inactif, il peut donc travailler sur un autre
processus;

•Multiprogrammation rendue possible par


le « spooling », qui met à la disposition du
CPU un ensemble de jobs (pool) prêtes à
être exécutées;
4e génération (1980-2000) : explosion de la micro-informatique

• Apparition des micro-ordinateurs grand public (IBM PC, p.ex.), de


MS-DOS, des consoles de jeu;

• Motorola 68000;
• Internet;
• Applications multimédia;

• Maturation des systèmes d’exploitation vers ceux que l’on connaît


aujourd’hui;
5ème Génération

Réseaux et machines individuelles


• appareils personnels remplacent les terminaux;
• interconnexion de systèmes hétérogènes;
• développement des réseaux locaux haute performance et Internet;
• partage des ressources et des fichiers entre machines de divers types;

Systèmes répartis
• plusieurs processeurs sur un même appareil;
• plusieurs processeurs disponibles sur des appareils
différents pour un même programme;
• plusieurs « cores » sur un même processeur;
• systèmes de client/serveur;
• connectivité inter-serveurs;
Types de Systèmes
d’exploitations
Les Types de systèmes d’exploitation

- Il existe plusieurs éditeurs de systèmes d’exploitation qui ont chacun


leur philosophie sur la manière de conduire un ordinateur (et sur la façon
de remporter des parts de marché…).

- Chaque éditeur peut produire plusieurs systèmes d’exploitation, et


chaque système d’exploitation peut avoir différentes versions au cours de
son existence.

- Les systèmes d’exploitation peuvent être classés en différentes


catégories et selon différents critères

Les interfaces
Le nombre d’application qui tournent en simultané
Le nombre d’utilisateurs
La connectivité réseau
Le nombre de bits
Le nombre de processeur
Les Types de systèmes d’exploitation

Les interfaces :
La ligne de commande, le mode texte avec le clavier.

L’interface graphique (GUI pour Graphical User Interface), le mode


graphique, avec un pointeur comme une souris.
Les Types de systèmes d’exploitation

Le nombre d’application qui tournent en simultané :

- Les systèmes d’exploitation mono tâche.

- Les systèmes d’exploitation multi tâches peuvent faire fonctionner


plusieurs applications en même temps
Les Types de systèmes d’exploitation

Le nombre d’utilisateurs :
-Les systèmes d’exploitation mono utilisateurs : utilisable par un seul
utilisateur à la fois.
-Exemple (MS-DOS)

-Les systèmes d’exploitation multi utilisateurs : conçu pour que


plusieurs utilisateurs puissent profiter des mêmes ressources
simultanément
-Exemple (MacOS, Windows 7)
Les Types de systèmes d’exploitation

La connectivité réseau :
-Les systèmes d’exploitation clients.
Exemple (MacOS, Windows 7)

-Les systèmes d’exploitation serveurs


Exemple (Windows 2008 Server)
Les Types de systèmes d’exploitation

Le nombre de bits
- Les 16 bits (MS DOS)

- Les 32 bits (XP 32bits)

- Les 64 bits (XP 64bits)

Un processeur 32 bits est un processeur prévu pour traiter des opérandes de


32 bits maximums (32 zéros et uns).

Un processeur 64 bit est capable de traiter des données beaucoup plus


longues simultanément.
Les Types de systèmes d’exploitation

Le nombre de processeur :
- Les systèmes d’exploitation mono processeur

- Les systèmes d’exploitation multi processeurs


Composants d’un Systèmes
d’exploitations
Les composants d’un systèmes d’exploitation

Un système d’exploitation est typiquement composé :


Les composants d’un systèmes d’exploitation

Les applications représentent les différents programmes lancés.


Les composants d’un systèmes d’exploitation

Les bibliothèques mettent à disposition du système d'exploitation et des


programmes applicatifs des morceaux de programmes tout prêts, dont le
but est de faciliter l'accès à certaines fonctions.

Grâce aux bibliothèques (.dll, .OCX, ...), les développeurs peuvent


facilement et rapidement réutiliser des fonctions utiles, sans avoir à les
reprogrammer eux-mêmes.
Les composants d’un systèmes d’exploitation

L'interface graphique permet de faire communiquer l'utilisateur et le


système.

Elle peut être graphique, dans ce cas les parties les plus typiques de ce
type d’environnement sont le pointeur de la souris, les fenêtres, le bureau,
les icônes.
Les composants d’un systèmes d’exploitation

L'API est une interface de programmation (Application Programming


Interface) elle a pour objectif de faciliter le travail d'un programmeur en
lui fournissant les outils de base nécessaires à tout travail à l'aide d'un
langage donné.

L’API contient en général un ensemble de bibliothèque.


Le noyau

Un noyau (ou kernel) est la partie fondamentale des systèmes d'exploitation.

Elle gère les ressources de l'ordinateur et permet aux différents composants


(matériels et logiciels) de communiquer entre eux.

Le noyau d'un système d'exploitation assure :


- La communication entre les logiciels et le matériel ;
- La gestion des divers tâches d'une machine (ordonnancement,...) ;
- La gestion du matériel (mémoire, processeur, périphérique, stockage,...).

Il existe différents types de noyau dont :


- le noyaux monolithique
- le micro-noyau
- le noyau hybride.
L’Environnement d’un noyau

IPC : Inter Processus Communicati


Le noyau

Le noyaux monolithique : l'ensemble des fonctions du système et des


pilotes sont regroupés dans un seul bloc de code. Le fait que tout soit
regroupé et compilé en binaire rend le système très rapide à l'exécution.

Cependant, au fur et à mesure de leurs développements, les codes des


noyaux monolithiques ont augmenté en taille et il s'est avéré difficile de
les maintenir.
Le noyau

Le micro-noyau : Cherchent à minimiser les fonctionnalités


dépendantes du noyau en plaçant la plus grande partie des services du
système d'exploitation à l’extérieur de ce noyau et en n'intégrant que les
fonctionnalités de base.
Le noyau

Le noyau hybride : Désigne principalement des noyaux qui


reprennent des concepts à la fois des noyaux monolithiques et des micro-
noyaux, pour combiner les avantages des deux. Au micro noyau sont
intégrées quelques fonctionnalités supplémentaires.

Source :
http://www.berkeley-software.wikibis.com/noyau_de_systeme_d_exploitation.php

Vous aimerez peut-être aussi