1A.Sghaier
2A.Sghaier
3A.Sghaier
4A.Sghaier
5A.Sghaier
6A.Sghaier
MatérielMatériel : Circuits électroniques / circuits logiques. On dira que c'est au niveau: Circuits électroniques / circu...
A.Sghaier 8
Un SE est l’ensemble des pgms qui se chargent de résoudre les pbms lies à l’exploitationUn SE est l’ensemble des pgms qui ...
Fonctions d’un système d’exploitation
général
• − Gestion du processeur : allocation du processeur aux
différents programm...
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 lim...
13A.Sghaier
Inconvénients
− Perte de temps due à l’occupation du processeur durant les opérations d’E/S. (En
effet, le processeur rest...
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...
Exemple: Soient les deux programmes A et B suivants :
16A.Sghaier
17A.Sghaier
L’objectif est d’offrir aux usagers une interaction directe avec la machine
par l’intermédiaire de terminaux de conversati...
19A.Sghaier
20A.Sghaier
21A.Sghaier
1-Le noyau (en anglais Kernel)
* Réside en mémoire (fréquence élevée des interventions)
*Petite taille
*Gestion du process...
4-Les Entrées/ Sorties: Il s’agit de permettre le dialogue (échange d’informations)
avec l’extérieur du système.
Caractéri...
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 instructio...
A.Sghaier 31
La gestion des processusLa gestion des processus
Un processus est un programme en cours d'exécution.
Un pro...
A.Sghaier 32
Il existe des appels système permettant de créer un processus, charger son contexte et
lancer son exécution (...
A.Sghaier 33
Les états d'un processusLes états d'un processus
Dans les systèmes, un programme ne quitte pas l’unité centra...
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. Chaqu...
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 a...
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...
A.Sghaier 38
Ordonnancement
Dans un système multitâches, le système d'exploitation doit gérer l'allocation du
processeur a...
A.Sghaier 39
1) Le Dispatcheur :Il s’occupe de l’allocation du processeur à un processus sélectionné
par l’Ordonnanceur du...
A.Sghaier 40
Nous distinguons plusieurs algorithmes d’ordonnancement, les plus répandus sont
• Ordonnancement Premier Arri...
A.Sghaier 41
Remarque :Pour représenter schématiquement l’évolution dans le temps des processus, on
recourt habituellement...
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
Prochain SlideShare
Chargement dans…5
×

Cour systeme d'exploitation sghaier anouar

1 014 vues

Publié le

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 014
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
69
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cour systeme d'exploitation sghaier anouar

  1. 1. 1A.Sghaier
  2. 2. 2A.Sghaier
  3. 3. 3A.Sghaier
  4. 4. 4A.Sghaier
  5. 5. 5A.Sghaier
  6. 6. 6A.Sghaier
  7. 7. MatérielMaté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 bassedu matériel que se trouve la couche d'abstraction la plus basse Système d'exploitationSystè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 ApplicationsApplications : Traitement de texte, gestionnaire de bases de données, tableurs: Traitement de texte, gestionnaire de bases de données, tableurs etc. Compilateurs, debuggeretc. Compilateurs, debugger UtilitairesUtilitaires : Services de base aux utilisateurs. Ex. interface graphique,: Services de base aux utilisateurs. Ex. interface graphique, interpréteur de commandes, gestionnaires divers, impriment, cherchent leinterpréteur de commandes, gestionnaires divers, impriment, cherchent le courrier etc.courrier etc. UtilisateursUtilisateurs : 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. 7A.Sghaier
  8. 8. A.Sghaier 8
  9. 9. Un SE est l’ensemble des pgms qui se chargent de résoudre les pbms lies à l’exploitationUn 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 utilisateursGérer l’interaction avec les utilisateurs A.Sghaier 9
  10. 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 10A.Sghaier
  11. 11. A.Sghaier 11
  12. 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
  13. 13. 13A.Sghaier
  14. 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. 14A.Sghaier
  15. 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. 15A.Sghaier
  16. 16. Exemple: Soient les deux programmes A et B suivants : 16A.Sghaier
  17. 17. 17A.Sghaier
  18. 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é. 18A.Sghaier
  19. 19. 19A.Sghaier
  20. 20. 20A.Sghaier
  21. 21. 21A.Sghaier
  22. 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. 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. 24. Juste une idée sur les processus A.Sghaier 24
  25. 25. A.Sghaier 25
  26. 26. A.Sghaier 26
  27. 27. A.Sghaier 27
  28. 28. A.Sghaier 28
  29. 29. A.Sghaier 29
  30. 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. 31. A.Sghaier 31 La gestion des processusLa 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. 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. 33. A.Sghaier 33 Les états d'un processusLes é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. 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. 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.
  36. 36. A.Sghaier 36
  37. 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. 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. 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. 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. 41. A.Sghaier 41 Remarque :Pour représenter schématiquement l’évolution dans le temps des processus, on recourt habituellement à des diagrammes de Gantt.
  42. 42. A.Sghaier 42
  43. 43. A.Sghaier 43
  44. 44. A.Sghaier 44
  45. 45. A.Sghaier 45
  46. 46. A.Sghaier 46
  47. 47. A.Sghaier 47
  48. 48. A.Sghaier 48
  49. 49. A.Sghaier 49
  50. 50. A.Sghaier 50
  51. 51. A.Sghaier 51
  52. 52. A.Sghaier 52

×