1 / 118

Initiation aux technologies de l’information

Initiation aux technologies de l’information. Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex. Systèmes d’exploitation. Pourquoi ?.

leane
Download Presentation

Initiation aux technologies de l’information

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Initiation aux technologies de l’information Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex

  2. Systèmes d’exploitation

  3. Pourquoi ? • Qui est censé travailler sur un ordinateur : Albert Einstein ? Stevee avec bouriquet ? • Comment rendre le système d’exploitation accessible pour M. Quelconque ? • Comment rendre la vie facile pour les programmeurs dans le système ? • Est-ce que le système devrait permettre de rajouter/enlever des composants ? • Quel est le degré de communication du système avec d’autre déjà existants ? Quel est son degré d’intégration dans un système plus grand ?

  4. Sources • http://www.univ-rouen.fr/LIFAR/Membres/caron/Pascal-Caron_files/ENS/LMD/se.html • A. TANENBAUM, Systèmes d’exploitation, Prentice Hall, 1994 • J.-M. RIFFLET, La programmation sous Unix. 3ème éd., Ediscience, 1993 • A. SILBERSCHATZ et P.-B. GALVIN, Principes des syst`emes d’exploitation, Addison- Wesley, 1994

  5. Histoire

  6. Première génération • Des énormes machines pour des tâches pointues • Concepteurs, programmeurs, opérateurs et responsable d’entretien formaient une seule et même équipe, souvent les compétences s’entremêlaient • Programmation = construction d’un tableau de connexion ! • Ordinateurs réservaient à une seule tâche à la fois • Mode d’opération : • L’opérateur réserve la machine sur le planning • L’opérateur prend sa table de connexion et la branche sur la machine • L’opérateur croise les doigts pour qu’aucun tube cathodique ne grille pas • L’opérateur récupère les résultats sur papier • Grande optimisation : lecteur de carte perforées

  7. Seconde génération • Ordinateurs de plus en plus fiable grâce aux transistors et au principe de l’unité centrale • Distinction entre les précédents métiers • Programmeur écrit des programmes sur papier, ensuite fait perforer ses carte par une machine dédiée • Programmeur donne sa pile de cartes perforées à l’opérateur puis se prend une grande pause café dans l’attente des résultats sur papier • L’opérateur rajoute des « piles génériques » utilisées par les programmeurs (bibliothèques de calcul etc.) • Goulot d’étranglement : • Temps d’unité centrale perdu si l’opérateur doit rechercher les bonnes « piles » (d’autres cartes perforées) • Temps perdu par le programmeur car s’il y a la moindre erreur même petite, il doit tout recommencer (une journée de perdu)

  8. Progrès des architectures • Partage des tâches au niveau matériel : • Machines dédiées à la lecture de carte perforées sur bande magnétique • Machines plus performantes en calculs numérique avec E/S sur bande magnétique • Traitement par lots : déconnexion du temps d’E/S du temps de programmation • E/S en différées : imprimantes déconnectées de l’ordinateur (périphérique externe) • Problèmes d’optimisations : comment placer plusieurs tâches sur une bande afin de sorte que les temps d’attentes moyen soient minimisés

  9. Troisième génération • Circuit intégrés • Intégration de systèmes dédiés dans une seule architecture • On commence à trouver des systèmes compatibles, pouvant utiliser les mêmes logiciels, différenciés seulement par les capacités matérielles (IBM…) : • Portabilité • Facilité de développement (équipe unique de concepteurs du SE, OS « operating system » en anglais) • Faiblesse, les SE sont de grosses « usines à gaz » comprenant des millions de lignes de code avec donc pleins de bogues… • Début des systèmes UNIX…

  10. Progrès de cette génération • Multi-tâches/utilisateurs : partage de la mémoire entre plusieurs tâches et utilisateurs : • problèmes de protection d’accès mémoire • partage du temps entre les différents tâches et utilisateurs • Spooling = opérations d’E/S exécuté en ligne • Les racines des SE actuels se trouvent dans les SE développés pour les systèmes de 3ème génération

  11. Quatrième génération • Progrès majeur, les GUI « Graphical user interface » • possible grâce au nouveau faible coût des terminaux (moniteurs) graphiques • plus grande facilité d’utilisation • mais pas de concepts vraiment nouveaux… • Windows, Mac OS, OS/2 etc.

  12. Concepts fondamentaux

  13. De quoi parle t’on ? • Ordinateur : Machine permettant de stocker des informations et d’effectuer des calculs (beaucoup plus rapide que l’humain) • Cet ordinateur regroupe un certain nombre de composants que nous appellerons matériel(hardware) • Les logicielssont des séquences d’instructions que l’on appelle souvent programmes. Un programmeest l’implantation d’un ensemble de méthodes de résolution de problèmes dans un langage compris par l’ordinateur • La méthode de résolution est ce que l’on appelle l’algorithme • Le système d’exploitation d’un ordinateur est un programme servant d’interface entre le matériel et les utilisateurs. Son but est de rendre le maniement de l’ordinateur facile et de proposer une utilisation efficace de celui-ci

  14. Objectifs essentiels (1) Utilisateurs Système d’exploitation Machine virtuelle Ressources • On peut faire une décomposition de l’ordinateur selon les 4 grandes classes suivantes : • Les utilisateurs (et leurs programmes), • Les programmes d’application • Le système d’exploitation, • Le matériel

  15. Objectifs essentiels (2) • Le système d’exploitation(ou OS, pour « Operating System ») est chargé d’assurer la liaison entre : • Les ressources matérielles via les pilotes (« drivers »); c’est une application qui sert d’interface entre l’SE et le matériel (carte réseau, etc.) ; sans pilote, chaque application devrait apprendre à parler à tous les matériels • L’utilisateur • Les applications • Le SE permet ainsi à l’utilisateur de s’affranchir de la complexité du matériel en communiquant à travers une interface homme machine(IHM, GUI en anglais) • Les buts sont donc : • masquer le matériel • rendre la machine plus « friendly » • Fournir des méthodes standards d’accès aux ressources mémoires/calculs • Permette un usage efficace des ressources indépendamment du programme à exécuter • Permettre un usage honnête aux utilisateurs honnêtes (protection fichiers/programmes, comptes utilisateurs, etc.)

  16. En résumé Utilisateurs Programmes Interface utilisateur Système d’exploitation Pilotes (Drivers) Ordinateur / Matériel

  17. Aspects d’un SE • Illusionniste : machine virtuelle • Gestionnaire par politique de gestion des ressources • Impérialiste : le plus général possible et on doit quasiment toujours passer par lui • Protectionniste : utilisateurs entre-eux, utilisateurs extérieurs (pirates), systèmes des utilisateurs • Contradictoire : général, simple et efficace = compromis à faire

  18. Exemple • Un système informatique complexe peut être composé d’une multitude de périphériques. • Imaginez ce qui se passerait si trois programmes s’exécutant sur la même machine tentaient d’imprimer leur résultat simultanément: • Aurait-on une ligne provenant de chacun des programmes ? un caractère ? On voit ici que le rôle du système d’exploitation dans la répartition des périphériques aux différents utilisateurs est essentiel • C’est donc le SE qui stocke les données allant vers l’imprimante et qui s’occupe de gérer une file d’attente.

  19. Principaux composants • Le SE est essentiellement composé : • d’un gestionnaire des processus (ordonnanceur) • gestionnaire de la mémoire vive • simulateur d’une grande mémoire vive (« swapper ») • système de fichier • droit d’accés • sauvegarde • classement (répertoires, fichiers, recherches logiques) • Le tout est gérer par un chef d’orchestre appelé noyau (« kernel ») et qui gère aussi • les périphériques • interruptions systèmes • etc. • en gros, tout ce qui se passe dans la machine…

  20. L’interface graphique

  21. Qu’est-ce ? • L’interface graphique d’un SE est la partie visible de l’iceberg • C’est ce que l’utilisateur voit. • Bien « comprendre » la machinerie que se cache dernière l’interface permet de mieux l’utiliser • L’interface est un environnement de travail graphique permettant d'effectuer les diverses tâches dévolues à un micro-ordinateur • Et ce, de la manière la plus conviviale possible • Parfois au dépend de l’efficacité d’où des compromis et de longue études : • les utilisateurs lambda préfère la facilité à l’efficacité • les informaticiens le contraire • les pro non informaticiens (les vrais cibles de l’industrie) oscillent entre les 2 • Un grand nombre de principes (souris, fenêtre, icônes, menu, menu déroulant, etc.) n’ont pas changé depuis longtemps…

  22. Et pour nous ? • Dans notre cas, nous allons regarder et étudier Windows XP • Pourquoi ? • Alors très répandu • Celui qui est installé dans les salles machines • Seul Windows qu’à l’enseignant (en plus de Linux) • Facile d’emploie mais pas des plus efficace • GNU/Linux, en général, plus efficace mais plus compliqué • Mac OS X, les 2 mais plus cher et bcp moins répandue

  23. Windows (1) fenêtre icône de dossier icône de raccourci menu démarrer barre des tâches

  24. Animation (double clic dessus)

  25. Windows (2) • icônes standards : dossier, fichier (document, programme...), raccourci • icônes spéciales : poste de travail, corbeille • Le menu Démarrer donne notamment l'accès : • aux programmes du disque dur, dont l'explorateur Windows (qui procure une interface pour gérer les dossiers) • aux paramètres (dossier Panneau de configuration et dossier Imprimantes) • à la fonction Rechercher, qui permet de retrouver un fichier à partir d'une partie de son nom • à l'aide et l'option Arrêter qui propose alors d'arrêter ou de redémarrer • Le panneau de configuration ; il contient, parmi d'autres, les éléments suivants : • Affichage, pour gérer l'écran : fond d'écran, taille et nombre de couleurs, économiseur d'écran (écran de veille) • Ajout de nouveau matériel, pour installer un périphérique • Ajout/suppression de programmes, pour désinstaller un programme, ajouter des composants de Windows ou créer une disquette de démarrage • Système, pour gérer les périphériques et les performances du système

  26. Exemple fenêtre : le poste de travail agrandissement/réduction barre des menus mise en barre des tâches fermeture icône sélectionnée

  27. Animation (double clic dessus)

  28. Raccourcies clavier • Son contenu dépend de l'application utilisée (Windows, Word, ...). • Les éléments standards : • Menu Fichier • Nouveau Ctrl+N nouveau fichier / dossier • Ouvrir Ctrl+O ouvrir un fichier • Fermer • Enregistrer Ctrl+S enregistrer un document • Enregistrer sous... enregistrer ailleurs • Quitter Ctrl+Q quitter l'application en cours • Menu Edition • Annuler Ctrl+Z annule la dernière opération • Couper Ctrl+X supprime et mémorise • Copier Ctrl+C copie et mémorise • Coller Ctrl+V insère l'élément mémorisé

  29. Presse papier (ou copier/coller) • Zone commune à toutes les applications fonctionnant sous Windows et même à Windows lui même (fichier dans l’explorateur etc.) • Emplacement des éléments copiés Presse papier Document word Document excel

  30. Presse papier (ou copier/coller) Presse papier Document word Document excel copier

  31. Presse papier (ou copier/coller) Presse papier Document word Document excel coller

  32. Animation (double clic dessus)

  33. Bouton droit de la souris • Il ouvre un menu déroulant (menu contextuel) qui dépend de l'objet pointé par la souris. • Exemple d’un disque :

  34. Boîte de dialogue • Elles permettent de spécifier les paramètres de l'action en cours. Elles apparaissent généralement quand on choisit une option d'un menu dont le nom se termine par des pointillés. • Exemple (menu Démarrer option Rechercher... ) : bouton par défaut (appui sur Entrée) zone de saisie menu déroulant

  35. Animation (double clic dessus)

  36. Les menus sous Windows (1) • Le menu « Fichier » permet de créer des nouveaux « projets » (fichiers), de les mettre sur le disque dur, de les reprendre du disque • Il permet d’autres opérations générales, comme quitter l’application

  37. Les menus sous Windows (2) • Le menu édition permet de copier, coller, supprimer des données de la zone de travail • Ces copies peuvent avoir lieu entre applications • On peut aussi « annuler » la ou les dernières manipulations effectuées

  38. Divers • La corbeille • Elle permet de supprimer un fichier. Il suffit de déplacer (cliquer / glisser) l'icône d'un fichier et de le placer sur la corbeille (qui doit être grisée). • On peut aussi supprimer un fichier par le bouton droit de la souris (option supprimer). • La corbeille est un dossier qui contient tous les fichiers supprimés, lesquels peuvent être récupérés en cas d'erreur. Quand la corbeille occupe beaucoup de place sur le disque dur, il faut la vider (clic droit sur l'icône de la corbeille). Les éléments sont alors définitivement supprimés. • La copie et le déplacement d'un fichier ; Plusieurs solutions sont possibles. • utiliser l'Explorateur Windows • utiliser le copier / coller (vs couper / coller qui déplace le fichier puisque supprimer à l’origine) • utiliser l'option envoyer vers (clic droit sur l'élément) • utiliser le cliquer / glisser : on déplace ainsi un ou plusieurs fichiers d'une fenêtre vers l'intérieur d'une autre fenêtre ou alors vers une icône de dossier ou de disque ; • Important : si le dossier d'origine et le dossier destinataire appartiennent au même support magnétique, il y aura déplacement. Dans le cas contraire, il y aura copie (le signe + apparaît). On peut forcer la copie en appuyant sur la touche Ctrl quand on relâche le bouton de la souris.

  39. Les processus et leursordonnancement

  40. Définition • Un processus est un programme en cours d’exécution. C’est-à-dire, un programme à l’état actif. Un processus regroupe • un programme exécutable • sa zone de données • son compteur ordinal (où est-ce que l’on en ai dans la suite d’instruction du programme ?) • ainsi que toutes autres informations nécessaire à l’exécution du programme (pile d’exécution, fichiers ouverts, etc.) • Un seul processus est exécuté à la fois sur un processeur (donc si 2 processeurs, 2 processus en même temps…). • Comme le processeur commute entre les différents processus, on a une impression de parallélisme. Le compteur ordinal permet de garder en mémoire la prochaine instruction à exécuter. • 2 processus peuvent être associés au même programme • Histoire de la confiture de « maman »

  41. Cycle de vie d’un processus • Chaque processus peut se trouver dans un des états suivants : • Nouveau ; le processus est en cours de création • Élu ; le processus est en cours d’exécution sur le processeur • Éligible(ou prêt) ; le processus attend d’être sélectionné • En attente(ou bloqué) ; le processus attend qu’un évènement extérieur se produise • Terminé ; le processus a fini son exécution PECA

  42. Ordonnanceur (1) • Le SE comporte donc un ordonnanceur « scheduller » qui a pour but de sélectionner les processus élus • Cette ordonnanceur comporte donc ; • une file d’attente des processus • table des processus contenant des informations sur leur état (compteur ordinal, registres UC utilisés, priorité du processus, information sur la mémoire et les E/S utilisée • Le rôle majeur de l’ordonnancement est de maximiser l’utilisation des ressources. Un bon algorithme d’ordonnancement doit être capable de : • assurer que chaque processus reçoit sa part du temps processeur • utiliser le temps processeur à 100% (au maximum) • minimiser le temps de réponse des processus interactifs • maximiser le nombre de travaux effectués dans un intervalle de temps.

  43. Ordonnanceur (2) PECA • Pour s’assurer qu’un processus ne prendra pas tout le temps CPU, chaque ordinateur dispose d’une horloge qui génère des interruptions. A chaque interruption de l’horloge le noyau reprend la main et décide si le processus doit continuer ou donner la main (ordonnancement avec réquisition ou préemptive) • Elle s’oppose à la stratégie qui consiste à laisser finir la tâche • L’ordonnancement avec réquisition pose le problème de l’actualisation des données. Supposons un processus P1 en train de mettre à jour des données. Ce processus est interrompu en cours de tâche. Le processus p2 est élu. Ce dernier va lire les données précédentes qui sont cependant dans un état instable. Des mécanismes de synchronisation sont alors nécessaires. • Voyons maintenant différentes méthodes d’ordonnancement

  44. Méthodes d’ordonnancement • « Premier arrivé, premier servi » : le plus simple, un processus rentre dans la file d’attente, et attend que ces prédécesseurs aient tous été exécuté • Exemple : • Temps d’attente moyen = (0 + 24 + 27)/3 = 17ms PECA

  45. Méthodes d’ordonnancement • « Le plus court d’abord » : à chaque fois, le processus ayant un temps de cycle le plus court (temps d’exécution) est traité en premier • Exemple : • Le temps moyen d’attente est cette fois de (0 + 3 + 6)/3 = 2ms. Cet algorithme est optimal, mais cependant il est difficile (impossible même) de pouvoir estimer le temps d’exécution d’un programme PECA

  46. Méthodes d’ordonnancement PECA • Le tourniquet : • Méthode la plus courante • On définit une petite tranche de temps appelée quantum ; chaque processus est donc autorisé à s’exécuter pendant ce quantum puis doit laisser la main à un autre qui s’exécutera un quantum etc. etc. etc. • Le principal problème de ce modèle est de fixer la taille du quantum de temps. Il faut donc trouver un juste équilibre afin d’obtenir à la fois un temps d’attente convenable et une perte de temps processeur raisonnable

  47. Méthodes d’ordonnancement • L’ordonnancement avec priorité : • On définit des priorités aux processus (par exemple, un processus système est sûrement plus important qu’un processus utilisateur) • Un algorithme d’ordonnancement avec des files d’attente multi-niveaux regroupe les processus prêts selon leur priorité. Chaque file d’attente possède son propre algorithme d’ordonnancement. On doit également avoir un algorithme d’ordonnancement entre les files • Chaque file d’attente est absolument prioritaire par rapport à la file immédiatement inférieur. Un processus interactif ne sera élu que lorsque la file des processus système sera vide. Une autre possibilité consiste à assigner des tranches de temps aux files. Chaque file obtient un pourcentage du temps processeur PECA

  48. Méthodes d’ordonnancement PECA • Les files multiples avec déplacement : • L’idée ici est d’allouer un quantum de temps particulier pour les processus de chaque file. On alloue des quanta de temps plus faible aux files les plus prioritaires. • Supposons un ordonnanceur de files multiples à quatre niveaux. Pour qu’un processus de la file 2 puisse s’exécuter, il faut que les files 0 et 1 soient vides. Un processus entrant dans la file 1 provoquera l’interruption d’un processus de la file 2. Un processus rentre dans la file 0, il dispose donc d’un quantum de temps. Si au bout de ce temps son cycle n’est pas terminé (fin du processus, demande d’E/S), il passe à la queue de la file immédiatement inférieure, ainsi de suite. Pour chaque file on utilise un tourniquet. • Cet algorithme est le plus général et donc le plus puissant mais également le plus difficile à mettre en oeuvre. • C’est celui que l’on trouve (avec des amélioration très techniques bien entendu) dans les SE modernes (Linux, Windows etc.)

  49. Méthodes d’ordonnancement Premier arrivé premier servi Le plus court d’abord Priorités PECA Tourniquet

  50. Moralité • Ce qu’il faut retenir : • Un processus au plus par processeur en même temps • Chaque processus est créé, exécuté puis meurt • Un ordonnanceur permet de faire exécuter plusieurs processus « en même temps » (point du vue humain) • Un programme  processus • Parfois, cela sature (beaucoup de « gros » processus) il faut donc attendre que l’ordonnanceur redonne la main au processus désiré • Expérience : sous Windows XP, taper « ctrl-alt-suppr » afin d’afficher l’ordonnanceur, les performances, etc…regarder le « processus inactif ». D’après vous, à quoi sert t’il ?

More Related