Le Système d’exploitation Windows
Cours système d’exploitation
BTS-IG
Responsable de cours : G.Mohamed Bechir IPSET – Oct 2023
Définition
• Système d’exploitation (SE): Interface qui rend possible la
communication homme-machine.
• Intermédiaire entre la partie logiciel et la partie matériel.
• Premier programme exécuté lorsque l’ordinateur est mis en marche.
• Plusieurs systèmes d’exploitation existants: Windows, Mac OS, Linux,
Android, etc.
• Utilisateur  système d’exploitation  Machine (Matériel et logiciel)
Système d'exploitation 2
Principales fonctionnalités (1)
• Gestion des informations :
 Sécurité et protections des données
 Gestion de la mémoire
 Gestion et traitement des fichiers
 Transfert entre les différents éléments de la machine
Système d'exploitation 3
Principales fonctionnalités (2)
• Gestion et partage des ressources :
 Interpréteur des commandes
 Sécurité et protection des accès
 Gestion des processus
 Allocation de la mémoire
 Gestion des entrées/sorties, des périphériques
 Gestion des protocoles réseaux
 Gestion des fenêtres
Système d'exploitation 4
Principales fonctionnalités (3)
• Outils d’exploitation :
 Compilateurs
 Aide à la mise au point
 Archivage
 Traitement des défaillances
 Éditeurs
Système d'exploitation 5
Gestion des dossiers et des fichiers (1)
• Dossier : regroupe l’ensemble des fichiers
• Fichier : unité logique de stockage d’information
• Répertoire : entité créer pour l’organisation des fichiers et des
dossiers
Système d'exploitation 6
Gestion des dossiers et des fichiers (2)
• Système de gestion des fichiers (SGF): Ensemble des fonctionnalités
mises en œuvre pour la gestion des fichiers dans un SE.
• Pour accéder à un fichier il faut fournir au système de fichiers les
informations nécessaires pour le localiser sur le disque, c'est-à-dire lui
fournir un chemin d'accès. Les systèmes modernes permettent aux
utilisateurs d'accéder directement à une donnée d'un fichier, sans le
parcourir depuis le début du chemin.
Système d'exploitation 7
Gestion des programmes
• Le SE s’occupe tout seul d’allouer les ressources nécessaires pour
chaque programme en cours d’exécution.
Gestion manuelle des programmes
• Visualisation des programmes installés sur la machine -
Désinstallation d’un programme
• Visualisation des processus (programmes en cours d’exécution)
• Arrêt d’un programme en cours d’exécution (Pas très recommandé)
• Visualisation de l’utilisation du processeur et de la RAM par chaque
processus
Système d'exploitation 8
Gestion des utilisateurs
• Grâce aux comptes d’utilisateurs, plusieurs personnes peuvent
facilement partager un même PC. Chaque utilisateur dispose d’un
compte distinct, caractérisé par des paramètres et des préférences
qui lui sont propres comme un arrière-plan de Bureau et un écran de
veille.
• Les comptes d’utilisateurs aident également à gérer les fichiers et les
applications que chaque personne utilise ainsi que les modifications
qui sont effectuées sur le PC.
Système d'exploitation 9
Les composants d’un SE
• Le noyau
 Gestion et exécution de programmes
 Gestion de la mémoire
 Communication interprocessus
 L’ordonnanceur
 Interface utilisateur graphique
 Les pilotes…
• Interpréteur de commande (Shell)
• Système de gestion de fichiers (SGF)
Système d'exploitation 10
Principes et fonctionnement d’un système
d’exploitation
Cours Système d’exploitation
BTS-IG
G.Mohamed Bechir IPSET-2023
Introduction
• Un système d’exploitation est essentiellement un logiciel qui gère les ressources
d’un ordinateur et permet à des utilisateurs et à des programmes d’accéder à ces
ressources.
• Ces derniers peuvent inclure la mémoire, le processeur, les périphériques, les
fichiers et plus d’autres.
• Un système d’exploitation fonctionne en fournissant des services aux
programmes et aux utilisateurs, notamment la saisie des commandes, le contrôle
des périphériques, le stockage des données, la gestion des mémoires et du
traitement, ainsi que le partage des ressources.
Système d'exploitation 12
Le noyau
• La partie principale d’un SE, c’est sont Noyau ou Kernel en Anglais. il
offre en générale les fonctionnalités suivantes:
 l’exécution et ordonnancement des programmes
 l’utilisation et la gestion des ressources de l’ordinateur comme la mémoire
 La gestion des périphériques
 La manipulation des systèmes de fichiers
 La gestion et la communication via le réseau
 Et bien plus encore.
Système d'exploitation 13
Outils d’administration
• Windows offre un environnement d'administration complet.
• Il comprend notamment :
• Gestionnaire de tâches
• Gestionnaire de l’ordinateur
• Gestion des utilisateurs et des groupes
• Observateur d'événements
• Gestionnaire des services
• Gestion du stockage (disques)
• Analyseur de performances
• Gestionnaire de sécurité
Système d'exploitation 14
Outils d’administration
 Gestionnaire de l’ordinateur
Système d'exploitation 15
Outils d’administration
 Observateur d’événements
Système d'exploitation 16
Outils d’administration
 Gestionnaire de services
Système d'exploitation 17
Outils d’administration
 Gestionnaire de disques
Système d'exploitation 18
Outils d’administration
 Analyseur de performances
Système d'exploitation 19
Outils d’administration
 Gestionnaire de sécurité
