SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
1
A.Sghaier
2
A.Sghaier
3
A.Sghaier
4
A.Sghaier
5
A.Sghaier
6
A.Sghaier
Matériel
Matériel : Circuits électroniques / circuits logiques. On dira que c'est au niveau
: Circuits électroniques / circuits logiques. On dira que c'est au niveau
du matériel que se trouve la couche d'abstraction la plus basse
du matériel que se trouve la couche d'abstraction la plus basse
Système d'exploitation
Système d'exploitation : Élément le plus déterminant d'un système informatique
: Élément le plus déterminant d'un système informatique
Applications
Applications : Traitement de texte, gestionnaire de bases de données, tableurs
: Traitement de texte, gestionnaire de bases de données, tableurs
etc. Compilateurs, debugger
etc. Compilateurs, debugger
Utilitaires
Utilitaires : Services de base aux utilisateurs. Ex. interface graphique,
: Services de base aux utilisateurs. Ex. interface graphique,
interpréteur de commandes, gestionnaires divers, impriment, cherchent le
interpréteur de commandes, gestionnaires divers, impriment, cherchent le
courrier etc.
courrier etc.
Utilisateurs
Utilisateurs : C'est à eux que le système informatique est destiné. Les
: C'est à eux que le système informatique est destiné. Les
utilisateurs interagissent avec la couche de plus haut niveau.
utilisateurs interagissent avec la couche de plus haut niveau.
7
A.Sghaier
A.Sghaier 8
Un SE est l’ensemble des pgms qui se chargent de résoudre les pbms lies à l’exploitation
Un SE est l’ensemble des pgms qui se chargent de résoudre les pbms lies à l’exploitation
de l’ordinateur. On distingue 2 principales taches bien distinctes à un SE :
de l’ordinateur. On distingue 2 principales taches bien distinctes à un SE :
 Gérer les ressources physiques de l’ordinateur (processeur, mémoire, périphérique, etc)
Gérer les ressources physiques de l’ordinateur (processeur, mémoire, périphérique, etc)
 Gérer l’interaction avec les utilisateurs
