Vous êtes sur la page 1sur 46

Introduction aux systèmes

d’exploitation
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 toutes 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 entre eux.
Rôles d’un Système
d’exploitation
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 de même avec les OS, ils ont tous le même rôle 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, tout OS prend en charge la


création d’un processus (*).

-Toutefois 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 énumère essentiellement six tâches :

• La gestion du (ou des) processeur(s)


• 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 1/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 principale tâche du SE est d’allouer le processeur aux processus.

Le SE gère deux types de processus : les siens et ceux des utilisateurs.


Rôle 2/6 : La gestion de la mémoire centrale (MC)

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

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

-Il faut donc gérer l’allocation de cette mémoire aux programmes


(attribution et libération de la mémoire)

-Pour cela, il existe plusieurs algorithmes et politiques de gestion de


mémoire centrale.
Rôle 3/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 le processeur.

Ainsi lors de la conception d’un SE, une attention particulière est accordée
aux E/S qui permet de les protéger et d’en interdire généralement l’accès
direct aux programmeurs.
Rôle 4/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 aux SE en mode
commande qui sont généralement conçus pour des utilisateurs confirmés.
Rôle 5/6 : La Gestion de la Mémoire Secondaire (MS)

- 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és 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 Gestion de la MS inclut aussi le stockage des fichiers, la restauration,


la gestion d’espace libre sur le disque, la correction des erreurs …

SGF : Système de Gestion de Fichiers


Rôle 6/6 : La gestion du réseau

L’interconnexion des machines par des réseaux locaux constitue une des
majeures évolutions des trois dernières décennies.

Les SE actuels prennent en charge cet aspect dans la mesure où ils offrent :

- Le partage des fichiers

- Une protection pour ces fichiers

- L’identification des machines sur le réseau

- L’identification des utilisateurs sur le réseau

- etc…
Historique des systèmes
d’exploitation
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 manipulations 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 lots

•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és les jobs;

•Lors des E/S, le processeur est inactif;


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

•Apparition des circuits intégrés; PDP1

•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 client/serveur;
• connectivité inter-serveurs;
Types de Systèmes
d’exploitation
Les Types de systèmes d’exploitation

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


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 processeurs
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’applications 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 utilisateur : 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 : Unix
Les Types de systèmes d’exploitation

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

-Les systèmes d’exploitation Serveurs


Exemple (Windows 2016 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 maximum

Un processeur 64 bits est capable de traiter des données beaucoup plus longues
simultanément.
Les Types de systèmes d’exploitation

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

- Les systèmes d’exploitation multi processeurs


Composants d’un Système
d’exploitation
Les composants d’un système d’exploitation

Un système informatique est typiquement composé :


Les composants d’un système d’exploitation

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


Les composants d’un système 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ème 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èques.


Le noyau

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

Il 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 diverses 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 noyau monolithique
- le micro-noyau
- le noyau hybride.
L’Environnement d’un noyau

IPC : Inter Processus Communication


Le noyau

Le noyau 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 assez rapide à l'exécution.

Cependant, au fur et à mesure de leur développement, 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