Système d'exploitation 20
Configuration de système (Windows)
• Deux fichiers principaux :
• win.ini contenant tous les paramètres utilisateurs (couleurs, paramètres
internationaux ...)
• system.ini contenant les paramètres machine (type de clavier, d'écran ...).
• Sous Windows, chaque application créait un fichier .ini dans le dossier
Windows, ou ajoutait quelques lignes dans le fichier win.ini.
• Toutes les informations nécessaires au bon fonctionnement du
système sont regroupées dans une base de données appelée la base
de registres.
• La base de registres est accessible à travers un programme particulier
: regedit.exe
Système d'exploitation 21
Configuration de système (Windows)
Base de registres
• Elle peut être manipulée pour configurer au mieux le système mais avec
beaucoup de précautions : si elle est corrompue ou détruite, le système est
incapable de fonctionner correctement
• Elle est modifiée à chaque opération de gestion du système : installation de
nouveaux logiciels par les programmes d’installation, création d’utilisateur,
modification de matériel, etc.
• Il est préférable la sauvegarder avant toute manipulation.
Système d'exploitation 22
Configuration de système (Windows)
• Les informations dans la base sont stockées sous forme arborescente.
• Mais la méthode de gestion choisie est critiquable : en effet toute branche
supprimée garde sa place dans la base, mais est notée comme supprimée et
n'apparaît plus, d'où ce gonflement au fur et à mesure de l'installation et de la
suppression de logiciels (shareware ou non).
Système d'exploitation 23
• HKEY_LOCAL_MACHINE représente tout ce qui est lié à la machine.
• HKEY_CURRENT_USER recense tous les paramètres de l’utilisateur courant
• HKEY_USERS regroupe les paramètres de tous les utilisateurs de la machine
• HKEY_CLASSES_ROOT, qui vient directement de Windows 3.1, regroupe
toutes les associations de fichiers, les enregistrements OLE, DDE et ActiveX.
Les premières branches commencent par .xxx et indiquent tous les types
de fichiers enregistrés (.bmp, .txt, .wav, …). A chaque type correspond une
description, dont le nom se retrouve plus bas.
• Les 2 dernières branches sont liées à la configuration courante du PC.
• HKEY_CURRENT_CONFIG reprend en fait la configuration courante à partir des
informations contenues dans HKEY_LOCAL_MACHINEConfig,
• HKEY_DYN_DATA ne contient que des infos « volatiles » qui ne sont pas enregistrées
sur disque, mais seulement présente en RAM pour la session en cours.
Système d'exploitation 24
Processus de démarrage d’un ordinateur équipé
de Windows
Système d'exploitation 25
Chargement du BIOS
• Mise en route de la machine
• Chargement automatique du compteur ordinal avec l’adresse de la
première instruction du BIOS
 B.I.O.S. = Basic Input-Output System
 Gère les périphériques vitaux
 Pilotes du clavier, de l’écran en mode texte, des ports « série » et « parallèle »
 Au démarrage, le bios vérifie la mémoire et tous les composants vitaux
 Possibilité de paramétrer le matériel et le démarrage de la machine.
Système d'exploitation 26
Amorçage
• Chargement du noyau du système d’exploitation à son emplacement
définitif
• Exécution de la procédure d’initialisation du système d’exploitation
• Démarrage des services
Système d'exploitation 27
Initialisation du système
Procédures :
• Recherche et exécution du fichier CONFIG.SYS
• Chargement de l’interprète du langage de commande
• Interprétation des fichiers System.ini et Win.ini
• Login utilisateur, puis démarrage du bureau de Windows
• Consultation de la base de registres et lancement des services et des
applications mentionnées en:
• HKEY_LOCAL_MACHINESoftwareMicrosoftWind owscurrent versionrun
• HKEY_CURRENT_USERSoftwareMicrosoftWindo wsCurrentVersionRun
Système d'exploitation 28
Le système de gestion de fichiers (SGF)
Système d'exploitation 29
SGF : Structure arborescente
• Fichiers (files)
• Dossiers ou répertoires (directory)
Système d'exploitation 30
Nom = chemin d'accès (PATH)
Ex :
• D:DocumentstotoRapport.doc
• P:Tp progmontp.java Format nom de fichier
• U:nom répertoire1nom repertoire2 … nom repertoire nnom fichier
Système d'exploitation 31
L'utilisateur dans l'arborescence
• Connexion
• Nom d'utilisateur (identifiant ou login) + mot de passe
• Bases de données des utilisateurs : HKEY_USERS initialise
HKEY_CURRENT_USER
• Répertoire de travail par défaut :
• X:Documents and Settingsnomlogin (XP)
• X:Usersnomlogin (Win7 et +)
Système d'exploitation 32
Nom absolu et nom relatif
• Noms absolus de la forme : U:nomrep.....
• X:WindowsSystem32
• P:tpprojet1sourcetp1.java
• Noms relatifs : ne commencent pas par 
• Relatifs au répertoire courant (répertoire de travail)
Système d'exploitation 33
SGF : commandes usuelles
Système d'exploitation 34
SGF : caractères spéciaux
• Commencent par un point :
• Répertoire courant ( . )
• Répertoire père ( .. )
• Jokers (wildcard characters)
• * Remplace n'importe quelle suite de caractères
• Exemples: a*b.java désigne tous les fichiers dont le nom commence par a et
se termine par b et don le suffixe est java
Système d'exploitation 35
Ordonnancement des processus
Cours système d’exploitation
BTS-IG
G.Mohamed Bechir IPSET-2023
Introduction
• Lorsqu’un ordinateur est multiprogrammé, il possède fréquemment
plusieurs processus/threads en concurrence pour l’obtention de temps
processeur.
• Dans ce cas le système d’exploitation doit gérer l’allocation du processeur
aux différents processus à exécuter. C’est l’ordonnanceur qui s’acquitte de
cette tâche.
Système d'exploitation 37
Définition
Ordonnanceur:
• le module du noyau du système d'exploitation qui choisit les processus qui vont
être exécutés par les processeurs d'un ordinateur.
• Critères d’ordonnancement:
• L’ordre d’arrivée
• Durée d’exécution
• La priorité
• La partie du système d’exploitation qui effectue ce choix se nomme
l’ordonnanceur (scheduler) et l’algorithme qu’il emploie s’appel algorithme
d’ordonnancement (scheduling algorithm)
Système d'exploitation 38
Définition
Processus
• Un processus est une activité: programme, entrées, sorties…
• Une ou plusieurs tâches en cous d’exécution
• Peut être aussi un programme en exécution.
• Une entité active, avec un compteur d’instructions spécifiant l’instruction
suivante à exécuter et un ensemble de ressources associées.
•  il est possible d’avoir plusieurs processus différents associés à un même
programme.
Système d'exploitation 39
Processus – Ordonnanceur – Processeur
Système d'exploitation 40
Programme et processus
• Un programme est une suite d'instructions (un objet statique).
• Un processus est un programme en exécution et son contexte (un objet
dynamique).
• Dans un environnement mono tâche la notion de processus est réduite à sa
plus simple expression.
• Dans un système multitâches (ex : Linux, UNIX), plusieurs processus
s'exécutent "simultanément". Ils doivent se partager l'accès au processeur.
• Plusieurs processus peuvent exécuter simultanément des copies (ou
instances) d'un même programme.
• Plusieurs processus peuvent exécuter simultanément la même copie d'un
même programme.
Système d'exploitation 41
Objectifs d'un ordonnanceur
• Les objectifs d'un ordonnanceur d'un système multiutilisateur sont entre autres :
 S'assurer que chaque processus en attente d'exécution reçoive sa part de temps
processeur.
 Minimiser le temps de réponse.
 Utiliser le processeur à 100%.
 Prendre en compte des priorités.
 Être prédictible.
Système d'exploitation 42
• Le processus est bloqué, en attente d’une donnée, événement,
• L’ordonnanceur choisit un autre processus,
• L’ordonnanceur choisit ce processus,
• La donnée, l’évènement devient disponible.
Système d'exploitation 43
État de processus
• Quand un processus s’exécute, il change d’état.
• Toutefois, plusieurs processus peuvent être prêts et en attente
• Un processeur ne peut exécuter qu’un seul processus à la fois!
Système d'exploitation 44
États de processus et ordonnancement Quand ordonnancer ?
• Lorsqu’un nouveau processus est créé
→ il faut se décider s’il faut exécuter d’abord le processus parent ou le processus
enfant.
• Lorsqu’un processus se termine
→ un autre processus doit être choisi parmi les processus prêts
• Lorsqu’un processus se bloque
→ un autre processus doit être sélectionner pour être exécuter
• Lorsqu’une interruption d’E/S se produit
→ il faut prendre une décision d’ordonnancement parmi les processus qui étaient
bloqué en attente d’E/S.
Système d'exploitation 45
Diagramme de Gantt
• Représentation schématique de l’évolution dans le temps des processus.
• Le diagramme de Gantt est un outil utilisé en ordonnancement et en gestion de
projet et permettant de visualiser dans le temps les diverses tâches composant
un projet.
Système d'exploitation 46
Stratégies d’ordonnancement de processus
Système d'exploitation 47
Politique de choix : FIFO
• Politique « FIFO » (First In First Out)
• Allocation dans l’ordre d’arrivée (premier arrivé = premier servi)
• FIFO traite les processus dans l’ordre de leur soumission (date d’arrivée) sans
aucune considération de leur temps d’exécution.
• Inconvénient :
• défavorise les entités ayant besoin d’utiliser la ressource pour un court laps
de temps
• Le temps d’attente n’est pas proportionnel au temps d’utilisation
• pas équitable,
• temps moyen de traitement élevé
Système d'exploitation 48
Algorithme FIFO
Système d'exploitation 49
Ordonnancement FIFO : Ex1
• Supposons que les processus arrivent dans l’ordre suivant: P1 , P2 , P3 Le diagramme
correspondant est:
• Temps d‘attente de P1 = 0; P2 = 24; P3 = 27
• Temps d’attente moyen: (0 + 24 + 27)/3 = 17
Système d'exploitation 50
Ordonnancement FIFO : Ex2
• Supposons que les processus arrivent dans l’ordre suivant P2 , P3 , P1
• Le diagramme de Gantt serait alors :
• Temps d’attente de P1; P2; P3.?
• Temps d’attente moyen: ?
Système d'exploitation 51
Politique de choix : SJF
• Politique SJF (Shortest Job First) ou PCTU (Plus Court Temps
d’Utilisation d’abord)
• Allocation selon ordre croissant de durée d’utilisation prévue
• Inconvénients
• Pas réaliste : exige la connaissance a priori des durées d’utilisation
• les tâches dont la durée d’exécution estimée est longue peuvent attendre leur
tour indéfiniment …
• Avantages
• Temps d’attente faible pour entités à courte durée d’utilisation
• Temps moyen d’attente minimal
Système d'exploitation 52
Algorithme SJF
Système d'exploitation 53
Exemple d’algorithme SJF
• Temps moyen d’attente = (0 + 6 + 3 + 7)/4 = 4
Système d'exploitation 54
• Il existe d’autres algorithmes qui sont «pré-emptif » telque :
• Round Robin (RR)
• Shortest Remaining Time (SRT (version préemptif de l’algorithme SJF))
• …
• Pour les algorithmes dit préemptifs il y a possibilité d’appropriation du processeur
par un processus avant la fin du processus courant.
• Performance des algorithmes d’ordonnancement :
 Temps d’attente moyen = somme temps d’attente / nb processus
 Rendement = somme temps d’exécution / nb processus
Système d'exploitation 55
Autres algorithmes
Gestions de processus sous Linux/UNIX
• Démarrage Linux/UNIX: un processus spécial appelé init est présent
dans l’image d’amorçage.
• Lorsqu’il s’exécute, il lit un fichier indiquant combien de terminaux
sont présents; il génère un nouveau processus par terminal.
• Ce processus attendent une ouverture de session (login)
• Si l’une d’elles réussit, le processus de login exécute un SHELL pour
accepter des commandes.
• Ces commandes peuvent lancer d’autres processus, et ainsi de suite.
• Tous les processus de l’ensemble du SE appartiennent à un
arborescence unique, dont init est la racine.
Système d'exploitation 56
Gestions de processus sous Linux/UNIX
• Un processus a un seul parent et peut avoir 0 ou plusieurs fils.
• Si le processus A crée le processus B, A est le parent de B, B est le fils de A
(A par défaut, exécute le même code que B) B peut à son tour créer des
processus. Un processus avec tous ses descendants forment un groupe de
processus représenté par un arbre de processus.
• fork est le seul appel système de création de processus.
Système d'exploitation 57
Le système d’exploitation Linux :
Démarrage de système et environnement de travail
Cours système d’exploitation
BTS-IG
IPSET - 2023
G.Mohamed Bechir
Linux
• C’est un système de développement collaboratif
• Distribué librement
• Permet l’utilisation de tous les logiciels libres développés par son
architecture
• Le noyau Linux est historiquement une version libre du système UNIX.
• Développé à partir de l’année 1991
Système d'exploitation 59
Composants Linux
Système d'exploitation 60
Distribution Linux
• On appelle distribution Linux un ensemble de logiciels composé d’un
système Linux et de logiciels complémentaires pré-installés et pré-
paramétrés.
• Exemple de distribution Linux
• Debian
• Ubuntu
• Xubuntu
• Fedora
Système d'exploitation 61
Position du noyau Linux dans une distribution
Système d'exploitation 62
• Noyau Linux : ensemble de programmes pour gérer la machine et ses
ressources
• Shell : Interpréteur de commandes
• Pilotes: Drivers des périphériques (disques durs, carte graphique,
carte réseau, imprimantes,…)
• Logiciels d’applications : différents logiciels
• - X-Window : pour fournir un environnement de graphisme
• - KDE et Gnome : pour gérer l’interface graphique (fenêtres,…)
Système d'exploitation 63
• Kernel :
• Distribue les tâches
• Gère les accès aux ressources
• Réalise tous les accès aux hardware
• Shell :
• Interprète et exécute les commandes
• Assure un environnement propre à chaque utilisateur
• Applications / programmes système
• Gestion des fichiers
• Gestion d’utilisateurs
• Gestion de processus
Système d'exploitation 64
Environnement de bureau
• Un environnement de bureau est un ensemble de programmes
permettent de manipuler l’ordinateur à travers une interface
graphique.
• Chaque distribution Linux propose un ou plusieurs environnements
de bureau.
• Exemples d’environnement de bureau: Gnome, KDE
Système d'exploitation 65
Le terminal
• Les distributions Linux comporte un mode graphique, pratique pour de
nombreuses opérations.
• Dès lors qu’on se connecte à un système Linux, on peut ouvrir le terminal
et faire de nombreuse opérations, telles que:
• - Lancer des applications
• - Manipuler des fichiers
• - Se connecter à un autre ordinateur
• Pour lancer une application sous linux :
• Ouvrir le terminal
• Écrire le nom de l’application
• Saisir le caractère & et appuyer sur entrée
Système d'exploitation 66
Démarrage Linux
• Le démarrage du système dépend du matériel sur lequel Linux est
démarré.
• Dans un ordinateur, le démarrage de Linux commence dans le BIOS à
l'adresse 0xFFFF0. La première chose que réalise le BIOS est le power-
on self test (POST). Le rôle du POST est de vérifier le matériel. La
seconde chose que fait le BIOS est d'énumérer puis d'initialiser les
périphériques locaux.
Système d'exploitation 67
Le répertoire
• Le répertoire “racine” est désigné par
“/”.
• –> ∼ C : sous windows
• contient un certain nombre de sous
répertoires (/bin, /boot, ..., /var)
• /bin Programmes système (binaries).
• /boot Noyau, Bootmanager.
• /dev Fichiers des périphériques
(devices).
• /etc Fichiers de configuration.
• /home Répertoires des utilisateurs.
• /lib Librairies partagées.
• /mnt Répertoire de montage pour
cdrom, floppy... (mount).
• /opt Installations supplémentaires.
• /proc Informations sur le système et
les processus en cours (process).
• /root Répertoire personnel de root.
/sbin Programmes système pour le
root.
• /tmp Données temporaires.
• /usr Programmes des utilisateurs.
• /var Fichiers divers et certains fichiers
de logs (variable)
Système d'exploitation 68
Le répertoire
• Le répertoire “home”. Contient les dossiers de travail et de
configuration de chacun des utilisateurs.
• Chemin absolu : se réfère à la racine “/”.
• Chemin relatif : se réfère au répertoire courant
• En écriture relative “./” signifie “le répertoire courant
Système d'exploitation 69
• On se trouve dans le répertoire “Document”. On désigne le fichier
“tutu.txt”
• chemin relatif au fichier tutu.txt : ../tutu.txt
• chemin absolu du fichier tutu.txt : /home/puthier/tutu.txt
Système d'exploitation 70
Organisation des fichiers
• Les fichiers sous Linux sont organisées dans des dossiers (ou
répertoires)
• Le premier de ces dossiers appelée racine
• Des fils courants de racines sont :
• /bin
• /home
• /tmp
Système d'exploitation 71
Gestion des fichiers
• pwd : savoir où je me situe dans l’arborescence
• cd: aller quelque part dans l’arborescence
• cd .. (répertoire parent)
• cd ~ (répertoire de base)
• cd - (répertoire précedent)
• cd / (répertoire racine)
• ls : voir les fichiers et les dossiers dans mon dossiers actuel avec leurs
informations associées
• rm file : supprimer le fichier file dans mon dossier actuel
• rm *: supprimer tous les fichiers de mon dossiers actuel
• mkdir : créer un nouveau dossier
• rmdir : supprimer un dossier
Système d'exploitation 72
Droit d’accès associés aux fichiers et répertoire
• Trois ensemble de droits :
• Owner: créateur
• Group : au quel owner appartient
• Other : les utilisateurs du système
• Chaque utilisateur appartient à un seul group
• Les droits d’accès sont :
• read (lire, afficher, copier un fichier)
• Write (ajouter un fichier, modifier)
• execute
Système d'exploitation 73

Cours système d’exploitation S1 - IG IPSET.pdf

  • 1.
    Le Système d’exploitationWindows Cours système d’exploitation BTS-IG Responsable de cours : G.Mohamed Bechir IPSET – Oct 2023
  • 2.
    Définition • Système d’exploitation(SE): Interface qui rend possible la communication homme-machine. • Intermédiaire entre la partie logiciel et la partie matériel. • Premier programme exécuté lorsque l’ordinateur est mis en marche. • Plusieurs systèmes d’exploitation existants: Windows, Mac OS, Linux, Android, etc. • Utilisateur  système d’exploitation  Machine (Matériel et logiciel) Système d'exploitation 2
  • 3.
    Principales fonctionnalités (1) •Gestion des informations :  Sécurité et protections des données  Gestion de la mémoire  Gestion et traitement des fichiers  Transfert entre les différents éléments de la machine Système d'exploitation 3
  • 4.
    Principales fonctionnalités (2) •Gestion et partage des ressources :  Interpréteur des commandes  Sécurité et protection des accès  Gestion des processus  Allocation de la mémoire  Gestion des entrées/sorties, des périphériques  Gestion des protocoles réseaux  Gestion des fenêtres Système d'exploitation 4
  • 5.
    Principales fonctionnalités (3) •Outils d’exploitation :  Compilateurs  Aide à la mise au point  Archivage  Traitement des défaillances  Éditeurs Système d'exploitation 5
  • 6.
    Gestion des dossierset des fichiers (1) • Dossier : regroupe l’ensemble des fichiers • Fichier : unité logique de stockage d’information • Répertoire : entité créer pour l’organisation des fichiers et des dossiers Système d'exploitation 6
  • 7.
    Gestion des dossierset des fichiers (2) • Système de gestion des fichiers (SGF): Ensemble des fonctionnalités mises en œuvre pour la gestion des fichiers dans un SE. • Pour accéder à un fichier il faut fournir au système de fichiers les informations nécessaires pour le localiser sur le disque, c'est-à-dire lui fournir un chemin d'accès. Les systèmes modernes permettent aux utilisateurs d'accéder directement à une donnée d'un fichier, sans le parcourir depuis le début du chemin. Système d'exploitation 7
  • 8.
    Gestion des programmes •Le SE s’occupe tout seul d’allouer les ressources nécessaires pour chaque programme en cours d’exécution. Gestion manuelle des programmes • Visualisation des programmes installés sur la machine - Désinstallation d’un programme • Visualisation des processus (programmes en cours d’exécution) • Arrêt d’un programme en cours d’exécution (Pas très recommandé) • Visualisation de l’utilisation du processeur et de la RAM par chaque processus Système d'exploitation 8
  • 9.
    Gestion des utilisateurs •Grâce aux comptes d’utilisateurs, plusieurs personnes peuvent facilement partager un même PC. Chaque utilisateur dispose d’un compte distinct, caractérisé par des paramètres et des préférences qui lui sont propres comme un arrière-plan de Bureau et un écran de veille. • Les comptes d’utilisateurs aident également à gérer les fichiers et les applications que chaque personne utilise ainsi que les modifications qui sont effectuées sur le PC. Système d'exploitation 9
  • 10.
    Les composants d’unSE • Le noyau  Gestion et exécution de programmes  Gestion de la mémoire  Communication interprocessus  L’ordonnanceur  Interface utilisateur graphique  Les pilotes… • Interpréteur de commande (Shell) • Système de gestion de fichiers (SGF) Système d'exploitation 10
  • 11.
    Principes et fonctionnementd’un système d’exploitation Cours Système d’exploitation BTS-IG G.Mohamed Bechir IPSET-2023
  • 12.
    Introduction • Un systèmed’exploitation est essentiellement un logiciel qui gère les ressources d’un ordinateur et permet à des utilisateurs et à des programmes d’accéder à ces ressources. • Ces derniers peuvent inclure la mémoire, le processeur, les périphériques, les fichiers et plus d’autres. • Un système d’exploitation fonctionne en fournissant des services aux programmes et aux utilisateurs, notamment la saisie des commandes, le contrôle des périphériques, le stockage des données, la gestion des mémoires et du traitement, ainsi que le partage des ressources. Système d'exploitation 12
  • 13.
    Le noyau • Lapartie principale d’un SE, c’est sont Noyau ou Kernel en Anglais. il offre en générale les fonctionnalités suivantes:  l’exécution et ordonnancement des programmes  l’utilisation et la gestion des ressources de l’ordinateur comme la mémoire  La gestion des périphériques  La manipulation des systèmes de fichiers  La gestion et la communication via le réseau  Et bien plus encore. Système d'exploitation 13
  • 14.
    Outils d’administration • Windowsoffre un environnement d'administration complet. • Il comprend notamment : • Gestionnaire de tâches • Gestionnaire de l’ordinateur • Gestion des utilisateurs et des groupes • Observateur d'événements • Gestionnaire des services • Gestion du stockage (disques) • Analyseur de performances • Gestionnaire de sécurité Système d'exploitation 14
  • 15.
    Outils d’administration  Gestionnairede l’ordinateur Système d'exploitation 15
  • 16.
    Outils d’administration  Observateurd’événements Système d'exploitation 16
  • 17.
    Outils d’administration  Gestionnairede services Système d'exploitation 17
  • 18.
    Outils d’administration  Gestionnairede disques Système d'exploitation 18
  • 19.
    Outils d’administration  Analyseurde performances Système d'exploitation 19
  • 20.
    Outils d’administration  Gestionnairede sécurité Système d'exploitation 20
  • 21.
    Configuration de système(Windows) • Deux fichiers principaux : • win.ini contenant tous les paramètres utilisateurs (couleurs, paramètres internationaux ...) • system.ini contenant les paramètres machine (type de clavier, d'écran ...). • Sous Windows, chaque application créait un fichier .ini dans le dossier Windows, ou ajoutait quelques lignes dans le fichier win.ini. • Toutes les informations nécessaires au bon fonctionnement du système sont regroupées dans une base de données appelée la base de registres. • La base de registres est accessible à travers un programme particulier : regedit.exe Système d'exploitation 21
  • 22.
    Configuration de système(Windows) Base de registres • Elle peut être manipulée pour configurer au mieux le système mais avec beaucoup de précautions : si elle est corrompue ou détruite, le système est incapable de fonctionner correctement • Elle est modifiée à chaque opération de gestion du système : installation de nouveaux logiciels par les programmes d’installation, création d’utilisateur, modification de matériel, etc. • Il est préférable la sauvegarder avant toute manipulation. Système d'exploitation 22
  • 23.
    Configuration de système(Windows) • Les informations dans la base sont stockées sous forme arborescente. • Mais la méthode de gestion choisie est critiquable : en effet toute branche supprimée garde sa place dans la base, mais est notée comme supprimée et n'apparaît plus, d'où ce gonflement au fur et à mesure de l'installation et de la suppression de logiciels (shareware ou non). Système d'exploitation 23
  • 24.
    • HKEY_LOCAL_MACHINE représentetout ce qui est lié à la machine. • HKEY_CURRENT_USER recense tous les paramètres de l’utilisateur courant • HKEY_USERS regroupe les paramètres de tous les utilisateurs de la machine • HKEY_CLASSES_ROOT, qui vient directement de Windows 3.1, regroupe toutes les associations de fichiers, les enregistrements OLE, DDE et ActiveX. Les premières branches commencent par .xxx et indiquent tous les types de fichiers enregistrés (.bmp, .txt, .wav, …). A chaque type correspond une description, dont le nom se retrouve plus bas. • Les 2 dernières branches sont liées à la configuration courante du PC. • HKEY_CURRENT_CONFIG reprend en fait la configuration courante à partir des informations contenues dans HKEY_LOCAL_MACHINEConfig, • HKEY_DYN_DATA ne contient que des infos « volatiles » qui ne sont pas enregistrées sur disque, mais seulement présente en RAM pour la session en cours. Système d'exploitation 24
  • 25.
    Processus de démarraged’un ordinateur équipé de Windows Système d'exploitation 25
  • 26.
    Chargement du BIOS •Mise en route de la machine • Chargement automatique du compteur ordinal avec l’adresse de la première instruction du BIOS  B.I.O.S. = Basic Input-Output System  Gère les périphériques vitaux  Pilotes du clavier, de l’écran en mode texte, des ports « série » et « parallèle »  Au démarrage, le bios vérifie la mémoire et tous les composants vitaux  Possibilité de paramétrer le matériel et le démarrage de la machine. Système d'exploitation 26
  • 27.
    Amorçage • Chargement dunoyau du système d’exploitation à son emplacement définitif • Exécution de la procédure d’initialisation du système d’exploitation • Démarrage des services Système d'exploitation 27
  • 28.
    Initialisation du système Procédures: • Recherche et exécution du fichier CONFIG.SYS • Chargement de l’interprète du langage de commande • Interprétation des fichiers System.ini et Win.ini • Login utilisateur, puis démarrage du bureau de Windows • Consultation de la base de registres et lancement des services et des applications mentionnées en: • HKEY_LOCAL_MACHINESoftwareMicrosoftWind owscurrent versionrun • HKEY_CURRENT_USERSoftwareMicrosoftWindo wsCurrentVersionRun Système d'exploitation 28
  • 29.
    Le système degestion de fichiers (SGF) Système d'exploitation 29
  • 30.
    SGF : Structurearborescente • Fichiers (files) • Dossiers ou répertoires (directory) Système d'exploitation 30
  • 31.
    Nom = chemind'accès (PATH) Ex : • D:DocumentstotoRapport.doc • P:Tp progmontp.java Format nom de fichier • U:nom répertoire1nom repertoire2 … nom repertoire nnom fichier Système d'exploitation 31
  • 32.
    L'utilisateur dans l'arborescence •Connexion • Nom d'utilisateur (identifiant ou login) + mot de passe • Bases de données des utilisateurs : HKEY_USERS initialise HKEY_CURRENT_USER • Répertoire de travail par défaut : • X:Documents and Settingsnomlogin (XP) • X:Usersnomlogin (Win7 et +) Système d'exploitation 32
  • 33.
    Nom absolu etnom relatif • Noms absolus de la forme : U:nomrep..... • X:WindowsSystem32 • P:tpprojet1sourcetp1.java • Noms relatifs : ne commencent pas par • Relatifs au répertoire courant (répertoire de travail) Système d'exploitation 33
  • 34.
    SGF : commandesusuelles Système d'exploitation 34
  • 35.
    SGF : caractèresspéciaux • Commencent par un point : • Répertoire courant ( . ) • Répertoire père ( .. ) • Jokers (wildcard characters) • * Remplace n'importe quelle suite de caractères • Exemples: a*b.java désigne tous les fichiers dont le nom commence par a et se termine par b et don le suffixe est java Système d'exploitation 35
  • 36.
    Ordonnancement des processus Courssystème d’exploitation BTS-IG G.Mohamed Bechir IPSET-2023
  • 37.
    Introduction • Lorsqu’un ordinateurest multiprogrammé, il possède fréquemment plusieurs processus/threads en concurrence pour l’obtention de temps processeur. • Dans ce cas le système d’exploitation doit gérer l’allocation du processeur aux différents processus à exécuter. C’est l’ordonnanceur qui s’acquitte de cette tâche. Système d'exploitation 37
  • 38.
    Définition Ordonnanceur: • le moduledu noyau du système d'exploitation qui choisit les processus qui vont être exécutés par les processeurs d'un ordinateur. • Critères d’ordonnancement: • L’ordre d’arrivée • Durée d’exécution • La priorité • La partie du système d’exploitation qui effectue ce choix se nomme l’ordonnanceur (scheduler) et l’algorithme qu’il emploie s’appel algorithme d’ordonnancement (scheduling algorithm) Système d'exploitation 38
  • 39.
    Définition Processus • Un processusest une activité: programme, entrées, sorties… • Une ou plusieurs tâches en cous d’exécution • Peut être aussi un programme en exécution. • Une entité active, avec un compteur d’instructions spécifiant l’instruction suivante à exécuter et un ensemble de ressources associées. •  il est possible d’avoir plusieurs processus différents associés à un même programme. Système d'exploitation 39
  • 40.
    Processus – Ordonnanceur– Processeur Système d'exploitation 40
  • 41.
    Programme et processus •Un programme est une suite d'instructions (un objet statique). • Un processus est un programme en exécution et son contexte (un objet dynamique). • Dans un environnement mono tâche la notion de processus est réduite à sa plus simple expression. • Dans un système multitâches (ex : Linux, UNIX), plusieurs processus s'exécutent "simultanément". Ils doivent se partager l'accès au processeur. • Plusieurs processus peuvent exécuter simultanément des copies (ou instances) d'un même programme. • Plusieurs processus peuvent exécuter simultanément la même copie d'un même programme. Système d'exploitation 41
  • 42.
    Objectifs d'un ordonnanceur •Les objectifs d'un ordonnanceur d'un système multiutilisateur sont entre autres :  S'assurer que chaque processus en attente d'exécution reçoive sa part de temps processeur.  Minimiser le temps de réponse.  Utiliser le processeur à 100%.  Prendre en compte des priorités.  Être prédictible. Système d'exploitation 42
  • 43.
    • Le processusest bloqué, en attente d’une donnée, événement, • L’ordonnanceur choisit un autre processus, • L’ordonnanceur choisit ce processus, • La donnée, l’évènement devient disponible. Système d'exploitation 43
  • 44.
    État de processus •Quand un processus s’exécute, il change d’état. • Toutefois, plusieurs processus peuvent être prêts et en attente • Un processeur ne peut exécuter qu’un seul processus à la fois! Système d'exploitation 44
  • 45.
    États de processuset ordonnancement Quand ordonnancer ? • Lorsqu’un nouveau processus est créé → il faut se décider s’il faut exécuter d’abord le processus parent ou le processus enfant. • Lorsqu’un processus se termine → un autre processus doit être choisi parmi les processus prêts • Lorsqu’un processus se bloque → un autre processus doit être sélectionner pour être exécuter • Lorsqu’une interruption d’E/S se produit → il faut prendre une décision d’ordonnancement parmi les processus qui étaient bloqué en attente d’E/S. Système d'exploitation 45
  • 46.
    Diagramme de Gantt •Représentation schématique de l’évolution dans le temps des processus. • Le diagramme de Gantt est un outil utilisé en ordonnancement et en gestion de projet et permettant de visualiser dans le temps les diverses tâches composant un projet. Système d'exploitation 46
  • 47.
    Stratégies d’ordonnancement deprocessus Système d'exploitation 47
  • 48.
    Politique de choix: FIFO • Politique « FIFO » (First In First Out) • Allocation dans l’ordre d’arrivée (premier arrivé = premier servi) • FIFO traite les processus dans l’ordre de leur soumission (date d’arrivée) sans aucune considération de leur temps d’exécution. • Inconvénient : • défavorise les entités ayant besoin d’utiliser la ressource pour un court laps de temps • Le temps d’attente n’est pas proportionnel au temps d’utilisation • pas équitable, • temps moyen de traitement élevé Système d'exploitation 48
  • 49.
  • 50.
    Ordonnancement FIFO :Ex1 • Supposons que les processus arrivent dans l’ordre suivant: P1 , P2 , P3 Le diagramme correspondant est: • Temps d‘attente de P1 = 0; P2 = 24; P3 = 27 • Temps d’attente moyen: (0 + 24 + 27)/3 = 17 Système d'exploitation 50
  • 51.
    Ordonnancement FIFO :Ex2 • Supposons que les processus arrivent dans l’ordre suivant P2 , P3 , P1 • Le diagramme de Gantt serait alors : • Temps d’attente de P1; P2; P3.? • Temps d’attente moyen: ? Système d'exploitation 51
  • 52.
    Politique de choix: SJF • Politique SJF (Shortest Job First) ou PCTU (Plus Court Temps d’Utilisation d’abord) • Allocation selon ordre croissant de durée d’utilisation prévue • Inconvénients • Pas réaliste : exige la connaissance a priori des durées d’utilisation • les tâches dont la durée d’exécution estimée est longue peuvent attendre leur tour indéfiniment … • Avantages • Temps d’attente faible pour entités à courte durée d’utilisation • Temps moyen d’attente minimal Système d'exploitation 52
  • 53.
  • 54.
    Exemple d’algorithme SJF •Temps moyen d’attente = (0 + 6 + 3 + 7)/4 = 4 Système d'exploitation 54
  • 55.
    • Il existed’autres algorithmes qui sont «pré-emptif » telque : • Round Robin (RR) • Shortest Remaining Time (SRT (version préemptif de l’algorithme SJF)) • … • Pour les algorithmes dit préemptifs il y a possibilité d’appropriation du processeur par un processus avant la fin du processus courant. • Performance des algorithmes d’ordonnancement :  Temps d’attente moyen = somme temps d’attente / nb processus  Rendement = somme temps d’exécution / nb processus Système d'exploitation 55 Autres algorithmes
  • 56.
    Gestions de processussous Linux/UNIX • Démarrage Linux/UNIX: un processus spécial appelé init est présent dans l’image d’amorçage. • Lorsqu’il s’exécute, il lit un fichier indiquant combien de terminaux sont présents; il génère un nouveau processus par terminal. • Ce processus attendent une ouverture de session (login) • Si l’une d’elles réussit, le processus de login exécute un SHELL pour accepter des commandes. • Ces commandes peuvent lancer d’autres processus, et ainsi de suite. • Tous les processus de l’ensemble du SE appartiennent à un arborescence unique, dont init est la racine. Système d'exploitation 56
  • 57.
    Gestions de processussous Linux/UNIX • Un processus a un seul parent et peut avoir 0 ou plusieurs fils. • Si le processus A crée le processus B, A est le parent de B, B est le fils de A (A par défaut, exécute le même code que B) B peut à son tour créer des processus. Un processus avec tous ses descendants forment un groupe de processus représenté par un arbre de processus. • fork est le seul appel système de création de processus. Système d'exploitation 57
  • 58.
    Le système d’exploitationLinux : Démarrage de système et environnement de travail Cours système d’exploitation BTS-IG IPSET - 2023 G.Mohamed Bechir
  • 59.
    Linux • C’est unsystème de développement collaboratif • Distribué librement • Permet l’utilisation de tous les logiciels libres développés par son architecture • Le noyau Linux est historiquement une version libre du système UNIX. • Développé à partir de l’année 1991 Système d'exploitation 59
  • 60.
  • 61.
    Distribution Linux • Onappelle distribution Linux un ensemble de logiciels composé d’un système Linux et de logiciels complémentaires pré-installés et pré- paramétrés. • Exemple de distribution Linux • Debian • Ubuntu • Xubuntu • Fedora Système d'exploitation 61
  • 62.
    Position du noyauLinux dans une distribution Système d'exploitation 62
  • 63.
    • Noyau Linux: ensemble de programmes pour gérer la machine et ses ressources • Shell : Interpréteur de commandes • Pilotes: Drivers des périphériques (disques durs, carte graphique, carte réseau, imprimantes,…) • Logiciels d’applications : différents logiciels • - X-Window : pour fournir un environnement de graphisme • - KDE et Gnome : pour gérer l’interface graphique (fenêtres,…) Système d'exploitation 63
  • 64.
    • Kernel : •Distribue les tâches • Gère les accès aux ressources • Réalise tous les accès aux hardware • Shell : • Interprète et exécute les commandes • Assure un environnement propre à chaque utilisateur • Applications / programmes système • Gestion des fichiers • Gestion d’utilisateurs • Gestion de processus Système d'exploitation 64
  • 65.
    Environnement de bureau •Un environnement de bureau est un ensemble de programmes permettent de manipuler l’ordinateur à travers une interface graphique. • Chaque distribution Linux propose un ou plusieurs environnements de bureau. • Exemples d’environnement de bureau: Gnome, KDE Système d'exploitation 65
  • 66.
    Le terminal • Lesdistributions Linux comporte un mode graphique, pratique pour de nombreuses opérations. • Dès lors qu’on se connecte à un système Linux, on peut ouvrir le terminal et faire de nombreuse opérations, telles que: • - Lancer des applications • - Manipuler des fichiers • - Se connecter à un autre ordinateur • Pour lancer une application sous linux : • Ouvrir le terminal • Écrire le nom de l’application • Saisir le caractère & et appuyer sur entrée Système d'exploitation 66
  • 67.
    Démarrage Linux • Ledémarrage du système dépend du matériel sur lequel Linux est démarré. • Dans un ordinateur, le démarrage de Linux commence dans le BIOS à l'adresse 0xFFFF0. La première chose que réalise le BIOS est le power- on self test (POST). Le rôle du POST est de vérifier le matériel. La seconde chose que fait le BIOS est d'énumérer puis d'initialiser les périphériques locaux. Système d'exploitation 67
  • 68.
    Le répertoire • Lerépertoire “racine” est désigné par “/”. • –> ∼ C : sous windows • contient un certain nombre de sous répertoires (/bin, /boot, ..., /var) • /bin Programmes système (binaries). • /boot Noyau, Bootmanager. • /dev Fichiers des périphériques (devices). • /etc Fichiers de configuration. • /home Répertoires des utilisateurs. • /lib Librairies partagées. • /mnt Répertoire de montage pour cdrom, floppy... (mount). • /opt Installations supplémentaires. • /proc Informations sur le système et les processus en cours (process). • /root Répertoire personnel de root. /sbin Programmes système pour le root. • /tmp Données temporaires. • /usr Programmes des utilisateurs. • /var Fichiers divers et certains fichiers de logs (variable) Système d'exploitation 68
  • 69.
    Le répertoire • Lerépertoire “home”. Contient les dossiers de travail et de configuration de chacun des utilisateurs. • Chemin absolu : se réfère à la racine “/”. • Chemin relatif : se réfère au répertoire courant • En écriture relative “./” signifie “le répertoire courant Système d'exploitation 69
  • 70.
    • On setrouve dans le répertoire “Document”. On désigne le fichier “tutu.txt” • chemin relatif au fichier tutu.txt : ../tutu.txt • chemin absolu du fichier tutu.txt : /home/puthier/tutu.txt Système d'exploitation 70
  • 71.
    Organisation des fichiers •Les fichiers sous Linux sont organisées dans des dossiers (ou répertoires) • Le premier de ces dossiers appelée racine • Des fils courants de racines sont : • /bin • /home • /tmp Système d'exploitation 71
  • 72.
    Gestion des fichiers •pwd : savoir où je me situe dans l’arborescence • cd: aller quelque part dans l’arborescence • cd .. (répertoire parent) • cd ~ (répertoire de base) • cd - (répertoire précedent) • cd / (répertoire racine) • ls : voir les fichiers et les dossiers dans mon dossiers actuel avec leurs informations associées • rm file : supprimer le fichier file dans mon dossier actuel • rm *: supprimer tous les fichiers de mon dossiers actuel • mkdir : créer un nouveau dossier • rmdir : supprimer un dossier Système d'exploitation 72
  • 73.
    Droit d’accès associésaux fichiers et répertoire • Trois ensemble de droits : • Owner: créateur • Group : au quel owner appartient • Other : les utilisateurs du système • Chaque utilisateur appartient à un seul group • Les droits d’accès sont : • read (lire, afficher, copier un fichier) • Write (ajouter un fichier, modifier) • execute Système d'exploitation 73