Gérer l’interaction avec les utilisateurs
A.Sghaier 9
Fonctions d’un système d’exploitation
général
• − Gestion du processeur : allocation du processeur aux
différents programmes.
• − Gestion des objets externes : principalement les fichiers.
• − Gestion des entrées-sorties : accès aux périphériques, via les
pilotes.
• − Gestion de la mémoire : segmentation et pagination.
• − Gestion de la concurrence : synchronisation pour l'accès à
des ressources partagées.
• − Gestion de la protection : respect des droits d'accès aux
ressources.
• − Gestion des accès au réseau : échange de données entre des
machines distantes
10
A.Sghaier
A.Sghaier 11
Inconvénients
− Temps perdu dans l’attente pour lancer l’exécution d’un programme.
− Vitesse d’exécution de la machine limitée par la rapidité de l’opérateur
qui appuie sur les boutons et alimente les périphériques.
− Pas de différences entre : concepteurs ; constructeurs ; programmeurs ;
utilisateurs ;mainteneurs.
A.Sghaier 12
13
A.Sghaier
Inconvénients
− Perte de temps due à l’occupation du processeur durant les opérations d’E/S. (En
effet, le processeur restait trop inactif, car la vitesse des périphériques mécaniques
était plus lente que celle des dispositifs électroniques).
− Les tâches inachevées sont abandonnées.
14
A.Sghaier
En effet, le processeur est alloué à un job, et dès que celui-ci effectue une demande
d’E/S, le processeur est alloué à un autre job, éliminant ainsi les temps d’attente de
l’unité de traitement chargé des E/S, appelé canal d’E/S.
15
A.Sghaier
Exemple: Soient les deux programmes A et B suivants :
16
A.Sghaier
17
A.Sghaier
L’objectif est d’offrir aux usagers une interaction directe avec la machine
par l’intermédiaire de terminaux de conversation, et de leur allouer le
processeur successivement durant un quantum de temps, chaque utilisateur
aura l’impression de disposer de la machine à lui tout seul. Il peut aussi
contrôler le job qu’il a soumis directement à partir du terminal (corriger
les erreurs, recompiler, resoumettre le job, …).
Temps partagé (Time Sharing)
Parmi les premiers systèmes à temps
partagé, nous citons : CTSS (Compatible
Time Sharing System), MULTICS
(MULTiplexed Information and
Computing Service), UNIX, MINIX,
LINUX. En fait, la plupart des systèmes
d’aujourd’hui sont en temps partagé.
18
A.Sghaier
19
A.Sghaier
20
A.Sghaier
21
A.Sghaier
1-Le noyau (en anglais Kernel)
* Réside en mémoire (fréquence élevée des interventions)
*Petite taille
*Gestion du processeur: reposant sur un allocateur ( dispatcher ) responsable de la répartition
du temps processeur entre les différents processus, et un planificateur (scheduler ) déterminant
les processus à activer, en fonction du contexte.
* Gestion des interruptions : les interruptions sont des signaux envoyés par le matériel, à
destination du logiciel, pour signaler un évènement.
*Gestion du multi- tâches: simuler la simultanéité des processus coopératifs (i. e. les processus
devant se synchroniser pour échanger des données) et gérer les accès concurrents aux ressources
(fichiers, imprimantes, ...)
2-L'interpréteur de commandes (en anglais Shell)
C'est l'interface entre l'utilisateur et le système d'exploitation. Il permet à l'utilisateur de
communiquer avec le système d'exploitation par l'intermédiaire d'un langage de commandes
3-Le système de fichiers (en anglais filesystem)
C'est une structure de données permettant de stocker des informations et de les organiser dans
des fichiers. Il fournit à l'utilisateur une vue abstraite des données enregistrées sous formes
d'entités virtuelles. le SE donne au fichiers la possibilité (les gérer, cad les créer, les détruire, les
écrire (modifier) et les lires, EXP: Fat16, Fat12 de MSDOS, NTFS (NewTechnology File System) de Windows . HFS
(Hierarchical Filesystem)de Macintosh, ext2-fs Extended Filesystem de linux, etc
A.Sghaier 22
4-Les Entrées/ Sorties: Il s’agit de permettre le dialogue (échange d’informations)
avec l’extérieur du système.
Caractéristiques d’un SE :
Caractéristiques d’un SE :
A.Sghaier 23
Juste une idée sur les processus
A.Sghaier 24
A.Sghaier 25
A.Sghaier 26
A.Sghaier 27
A.Sghaier 28
A.Sghaier 29
A.Sghaier 30
Cheminement d’un Programme dans un Système
Un processus est un programme en
cours d'exécution. Les instructions qui
constituent un programme peuvent être
classifiées en catégories dont les
principales sont:
- Les Instructions d'affectations.
- Les instructions arithmétiques : telles
que les additions, soustractions,
divisions ou multiplication.
- Les instructions logiques : opérations
ET, OU, NON, NON exclusif, etc.
- Les Instructions de branchement
(conditionnelle et inconditionnelle)
- Les Instructions d'entrées/sorties :
une instruction d'entrée ou read peut
correspondre par exemple à la lecture
du disque. Une instruction de sortie ou
write peut correspondre par exemple à
l'affichage sur l'écran.
A.Sghaier 31
La gestion des processus
La gestion des processus
Un processus est un programme en cours d'exécution.
Un programme est une suite d'instructions ; c'est du texte, un code statique. Le
processus est un concept dynamique, il représente le déroulement d'une tâche faisant
partie d'une application ou un programme système quelconque. La notion de
processus est essentielle pour décrire le fonctionnement des systèmes
multiprogrammés aussi appelés multitâches ou plus simplement multiprocessus.
Parmi les avantages de la multiprogrammation, citons :
Le fractionnement des applications qui peut en simplifier le développement,
l'avantage pour l'utilisateur de savoir faire tourner plusieurs applications
simultanément et surtout l'optimalisation de l'utilisation du (ou des) processeurs(s)
A.Sghaier 32
Il existe des appels système permettant de créer un processus, charger son contexte et
lancer son exécution (fork, exec sous Unix).
- Un processus peut (père) créer d’autres processus (fils) qui hérite les descripteurs de
son père. Ce dernier à son tour crée d’autres processus. Un processus a un seul père
mais peut avoir plusieurs fils
- Les processus peuvent se terminer ou ils peuvent être éliminés par d’autres processus
(la primitive kill). A la destruction d’un processus, on libère toutes les ressources qu’il
avait.
- Dans certains cas, la destruction d’un processus entraîne l’élimination de ces
descendants ; cette opération n’affecte pas les processus qui peuvent continuer
indépendamment de leur père (processus orphelins).
A.Sghaier 33
Les états d'un processus
Les états d'un processus
Dans les systèmes, un programme ne quitte pas l’unité centrale avant de terminer son
exécution. Pendant cette période, il dispose de toutes les ressources de la machine. Par
contre, ce n’est pas le cas dans les systèmes multiprogrammés et temps partagé, un
processus peut se trouver dans l’un des états suivants :
1‐ Elu : (en cours d’exécution) : si le processus est en cours d'exécution
2- Bloqué : attente qu’un événement se produit ou bien ressource pour pouvoir
continuer
3- Prêt : si le processus dispose de toutes les ressources nécessaires à son exécution à
l'exception du processeur
Sémantique des Transitions
(1) : Allocation du processeur au processus sélectionné
(2) : Réquisition du processeur après expiration de la tranche
du temps par exemple soit parce qu'un processus de plus
haute priorité réquisitionne le processeur.
(3) : Blocage du processus élu dans l’attente d’un événement
(E/S ou autre)
(4) : Réveil du processus bloqué après disponibilité
de l’événement bloquant (Fin E/S, etc…)
A.Sghaier 34
Cycle d’exécution d’un processus
L’exécution d’un processus peut être vue comme une séquence de phases. Chaque phase
comprend deux cycles : un cycle d’exécution (ou calcul) réalisé par le processeur et un
cycle d’entrée sortie assuré par le canal. La dernière phase de tout processus doit
comprendre obligatoirement un seul cycle dans lequel sera exécuté la requête informant
le système d’exploitation sur la terminaison du processus. Cet appel permet au système
de restituer les ressources utilisées par le processus qui vient de terminer.
A.Sghaier 35
Bloc de contrôle de processus
Pour mettre en oeuvre le modèle des processus, le système dispose d’une table appelé bloc de
contrôle de processus (PCB Process Control Bloc) dont chaque entrée correspond à un
processus. Chaque ligne contient des informations sur le processus :
- L’état du processus : Il peut avoir l’une des valeurs suivantes : Prêt, en exécution ou en
attente.
- Le compteur d’instructions : Le compteur indique l’adresse de la prochaine instruction à
exécuter par le processus.
- Les registres du processeur : Les registres varient en nombre et en type en fonction de
l’architecture de l’ordinateur. Ils englobent des accumulateurs, des registres d’index, des
pointeurs de pile et des registres à usage général. Ces informations doivent être sauvegardées
avec le compteur d’instructions quand il se produit une interruption, afin de permettre au
processus de poursuivre correctement son exécution après la reprise.
- Informations sur le scheduling (ordonnanceur) du processeur : Ces informations
comprennent la priorité du processus, les pointeurs sur les files d’attente .
- Informations sur la gestion de la mémoire : Ces informations peuvent inclure les valeurs de
registres de base et limites, les tables de pages ou les tables de segments selon le système de
mémoire utilisé.
- Informations sur l’état des E/S : Les fichiers ouverts, la liste des périphériques d’E/S.
A.Sghaier 36
A.Sghaier 37
Le changement d'état d'un processus peut être provoqué par :
- un autre processus (qui lui a envoyé un signal, par exemple)
- le processus lui-même (appel à une fonction d'entrée-sortie bloquante,...)
- une interruption (fin de quantum, terminaison d'entrée-sortie, ...)
La sortie de l’état actif pour passer à l’état prêt se produit dans le cas des
ordonnancements préemptifs lorsqu’un processus plus prioritaire que le
processus actif courant devient prêt.
D’une manière générale :
- le passage de l’état actif à l’état prêt est provoqué par le système en
fonction de sa politique d’ordonnancement (fin de quantum,
préemption du processus actif si un processus plus prioritaire devient
prêt dans le cas des politiques préemptives, …),
- le passage de l’état actif à l’état bloqué est provoqué par le
programme exécuté par le processus. On peut citer : E/S bloquante du type
scanf, opérations sleep ou wait sous UNIX).
Le changement d'état d'un processus
A.Sghaier 38
Ordonnancement
Dans un système multitâches, le système d'exploitation doit gérer l'allocation du
processeur aux processus. On parle d'ordonnancement des processus.
Cette tâche est prise en charge par deux routines système en l’occurrence le Dispatcheur et
le Scheduleur (Ordonnanceur).
A.Sghaier 39
1) Le Dispatcheur :Il s’occupe de l’allocation du processeur à un processus sélectionné
par l’Ordonnanceur du processeur. Une fois allouer, le processeur doit réaliser les tâches
suivantes :
• Commutation de contexte : sauvegarder le contexte du processus qui doit relâcher le
processeur et charger le contexte de celui qui aura le prochain cycle processeur
• Commutation du mode d’exécution : basculer du mode Maître (mode d’exécution du
dispatcheur) en mode utilisateur (mode d’exécution du processeur utilisateur)
• Branchement : se brancher au bon emplacement dans le processus utilisateur pour le faire
démarrer.
2 )L’Ordonnanceur
Certains systèmes d’exploitation utilisent une technique d’ordonnancement à deux niveaux
qui intègre deux types d’Ordonnanceurs :
Ordonnanceur du processeur : c’est un Ordonnanceur court terme opère sur une ensemble
du processus présents en mémoire. Il s’occupe de la sélection du processus qui aura le
prochain cycle processeur, à partir de la file d’attente des processus prêts.
Ordonnanceur de travail : ou Ordonnanceur long terme, utilisé en cas d’insuffisance de
mémoire, son rôle est de sélectionné le sous ensemble de processus stockés sur un disque et
qui vont être chargés en mémoire. En suite, il retire périodiquement de la mémoire
lesprocessus qui sont restés assez longtemps et les remplace par des processus qui sont sur le
disque depuis trop de temps.
A.Sghaier 40
Nous distinguons plusieurs algorithmes d’ordonnancement, les plus répandus sont
• Ordonnancement Premier Arrivé Premier Servi
• Ordonnancement du plus court d’abord
• Ordonnancement circulaire : Tourniquet
• Ordonnancement circulaire à plusieurs niveaux
• Ordonnancement avec priorité
3) Algorithmes d’ordonnancement
L'ordonnancement est la partie du système d'exploitation qui détermine dans quel ordre les
processus prêts à s'exécuter (présents dans la file des prêts) seront élus Ses objectifs sont :
- Assurer le plein usage du CPU (agir en sorte qu’il soit le moins souvent possible
inactifs);
- Réduire le temps d'attente des utilisateurs.
- Assurer l'équité entre les utilisateurs.
Un algorithme d’ordonnancement permet d’optimiser une des grandeurs temporelles
suivantes
A.Sghaier 41
Remarque :Pour représenter schématiquement l’évolution dans le temps des processus, on
recourt habituellement à des diagrammes de Gantt.
A.Sghaier 42
A.Sghaier 43
A.Sghaier 44
A.Sghaier 45
A.Sghaier 46
A.Sghaier 47
A.Sghaier 48
A.Sghaier 49
A.Sghaier 50
A.Sghaier 51
A.Sghaier 52

