Vous êtes sur la page 1sur 44

Introduction aux systèmes

d’exploitation
Module informatique
1ère Année ESOL

Mr LAZREK . H
E-mail :
hammad.lazrek@usmba.ac.ma
Plan
• Introduction
• Histoire
• Définition
• Générations
• Fonctionnement
• Gestion de Processus
• Système de gestion de fichiers
• Gestion de la mémoire 2
Système informatique

3
Qu’est ce qu’un système d’exploitation?
• Un système peut être définit comme un ensemble de programmes qui
contrôle et dirige l’utilisation d’un ordinateur à travers différentes
applications.
• En autres, c’est un système qui exploite les ressources matérielles d’un
ordinateur et assure la liaison entre les utilisateurs et les applications.
• C’est le premier programme exécuté lors du démarrage de l’ordinateur.
• Le système d’exploitation peut être noté SE ou OS (Operating System:
traduction en anglais)

4
Différents Types de Systèmes D’exploitation:
Exemples

5
Différents Types de Systèmes D’exploitation:
Exemples

6
Définitions - Abstraction

• Machine réelle: L’unité centrale et l’ensemble des périphériques


• Machine abstraite: Le fonctionnement de la machine réelle par un système
d’exploitation
• Machine Utilisable: Machine Abstraite + applications

7
Emplacement du système d’exploitation
dans un ordinateur

8
Illustration d’un système d’exploitation

9
Composants d’un ordinateur

10
HISTORIQUE : TYPOLOGIE

11
Typologie

• Première Génération : Tubes à vide (Jusqu’à 1955)


• Deuxième Génération: Traitement par lots
• Troisième Génération : Circuits intégrés et Multiprogrammation
• Quatrième Génération: Ordinateurs personnels
• Cinquième Génération : l’intelligence artificielle
12
Premiers systèmes (1945−1955)
• Machines à tubes à vide volumineuses,
très fragiles et très lentes
• Absence de système d’exploitation
• Calculs simples (tables des sinus et
cosinus)
• Programmation en langage machine sur
des
• cartes enfichables ou cartes perforées
• Construction, programmation et
maintenance effectuées par un seul
groupe
• Système mono-usager (réservation) 13

• Mauvaise utilisation de la CPU


Deuxième Génération: Traitement par
lots (1955 – 1965)
• Machines à transistors fiables mais
coûteuses
• Programmation en Fortran et Assembleur
• Premiers logiciels de base : chargeur et
compilateur Fortran
• Distinction entre opérateurs, constructeurs,
programmeurs et utilisateurs
• Soumission des travaux
• Enchaînement des travaux par l'opérateur
« Jobs »
• Inactivité de la CPU lors de la préparation
• Traitement par lots 14
Traitement par lots (Batch)

• Plusieurs travaux sur bandes magnétiques sont exécutés consécutivement


par l'ordinateur

• Ordinateurs auxiliaires pour la lecture des cartes et l'impression (Opérations


lentes)
• 1er SE : Moniteur pour l'enchaînement automatique des travaux 15
Traitement par lots : Inconvénients

• Mono-programmation
• CPU encore mal utilisée (attente des E/S)
• Machines incompatibles et SE différents :
• IBM 7094 : calcul scientifique (equ. diff…)
• IBM 1401 : traitement commercial (tri,impression…)

• Coût de maintenance élevé


16
Troisième Génération :
Circuits intégrés et Multiprogrammation
(1965– 1980)
• Exécution d'une autre tâche si celle en cours attend une E/S
• Partitionnement de la mémoire (plusieurs tâches à la fois en MC)
• Ordonnancement des travaux
• Systèmes non interactifs
• Systèmes à temps partagé
• « Spooling » : Multiprogrammation

17
Troisième Génération :
Circuits intégrés et Multiprogrammation
(1965– 1980)

• Apparition des circuits intégrés;


• Selon la loi de Moore, le nombre de transistors d’un
• circuit intégré double tous les 18 mois,
• Apparition des disques magnétiques;
• Notion de familles d’ordinateurs compatibles (IBM
System/360);
18
Systèmes à temps partagé (time sharing)

• Partage de l'UC entre plusieurs tâches par quantum de temps


• Traitement "simultané"
• Plusieurs utilisateurs connectés en ligne sont servis à la fois de façon
interactive
• Systèmes d’exploitation complexes
• CTSS
• MULTICS (MULTiplexed Information and Computing Service) ancêtre d'Unix
• Unix (le plus porté) 19
Systèmes des ordinateurs personnels
(1980-2000)
• Machines à circuits LSI (Large Scale Integration) : des transistors au cm2
• Machines moins coûteuses
• Ms-Dos, Windows, Mac OS, Linux…
• Apparition des systèmes centralisés en réseaux
• Apparition des systèmes distribués
• L’utilisation d’Internet;
• Création d’applications multimédia
20
Architecture Von Newmann

21
Etapes d’Exécution d’un programme

22
SE en réseaux et SE répartis

• SE en réseaux (Windows, Linux…)


• Chaque machine a son propre SE
• Connexion à des machines distantes, transferts de fichiers
• Machine utilisée par plusieurs utilisateurs

