SYSTEME D’EXPLOITATION

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Module 5 : Implémentation de l'impression
Chapitre annexe. Récursivité
Synchronisation des processus père - fils
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
Chapitre I : Systèmes d’exploitation
Conception et programmation Programmation Parallèle
Objectif de l’exposé.
Exécutif Temps réel. Limitation des système classiques Rappels Mise en œuvre lourde des communications entre processus Problème de prédictibilité avec.
Des systèmes classiques aux systèmes temps réels
Mémoire & Processus Cours SE - SRC
Jc/md/lp-01/06Threads1. jc/md/lp-01/06Threads2 Objectif du chapitre Génération dune application avec thread –Création dun thread –Identification dun thread.
Systèmes d’exploitation
Module II : Les logiciels
Système d’Exploitation
Active Directory Windows 2003 Server
Système d’exploitation: Principe
Système d’exploitation
Course Critique Race Condition
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Allocation de mémoire Allocation de mémoire.
1 Module 3 - Fils (Threads) Lecture: Chapitre 4 Objectif: Comprendre le concept de fils et sa relation avec le processus Comprendre le concept de fils.
Module 2 : Préparation de l'analyse des performances du serveur
CSI3531 – Labo 1 Lobservation du comportement de processus.
ÉLÉMENTS DE BASE UNIX.
Signaux – Tubes La gestion des signaux La communication par tube
Système dexploitation: Principe IFT6800 – E 2008 Pierre Poulin.
TP Scripts 1 Commandes périodiques 2 Droits d'accès 3 Liste de processus 4 Application 5 Application graphique © BTS II 2002 [tv]
Interoperabilité des SI - Urbanisation
Systèmes d’exploitation
Qu’est-ce qu’un système d’exploitation ?
L ’Ordonnancement Ordonnancement.
Utilisation avancée de linux
Systèmes d'exploitations Processus
Systèmes d’exploitation
Master 1 ère année Sécurité des Systèmes Informatique 1 L'initialisation Linux  Basée sur le modèle System V  Démarrage des scripts grâce a init  La.
1 La RTI 1.3NG du DoD et les systèmes supports Patrice Torguet IRIT.
Les processus, à quoi ça sert ?
Introduction aux systèmes d’exploitation
UTILISATION DE LINUX. LINUX 2 UTILISATION DE LINUX Différences Windows-Linux Le prix La licence Le choix des distributions Les applications Les utilisateurs.
Programmation Système et Réseau (sous Linux)
SYSTEMES D’EXPLOITATION
Temps Réel Barat Christian
Cours des Systèmes d’exploitations
La notion de type revisitée en POO
Module 8 : Surveillance des performances de SQL Server
Travailler avec des processus
Théorie Système Exploitation
AFPA CRETEIL 1-1 Windows NT Environnement Windows NT Chapitre 1.
Interactions entre Processus
Utilisation avancée de linux Réseau Démarrage et arrêt.
La programmation système
Programmation Système et Réseau
Exec et signaux. Comment surveiller les processus? Avant d’aller plus loin, vous aurez sans doute besoin de cette commande : ps –A u: permet d’afficher.
Module 3 : Création d'un domaine Windows 2000
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Cours Système LI324 Les Interruptions Cours Système LI324
Lancement du système Chapitre 3.
Les Processus.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
1.1: notions de bases de l’informatique
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Crédits SommaireSystème & Processus Système et Applications Système, programmes & données Définition Système & UtilisateursSystème et Interface CULTURE.
Gestion des Tâches Les Processus. Un système multitâches La carte mère comporte Le Processeur (calcul et attente) Les jeux de composants spécialisés (entrées-sorties.
Chapitre 12 Surveillance des ressources et des performances Module S41.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Transcription de la présentation:

SYSTEME D’EXPLOITATION Gestion des processus et threads Ordonnancement Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Une définition Un processus est l’image dynamique de l’exécution en mémoire centrale d’un programme exécutable dans une zone protégée. A chaque processus est associé le contexte : CO, les registres, pointeur de pile et une zone mémoire (code, pile, données) Francis ROGARD Initiation SE processus et threads

Les états d’un processus Fin En exécution création Élection Prêt Blocage Préemption Déblocage Bloqué Attente ressources Attente processeur Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Le diagramme des états actif utilisateur actif noyau zombie nouveau prêt Endormi ou suspendu Francis ROGARD Initiation SE processus et threads

Le bloc de contrôle (PCB) En plus des données et du code, le chargeur associe au processus le PCB : un identificateur (PID) l’état (élu, bloqué ou prêt) le contexte processeur et mémoire les statistiques les informations sur l’ordonnancement les informations sur ses ressources  ce bloc permet de gérer le contexte Francis ROGARD Initiation SE processus et threads

Les threads (processus légers) File exécution Ressources Espace d’adressage Processus monothread Thread 1 Ressources Espace d’adressage Thread 2 Thread 3 Processus multithreads Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads L’ordonnancement La fonction d’ordonnancement va permettre de choisir le processeur élu. Si l’ordonnancement est préemptif, il sera possible de retirer un processus élu en particulier pour assurer un temps de réponse « acceptable » pour chaque processus Francis ROGARD Initiation SE processus et threads

Les dispositifs d’ordonnancement Préemption µP Liste des PCB prêts µP Répartiteur Ordonnanceur µP Liste des PCB bloqués µP Blocage Déblocage Francis ROGARD Initiation SE processus et threads

Les algorithmes de choix Premier arrivé, Premier servi (FIFO)  temps d’attente sur les processus longs Par priorité Problème de famine Politique du tourniquet (quantum de temps) Adapter le quantum de temps Francis ROGARD Initiation SE processus et threads

Les politiques d’ordonnancement Unix/Linux : Sur la base des priorités décroissant (1-99) temps réel : fixe (FIFO et priorité) classiques : calcul dynamique (priorité) Windows Sur la base des priorités croissantes (1-32) thread temps réel : fixe (16-32) thread système : dynamique (1-15) Une file d’attente par niveau de priorité Francis ROGARD Initiation SE processus et threads

L’implantation Unix/Linux Le principe de base est d’organiser les processus hiérarchiquement, à chaque nœud est associé un fils (arbre binaire) Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Les caractéristiques Le pid, le ppid L’uid et le gid, l’euid et l’egid Les trois fichiers input, output et error Le niveau de priorité Les temps processeur, mémoire et total utilisateur La quantité de mémoire utilisée Le nom de la primitive en attente de sa mort Francis ROGARD Initiation SE processus et threads

Les mécanismes de création Création par duplication La primitive C fork() crée un processus fils avec duplication du contexte au fils Le père et le fils ont le même nom Création par recouvrement Il n’existe pas un nouveau processus, mais un exécutable récupère le contexte d’un processus existant via le pid La commande exec permet ce type de recouvrement Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads La primitive fork () Le schéma de création du processus dans un programme en langage C : switch ( fork()) { case – 1 : /* erreur */ ; break ; case 0 : /* chez le fils */ ; break ; default : /* chez le père */ } /* code exécuté par les deux processus */ Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads La synchronisation On dispose de trois mécanismes pour synchroniser les processus : L’attente de mort du fils (wait) Les signaux Les sémaphores Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads L’échange de données On dispose de mécanismes pour transférer des données entre deux processus sans utiliser un fichier du disque dur : Les tubes systèmes ou nommés La mémoire partagée Les files de messages Francis ROGARD Initiation SE processus et threads

L’interprète de commandes Le_prompt > ls -l bash fork() wait() execl() ls -l bash Francis ROGARD Initiation SE processus et threads

La programmation de l’interprétation Le schéma d’interprétation : switch ( fork()) { case – 1 : /* erreur */ ; break ; case 0 : execl(« /bin/ls », « ls » ,« -l », NULL); break ; default : wait(0) ; } /* code exécuté par le bash qui affiche le prompt*/ Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads La mort d’un processus La fin de l’exécution de la fonction main() entraîne la mort du processus et la valeur du return est retournée à l’interprète de commandes L’exécution de la primitive exit() ou la commande exit entraîne la fin du processus avec l’envoi de la valeur associée à l’interprète La réception d’un signal entraîne aussi sa mort si le signal n’est pas associé à un traitement spécifique Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Les commandes ps visualisation top visualisation en temps réel nice gestion de la priorité time temps d’exécution kill suppression d’un processus wait attente de la fin du fils exec <commande> recouvrement par la <commande> Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Démarrage du système Le premier processus après l’initialisation est int de pid 1 Les tâches d’int sont : Montage des systèmes de fichiers ( /proc et ceux de /etc/fstab) Mise à l’heure L’activation du swap Le lancement des services (démons) syslog, crond, lpd … Le chargement des modules L’affectation des variables d’environnement Francis ROGARD Initiation SE processus et threads

Le fichier /etc/inittab (1) Ce fichier, lu par init, indique les services à démarrer à l’initialisation. Les services sont regroupés suivant 7 niveaux d’exécution successifs En général : 0 arrêt du système 1,s et S mode mono-utilisateur 2 mode multi-utilisateurs 6 redémarrage Le niveau 3 est utilisé pour les services et 5 pour l’environnement graphique Francis ROGARD Initiation SE processus et threads

Le fichier /etc/inittab (2) Une ligne du fichier comporte les informations suivantes <identifiant> <liste des runlevels> <action> <commande> Les actions sont : Respawn, Once, Wait, Powerfail … Les scripts exécutés suivant les runlevels sont dans le répertoire /etc/rc.d (rc.sysinit, init.d avec les sous répertoires rc0.d, rc1.d …) Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Le script rc Le script rc exécute les fichiers du répertoire correspondant au numéro de runlevel passé en argument (rc 2  rc2.d) Dans le répertoire rc2.d, on trouve les liens symboliques vers des fichiers de /etc/init.d : lrwxrwxrwx 1 root root 15 dec 16 2004 K50xinetd -> ../init.d/xinetd S90crond -> ../init.d/crond Francis ROGARD Initiation SE processus et threads

La hiérarchie des processus /etc/inittab init (pid 1) /etc/passwd /etc/profile /etc/bashrc ~/.bashrc Les démons initialisés par la commande rc suivant les niveaux de priorité crond, lpd, xinetd … login getty bash Le processus de login Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads L’arrêt du système La commande shutdown La commande halt <ctrl> <alt> et <suppr> Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Implantation NT et XP Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Rappel Mode utilisateur Application client Message Sous système protégé (Win32) Appel système Mode noyau Service système Gestionnaire Processus et threads Noyau Francis ROGARD Initiation SE processus et threads Matériel

Initiation SE processus et threads Chaque processus comporte un ou plusieurs threads Le système gère des objets processus et threads Pas de relation père-fils, le gestionnaire de processus crée des instances d’objet pour les sous-systèmes d’environnement qui les gèrent Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Les éléments du thread Le contexte : CO, une pile utilisateur et une noyau, les valeurs des registres, une zone privée pour des données L’espace commun : ce sont les objets du processus via les handles, l’espace d’adressage et toute autre ressource. Francis ROGARD Initiation SE processus et threads

Ressources d’un processus Jeton d’accès Liste des descripteurs espace virtuel Processus thread Table des objets handle 1 handle 2 fichier handle 3 section Objets Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads Les services du noyau Ordonnancement Gestion des interruptions et exceptions interruption  asynchrone exception  synchrone La synchronisation des processeurs La procédure de reprise du défaut d’alimentation Francis ROGARD Initiation SE processus et threads

Initiation SE processus et threads FIN Francis ROGARD Initiation SE processus et threads