Contenu connexe

Similaire à coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf

Cours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfCours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfMedBechir
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitationThắng Thao
 
chapitre 01.ppt
chapitre 01.pptchapitre 01.ppt
chapitre 01.pptSamoSamo18
 
Ft administration de réseau
Ft administration de réseauFt administration de réseau
Ft administration de réseauadifopi
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: PrincipeSouhaib El
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurssarah Benmerzouk
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdfC00LiMoUn
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linuxIdriss22
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008guest9dd59e
 
Application Informatique
Application InformatiqueApplication Informatique
Application InformatiqueAli Raad
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitationneoh777
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitationneoh777
 

Similaire à coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf (20)

Cours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfCours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdf
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
 
chapitre0.pptx
chapitre0.pptxchapitre0.pptx
chapitre0.pptx
 
Atelier 208
Atelier 208Atelier 208
Atelier 208
 
chapitre 01.ppt
chapitre 01.pptchapitre 01.ppt
chapitre 01.ppt
 
Ft administration de réseau
Ft administration de réseauFt administration de réseau
Ft administration de réseau
 
Grid computing
Grid computingGrid computing
Grid computing
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
Système d’exploitation: Principe
Système d’exploitation: PrincipeSystème d’exploitation: Principe
Système d’exploitation: Principe
 