• SE répartis ou distribués
• Système réparti sur un domaine
• 1 Machine virtuelle (à plusieurs processeurs)
• Transparence à la localisation des ressources
• Fiabilité et tolérance aux pannes 23
Hyperviseur
• Hyperviseur : logiciel qui permet d’exécuter un ou plusieurs systèmes d’exploitation
(superviseurs) dans un environnement matériel virtuel (ou « machine virtuelle »).
• Exemples :
• VMWare
• VirtualBox
• Parallels
• Xen

• Les hyperviseurs ne sont pas des émulateurs : l’architecture du processeur virtuel


est la même que celle du processeur réel → performances
• Les processeurs modernes offrent des fonctions spécialisées pour la virtualisation
(mode utilisateur/ superviseur/ hyperviseur)
24
Hyperviseur : Types

25
Classes des systèmes
Selon les contraintes d'utilisation

• Mono-utilisateur/mono-tâche (MS-DOS)
• Un seul utilisateur/une seule tâche à la fois

• Mono-utilisateur/multi-tâches(Windows XP/7/10)
• Un seul utilisateur à la fois exécute plusieurs tâches simultanément

• Multi−utilisateurs/multi-tâches (Unix /LINUX/ Windows Server)


• Plusieurs utilisateurs à la fois exécutent chacun plusieurs tâches simultanément et
partagent lesmêmes ressources matérielles
26
Classes des systèmes
Selon les services
• Systèmes temps réel
• Utilisés dans des domaines spécifiques (procédés, robotique, centrales nucléaires…)
• Temps de réponse des tâches critiques court
• Fiables et tolérants aux pannes

• Systèmes transactionnels
• Gestion des bases de données énormes (systèmes de réservation, systèmes bancaires…)
• Garantir des mises à jour sans incohérence
27
Classes des systèmes
Selon l'architecture matérielle

• Systèmes mono-processeur
• Multiprogrammés et à temps partagé (pseudoparallélisme)

• Systèmes parallèles : multiprocesseurs (SunOS 4, SunOS 5, Solaris 2 et


Linux)
• Traitement parallèle par plusieurs processeurs
• Grande capacité de traitement, temps de réponse court et fiabilité

28
Modes d'exécution

• Mode utilisateur : non protégé


• Exécution des programmes des utilisateurs
• Permet à l'utilisateur de modifier des données de son programme

• Mode noyau : protégé et réservé au SE


• Accès au code et données utilisées par le SE
• Lecture et écriture sur les ports d’E/S
• Permet de protéger les données sensibles
29
Gestion de processus

30
Notions de processus

• Processus=programme en cours d'exécution


• Un processus est exécuté par un processeur
• Plusieurs processus peuvent être associés à un programme
• Chaque processus possède un espace de travail en mémoire, son compteur
ordinal et ses registres

31
Etats d'un processus

• Actif (élu)
• s'il est en cours d'exécution par le processeur

• Prêt
• s'il est en attente du processeur pour s'exécuter

• Bloqué
• s'il est en attente d'un événement extérieur (lecture disque/clavier, données d’un autre processus…)

• …
32
Etats d’un processus

33
Exemples sous Unix

• who | wc -l
• Le processus wc se bloque en attente des résultats du processus who

• cc programme.c & cat lettre.txt


• cc et cat sont 2 processus concurrents
• Le processus cc reste prêt en attente de l'exécution du cat

34
Gestion des priorités

35
Moniteur Système Linux

36
Ordonnancement (scheduling)
• L'ordonnanceur élit un processus prêt selon un algorithme
• L'algorithme doit garantir :
• Equité
• Efficacité (Taux d’utilisation )
• Temps de réponse minimal
• Temps moyen d'exécution minimal (Attente )
• Rendement maximal (Travaux effectués )

• 2 types d'ordonnancement : avec réquisition et sans réquisition


• Le type d'ordonnanceur est totalement dépendant du système 37

d‘exploitation, en fonction de l'objectif visé.


GESTION DE LA MÉMOIRE

• Un processus doit être chargé dans la mémoire centrale pour être exécuté
• Une fois le processus est terminé, l’espace mémoire qui lui est alloué est
donc libéré.
• Ce processus (proc1) sera alors situé (par exemple) aux adresses physiques 0
à 999.
• Un deuxième processus se verra attribué à espace mémoire correspondant
aux adresses physiques 1000 à 1999
38
Rôle du gestionnaire de mémoire

• Conserver la trace de la mémoire en cours d’utilisation


• Allouer la mémoire aux processus qui en ont besoin
• Gérer le va-et-vient (swapping) entre mémoire principale et disque

39
Temps d’accès

40
Système de Gestion de
Fichiers

41
Système de Gestion de Fichiers

• Objectifs
• Gérer l'information (organisation sur le disque, protection, partage…)
• Offrir une interface permettant d'y accéder : Création, lecture…suppression
indépendamment de la structuration physique

• Fonctions
• Allouer et récupérer de la Mémoires Secondaire
• Mémoriser les zones libres en MS
• Optimiser le temps d'accès et protéger l'information 42
Attributs de fichiers

• Différents attributs
• Type
• Nom
• Taille
• Propriétaire
• Dates (création, dernière modification, dernier accès…)
• Protection (droits d'accès : lecture, écriture, exécution)
• ...
43
Attributs de fichiers sous Unix
• $ ls −l

44

Vous aimerez peut-être aussi