Cours se chap3_2
Cours se chap3_2Cours se chap3_2
Cours se chap3_2
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 
Cour1
Cour1Cour1
Cour1
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linux
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
 
Application Informatique
Application InformatiqueApplication Informatique
Application Informatique
 
Cours se chap3
Cours se chap3Cours se chap3
Cours se chap3
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitation
 
Système d'exploitation
Système d'exploitationSystème d'exploitation
Système d'exploitation
 

Plus de RihabBENLAMINE

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfRihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfRihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdfRihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxRihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfRihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdfRihabBENLAMINE
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 

Plus de RihabBENLAMINE (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 

coursystemedexploitaionsghaieranouar-150103105816-conversion-gate01.pdf

  • 7. Matériel Matériel : Circuits électroniques / circuits logiques. On dira que c'est au niveau : Circuits électroniques / circuits logiques. On dira que c'est au niveau du matériel que se trouve la couche d'abstraction la plus basse du matériel que se trouve la couche d'abstraction la plus basse Système d'exploitation Système d'exploitation : Élément le plus déterminant d'un système informatique : Élément le plus déterminant d'un système informatique Applications Applications : Traitement de texte, gestionnaire de bases de données, tableurs : Traitement de texte, gestionnaire de bases de données, tableurs etc. Compilateurs, debugger etc. Compilateurs, debugger Utilitaires Utilitaires : Services de base aux utilisateurs. Ex. interface graphique, : Services de base aux utilisateurs. Ex. interface graphique, interpréteur de commandes, gestionnaires divers, impriment, cherchent le interpréteur de commandes, gestionnaires divers, impriment, cherchent le courrier etc. courrier etc. Utilisateurs Utilisateurs : C'est à eux que le système informatique est destiné. Les : C'est à eux que le système informatique est destiné. Les utilisateurs interagissent avec la couche de plus haut niveau. utilisateurs interagissent avec la couche de plus haut niveau. 7 A.Sghaier
  • 9. Un SE est l’ensemble des pgms qui se chargent de résoudre les pbms lies à l’exploitation Un SE est l’ensemble des pgms qui se chargent de résoudre les pbms lies à l’exploitation de l’ordinateur. On distingue 2 principales taches bien distinctes à un SE : de l’ordinateur. On distingue 2 principales taches bien distinctes à un SE :  Gérer les ressources physiques de l’ordinateur (processeur, mémoire, périphérique, etc) Gérer les ressources physiques de l’ordinateur (processeur, mémoire, périphérique, etc)  Gérer l’interaction avec les utilisateurs Gérer l’interaction avec les utilisateurs A.Sghaier 9
  • 10. Fonctions d’un système d’exploitation général • − Gestion du processeur : allocation du processeur aux différents programmes. • − Gestion des objets externes : principalement les fichiers. • − Gestion des entrées-sorties : accès aux périphériques, via les pilotes. • − Gestion de la mémoire : segmentation et pagination. • − Gestion de la concurrence : synchronisation pour l'accès à des ressources partagées. • − Gestion de la protection : respect des droits d'accès aux ressources. • − Gestion des accès au réseau : échange de données entre des machines distantes 10 A.Sghaier
  • 12. Inconvénients − Temps perdu dans l’attente pour lancer l’exécution d’un programme. − Vitesse d’exécution de la machine limitée par la rapidité de l’opérateur qui appuie sur les boutons et alimente les périphériques. − Pas de différences entre : concepteurs ; constructeurs ; programmeurs ; utilisateurs ;mainteneurs. A.Sghaier 12
  • 14. Inconvénients − Perte de temps due à l’occupation du processeur durant les opérations d’E/S. (En effet, le processeur restait trop inactif, car la vitesse des périphériques mécaniques était plus lente que celle des dispositifs électroniques). − Les tâches inachevées sont abandonnées. 14 A.Sghaier
  • 15. En effet, le processeur est alloué à un job, et dès que celui-ci effectue une demande d’E/S, le processeur est alloué à un autre job, éliminant ainsi les temps d’attente de l’unité de traitement chargé des E/S, appelé canal d’E/S. 15 A.Sghaier
  • 16. Exemple: Soient les deux programmes A et B suivants : 16 A.Sghaier
  • 18. L’objectif est d’offrir aux usagers une interaction directe avec la machine par l’intermédiaire de terminaux de conversation, et de leur allouer le processeur successivement durant un quantum de temps, chaque utilisateur aura l’impression de disposer de la machine à lui tout seul. Il peut aussi contrôler le job qu’il a soumis directement à partir du terminal (corriger les erreurs, recompiler, resoumettre le job, …). Temps partagé (Time Sharing) Parmi les premiers systèmes à temps partagé, nous citons : CTSS (Compatible Time Sharing System), MULTICS (MULTiplexed Information and Computing Service), UNIX, MINIX, LINUX. En fait, la plupart des systèmes d’aujourd’hui sont en temps partagé. 18 A.Sghaier
  • 22. 1-Le noyau (en anglais Kernel) * Réside en mémoire (fréquence élevée des interventions) *Petite taille *Gestion du processeur: reposant sur un allocateur ( dispatcher ) responsable de la répartition du temps processeur entre les différents processus, et un planificateur (scheduler ) déterminant les processus à activer, en fonction du contexte. * Gestion des interruptions : les interruptions sont des signaux envoyés par le matériel, à destination du logiciel, pour signaler un évènement. *Gestion du multi- tâches: simuler la simultanéité des processus coopératifs (i. e. les processus devant se synchroniser pour échanger des données) et gérer les accès concurrents aux ressources (fichiers, imprimantes, ...) 2-L'interpréteur de commandes (en anglais Shell) C'est l'interface entre l'utilisateur et le système d'exploitation. Il permet à l'utilisateur de communiquer avec le système d'exploitation par l'intermédiaire d'un langage de commandes 3-Le système de fichiers (en anglais filesystem) C'est une structure de données permettant de stocker des informations et de les organiser dans des fichiers. Il fournit à l'utilisateur une vue abstraite des données enregistrées sous formes d'entités virtuelles. le SE donne au fichiers la possibilité (les gérer, cad les créer, les détruire, les écrire (modifier) et les lires, EXP: Fat16, Fat12 de MSDOS, NTFS (NewTechnology File System) de Windows . HFS (Hierarchical Filesystem)de Macintosh, ext2-fs Extended Filesystem de linux, etc A.Sghaier 22
  • 23. 4-Les Entrées/ Sorties: Il s’agit de permettre le dialogue (échange d’informations) avec l’extérieur du système. Caractéristiques d’un SE : Caractéristiques d’un SE : A.Sghaier 23
  • 24. Juste une idée sur les processus A.Sghaier 24
  • 30. A.Sghaier 30 Cheminement d’un Programme dans un Système Un processus est un programme en cours d'exécution. Les instructions qui constituent un programme peuvent être classifiées en catégories dont les principales sont: - Les Instructions d'affectations. - Les instructions arithmétiques : telles que les additions, soustractions, divisions ou multiplication. - Les instructions logiques : opérations ET, OU, NON, NON exclusif, etc. - Les Instructions de branchement (conditionnelle et inconditionnelle) - Les Instructions d'entrées/sorties : une instruction d'entrée ou read peut correspondre par exemple à la lecture du disque. Une instruction de sortie ou write peut correspondre par exemple à l'affichage sur l'écran.
  • 31. A.Sghaier 31 La gestion des processus La gestion des processus Un processus est un programme en cours d'exécution. Un programme est une suite d'instructions ; c'est du texte, un code statique. Le processus est un concept dynamique, il représente le déroulement d'une tâche faisant partie d'une application ou un programme système quelconque. La notion de processus est essentielle pour décrire le fonctionnement des systèmes multiprogrammés aussi appelés multitâches ou plus simplement multiprocessus. Parmi les avantages de la multiprogrammation, citons : Le fractionnement des applications qui peut en simplifier le développement, l'avantage pour l'utilisateur de savoir faire tourner plusieurs applications simultanément et surtout l'optimalisation de l'utilisation du (ou des) processeurs(s)
  • 32. A.Sghaier 32 Il existe des appels système permettant de créer un processus, charger son contexte et lancer son exécution (fork, exec sous Unix). - Un processus peut (père) créer d’autres processus (fils) qui hérite les descripteurs de son père. Ce dernier à son tour crée d’autres processus. Un processus a un seul père mais peut avoir plusieurs fils - Les processus peuvent se terminer ou ils peuvent être éliminés par d’autres processus (la primitive kill). A la destruction d’un processus, on libère toutes les ressources qu’il avait. - Dans certains cas, la destruction d’un processus entraîne l’élimination de ces descendants ; cette opération n’affecte pas les processus qui peuvent continuer indépendamment de leur père (processus orphelins).
  • 33. A.Sghaier 33 Les états d'un processus Les états d'un processus Dans les systèmes, un programme ne quitte pas l’unité centrale avant de terminer son exécution. Pendant cette période, il dispose de toutes les ressources de la machine. Par contre, ce n’est pas le cas dans les systèmes multiprogrammés et temps partagé, un processus peut se trouver dans l’un des états suivants : 1‐ Elu : (en cours d’exécution) : si le processus est en cours d'exécution 2- Bloqué : attente qu’un événement se produit ou bien ressource pour pouvoir continuer 3- Prêt : si le processus dispose de toutes les ressources nécessaires à son exécution à l'exception du processeur Sémantique des Transitions (1) : Allocation du processeur au processus sélectionné (2) : Réquisition du processeur après expiration de la tranche du temps par exemple soit parce qu'un processus de plus haute priorité réquisitionne le processeur. (3) : Blocage du processus élu dans l’attente d’un événement (E/S ou autre) (4) : Réveil du processus bloqué après disponibilité de l’événement bloquant (Fin E/S, etc…)
  • 34. A.Sghaier 34 Cycle d’exécution d’un processus L’exécution d’un processus peut être vue comme une séquence de phases. Chaque phase comprend deux cycles : un cycle d’exécution (ou calcul) réalisé par le processeur et un cycle d’entrée sortie assuré par le canal. La dernière phase de tout processus doit comprendre obligatoirement un seul cycle dans lequel sera exécuté la requête informant le système d’exploitation sur la terminaison du processus. Cet appel permet au système de restituer les ressources utilisées par le processus qui vient de terminer.
  • 35. A.Sghaier 35 Bloc de contrôle de processus Pour mettre en oeuvre le modèle des processus, le système dispose d’une table appelé bloc de contrôle de processus (PCB Process Control Bloc) dont chaque entrée correspond à un processus. Chaque ligne contient des informations sur le processus : - L’état du processus : Il peut avoir l’une des valeurs suivantes : Prêt, en exécution ou en attente. - Le compteur d’instructions : Le compteur indique l’adresse de la prochaine instruction à exécuter par le processus. - Les registres du processeur : Les registres varient en nombre et en type en fonction de l’architecture de l’ordinateur. Ils englobent des accumulateurs, des registres d’index, des pointeurs de pile et des registres à usage général. Ces informations doivent être sauvegardées avec le compteur d’instructions quand il se produit une interruption, afin de permettre au processus de poursuivre correctement son exécution après la reprise. - Informations sur le scheduling (ordonnanceur) du processeur : Ces informations comprennent la priorité du processus, les pointeurs sur les files d’attente . - Informations sur la gestion de la mémoire : Ces informations peuvent inclure les valeurs de registres de base et limites, les tables de pages ou les tables de segments selon le système de mémoire utilisé. - Informations sur l’état des E/S : Les fichiers ouverts, la liste des périphériques d’E/S.
  • 37. A.Sghaier 37 Le changement d'état d'un processus peut être provoqué par : - un autre processus (qui lui a envoyé un signal, par exemple) - le processus lui-même (appel à une fonction d'entrée-sortie bloquante,...) - une interruption (fin de quantum, terminaison d'entrée-sortie, ...) La sortie de l’état actif pour passer à l’état prêt se produit dans le cas des ordonnancements préemptifs lorsqu’un processus plus prioritaire que le processus actif courant devient prêt. D’une manière générale : - le passage de l’état actif à l’état prêt est provoqué par le système en fonction de sa politique d’ordonnancement (fin de quantum, préemption du processus actif si un processus plus prioritaire devient prêt dans le cas des politiques préemptives, …), - le passage de l’état actif à l’état bloqué est provoqué par le programme exécuté par le processus. On peut citer : E/S bloquante du type scanf, opérations sleep ou wait sous UNIX). Le changement d'état d'un processus
  • 38. A.Sghaier 38 Ordonnancement Dans un système multitâches, le système d'exploitation doit gérer l'allocation du processeur aux processus. On parle d'ordonnancement des processus. Cette tâche est prise en charge par deux routines système en l’occurrence le Dispatcheur et le Scheduleur (Ordonnanceur).
  • 39. A.Sghaier 39 1) Le Dispatcheur :Il s’occupe de l’allocation du processeur à un processus sélectionné par l’Ordonnanceur du processeur. Une fois allouer, le processeur doit réaliser les tâches suivantes : • Commutation de contexte : sauvegarder le contexte du processus qui doit relâcher le processeur et charger le contexte de celui qui aura le prochain cycle processeur • Commutation du mode d’exécution : basculer du mode Maître (mode d’exécution du dispatcheur) en mode utilisateur (mode d’exécution du processeur utilisateur) • Branchement : se brancher au bon emplacement dans le processus utilisateur pour le faire démarrer. 2 )L’Ordonnanceur Certains systèmes d’exploitation utilisent une technique d’ordonnancement à deux niveaux qui intègre deux types d’Ordonnanceurs : Ordonnanceur du processeur : c’est un Ordonnanceur court terme opère sur une ensemble du processus présents en mémoire. Il s’occupe de la sélection du processus qui aura le prochain cycle processeur, à partir de la file d’attente des processus prêts. Ordonnanceur de travail : ou Ordonnanceur long terme, utilisé en cas d’insuffisance de mémoire, son rôle est de sélectionné le sous ensemble de processus stockés sur un disque et qui vont être chargés en mémoire. En suite, il retire périodiquement de la mémoire lesprocessus qui sont restés assez longtemps et les remplace par des processus qui sont sur le disque depuis trop de temps.
  • 40. A.Sghaier 40 Nous distinguons plusieurs algorithmes d’ordonnancement, les plus répandus sont • Ordonnancement Premier Arrivé Premier Servi • Ordonnancement du plus court d’abord • Ordonnancement circulaire : Tourniquet • Ordonnancement circulaire à plusieurs niveaux • Ordonnancement avec priorité 3) Algorithmes d’ordonnancement L'ordonnancement est la partie du système d'exploitation qui détermine dans quel ordre les processus prêts à s'exécuter (présents dans la file des prêts) seront élus Ses objectifs sont : - Assurer le plein usage du CPU (agir en sorte qu’il soit le moins souvent possible inactifs); - Réduire le temps d'attente des utilisateurs. - Assurer l'équité entre les utilisateurs. Un algorithme d’ordonnancement permet d’optimiser une des grandeurs temporelles suivantes
  • 41. A.Sghaier 41 Remarque :Pour représenter schématiquement l’évolution dans le temps des processus, on recourt habituellement à des diagrammes de Gantt.