La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Structure des Systèmes Informatiques Chapitre 3 Beaucoup de choses dans ce chap. du manuel sont faciles à lire et ne je les discuterai pas en classe.

Présentations similaires


Présentation au sujet: "1 Structure des Systèmes Informatiques Chapitre 3 Beaucoup de choses dans ce chap. du manuel sont faciles à lire et ne je les discuterai pas en classe."— Transcription de la présentation:

1 1 Structure des Systèmes Informatiques Chapitre 3 Beaucoup de choses dans ce chap. du manuel sont faciles à lire et ne je les discuterai pas en classe. Nous reviendrons sur plusieurs de ces concepts. Section 3.8 sera discutée dans les sessions exercices. http://w3.uqo.ca/luigi/

2 Ch.32 Concepts importants du Chapitre 3 n Responsabilités et services dun SE n Le noyau n Appels du système (system calls) n Communication entre processus u Messagerie et mémoire partagée n Structure à couches n Machines virtuelles

3 Ch.33 Gestion de processus et UCT n Un processus=tâche est un programme en exécution u il a besoin de ressources pour exécuter (UCT, mémoire, unités E/S...) n Le SE est responsable pour: u allocation de ressources aux processus u création, terminaison des processus u suspension, reprise des processus u synchronisation, communication entre processus

4 Ch.34 Gestion de mémoire vive (RAM) n Le SE est responsable pour: u savoir quels processus utilisent quelles parties de la mémoire u savoir quels processus en demandent, et combien u allouer la mémoire quand elle devient disponible u libérer la mémoire

5 Ch.35 Services primaires des Systèmes dexploitation n Exécution de programmes: chargement, exécution (load, run) n Opérations E/S n Manipulation fichiers n Communication et synchronisation entre processus n Détection et traitement derreurs

6 Ch.36 Autres services importants n Protection de ressources n Comptabilité, p.ex. pour charger les usagers payants

7 Noyau (kernel) et appels de système Ch.37

8 8 Le noyau ( kernel ) du SE n La partie résidente (toujours en RAM) du SE est appelée Kernel = noyau n Les autres parties sont amenées en RAM au besoin n Kernel contient les fonctionnalités critiques du SE: elles doivent toujours être prêtes à l utilisation u traitement dinterruptions u gestion de UCT u gestion mémoire vive u communication entre processus u etc. n À part ça, quoi exactement mettre dans le kernel est une question pour les concepteurs des SE n La plupart des fonctionnalités discutées dans ce cours sont dans le kernel

9 Ch.39 Appels du système n Linterface entre un processus et le SE u directement disponibles dans un shell UNIX ou dans un command prompt MS-Windows u aussi dans les langages de programmation `bas niveau` (assembleur) u ils sont cachés dans les langages de haut niveau (C, Java...)

10 Ch.310 Appels de systèmes pour interpréter le commandes (Unix, Linux ou MS-Windows) En Unix, le command interpreter (shell) peut démarrer et charger différents processus en mémoire, exécutant des appels de système appropriés (fork, exec). Détails dans sessions exercices.

11 Ch.311 Deux modèles de communication entre processus par appels de système a)transfert de messages entre processus (message passing) - utilisant le service de messagerie offert par le noyau b) à travers mémoire partagée entre processus (shared memory)

12 Ch.312 Messagerie et mémoire partagée n Messagerie: u Les processus doivent établir une connexion entre processus appels de système open connection, accept connection, close connection, read/send message F les processus senvoient des messages utilisant des identificateurs de machine ou de processus préalablement établis n Mémoire partagée u les processus doivent établir des zones de communication entre eux u les processus doivent mutuellement synchroniser leur accès a cette zone F Pour ceci, il font appel au SE (Chap. 7)

13 Ch.313 Programmes système Pas partie du kernel, en augmentent la fonctionnalité. Voir discussion et exemples dans le manuel

14 Ch.314 Partage de responsabilités entre programmes de systèmes et noyau n Cest en partie une décision de conception de SE de décider quelles fonctionnalités doivent être implémentées dans le kernel, et quelles dans les programmes de système. n Dans lévolution des SE il y a eu un transfert de fonctionnalités vers l extérieur de la figure n Dans les SE modernes, les programmes de système sont l`interface entre usager et noyau

15 Structure à couches Ch.315

16 Ch.316 Structure à couches dans les SE modernes couches Un SE est divisé dans un certain nombre de couches, bâties les unes sur les autres u la couche la plus basse est le matériel u la plus élevée est linterface usagers n Les couches supérieures utilisent les fonctionnalités fournies par les niveaux inférieurs

17 Ch.317

18 Ch.318 Structure à couches n opérations créées dans une couche pour les couches extérieures n opérations fournies par une couche, utilisées par la prochaine couche, et cachées aux couches extérieures n opérations d une couche intérieure rendues disponibles à une couche extérieure u à éviter en principe, mais… v. après

19 Ch.319 Lautre possibilité serait la structure réseau n Plus difficile à gérer, à cause des nombreuses interfaces et relations possibles À couchesRéseau

20 Ch.320 Avantages, désavantages de suivre fidèlement une structure en couches n Avantages: u Chaque couche ne doit connaître que les fonctionnalités fournies par la couche immédiatement sous-jacente u Chaque couche ajoute ses propres fonctionnalités u Les erreurs peuvent plus facilement être isolés dans une couche spécifique F Maison construite un étage à la fois… poser létage n seulement quand ln-1 est solide n Désavantages: u Pas efficace car un appel des programmes usager à des ressources du matériel implique autant dappels quil y a des couches intermédiaires n Excellent principe, pas toujours fidèlement suivi u Pour des raisons defficacité

21 Ch.321 Structure de système - Approche simple n MS-DOS (1982 ) - cherchait à obtenir une fonctionnalité maximale avec des ressources limitées u mono-tâche, mono-usager u pas très modularisé F manque de séparation claire entre couches u accès direct aux périphériques (écran, etc.) permis aux programmes d`application F manque de contrôles, vulnerabilité u malheureusement, il fut adapté à des fonctionnalités plus complexes... F Fut la prémière base de Windows et une grande partie de lhistoire de Windows a été un effort de dépasser les limitations de MS-DOS

22 Ch.322 Couches du MS-DOS

23 Ch.323 Structure UNIX LINUX (1970 1991) n Multi-tâches, multi-usagers depuis le début n Le système UNIX initial était aussi préoccupé par les limitation du matériel n Distinction entre: u programmes du système u noyau F tout ce quil y a entre l interface des appels de système et le matériel F fournit dans une seule couche un grand nombre de fonctionnalités système fichiers, ordonnancement UCT, gestion mémoire... n Plus modulaire et protégé que MS-DOS

24 Ch.324 Structure UNIX: trois couches principales noyau

25 Ch.325 Micronoyaux (microkernels) n Dans les premiers SE, aussi UNIX, tout était dans le noyau n Après, un effort fut fait pour laisser dans le noyau UNIX seulement les fonctionnalités absolument nécessaires n Une des fonctionnalités du micronoyau UNIX est la communication par échange de messages u utilisé pour la communication entre programme client et service

26 Machines Virtuelles Ch.326

27 Ch.327 Machines virtuelles: le problème et la solution n Comment permettre de rouler différents SE sur une seule machine physique? n Pas évident, car chaque SE demande accès direct au matériel n SOLUTION: Un programme qui crée une couche qui met à disposition plusieurs machines physiques virtuelles n Chaque machine se comporte comme une machine physique séparée n Sur chacune, nous pouvons rouler un SE différent

28 Ch.328 Machines Virtuelles n Virtuel en informatique dénote quelque chose qui n est pas réel, nest pas du matériel: il est construit par le logiciel sur la base des ressources fournies par le matériel n Une machine virtuelle est une machine créée par des couche de logiciel n Elle peut avoir des caractéristiques identiques à la machine physique du système: u mêmes instructions, etc. n Ou elle peut simuler une autre machine physique u p.ex.pour exécuter Microsoft sur Apple n Plusieurs machines virtuelles peuvent être créées sur une machine physique donnée!

29 Ch.329 (a)Une seule mach. réelle et un seul noyau (b) plus. mach. virtuelles et plus. noyaux

30 Ch.330 Fonctionnement typique n Le système VM laisse exécuter normalement les instructions non privilégiées u Mais les adresses des instructions doivent être modifiées pour les renvoyer à la zone de mémoire de la VM appropriée n Les appels au système sont exécutés par le système VM et les résultats sont passés à la machine virtuelle sur laquelle le processus exécute

31 Ch.331 Avantages n Plusieurs machines virtuelles sont obtenues à partir dune seule machine physique: u Utilisation plus efficace du matériel n Chaque machine virtuelle peut utiliser un SE différent n Utile à fins dexpérimentation: u Un nouveau SE ou une nouvelle application peuvent être développés sur une machine virtuelle sans affecter les autres n Protection complète, car les machines virtuelles sont isolées les unes des autres n Concept fondamental dans linfonuagique, où un grand nombre de machines virtuelles, une ou plus. par usager, peuvent coexister

32 Ch.332 Architecture VMWare: ici le virtualisateur nes pas directement sur le matériel, il est sur Linux

33 Ch.333 Simulateur: un concept un peu différent PC SUN Microsystems MAC OS Simul. Intel Windows Applications MAC Applications Windows Contrairement au cas précédent, les instructions Intel doivent être interprétées une par une dans lenvironnement Apple-MAC

34 Différence entre virtualisateur et simulateur n Un virtualisateur permet de rouler plusieurs SE différents sur une seule machine physique u Mais toutes les SE se basent sur le même matériel n Un simulateur permet de rouler programmes conçus pour matériels différents sur une seule machine physique Ch.334

35 Ch.335 Implémentations n Le concept de VM est très utilisé pour permettre de rouler différents SE sur un autre n P.ex. SUN, MAC, LINUX permettent de rouler Windows sur leur plateforme n Ils doivent fournir à Windows un environnement que Windows reconnaît comme son environnement matériel usuel

36 Ch.336 Concepts importants du Chapitre 3 n Responsabilités et services dun SE n Le noyau n Appels du système (system calls) n Communication entre processus u Messagerie et mémoire partagée n Structure à couches n Machines virtuelles

37 Ch.337 Par rapport au manuel… n Étudier sections 3.1 jusquà 3.7. n La section 3.8 na pas été discutée en classe mais elle contient des concepts importants concernant Java donc cest une excellente idée de la lire n Les sections 3.9, 3.10, 3.11 ne sont pas sujet dexamen cependant il est utile de les lire.

38 Ch.338 Structure à couches dans le système THE (1968) n La structure à couches fut inventée dans le système THE (E.W. Dijkstra) qui avait les couches suivantes: programmes usagers gestion E/S pilotage console opérateur gestion mémoire et tampons gestion UCT matériel Interface usager

39 Différentes visions du nom: UNIX n Originairement, UNIX était un SE spécifique n Il est devenu plus tard un nom pour une famille de SE ayant la structure mentionnée avant dans ce chapitre n Parfois, le nom UNIX est compris comme une simple interface: u Sont UNIX les systèmes qui fournissent les instructions shell et API de lUNIX u La structure interne du système pourrait être très différente (cest le cas dans QNX) Ch.339

40 POSIX n POSIX est le nom d'une famille de standards définie depuis 1988 par IEEE. u Résultat d'un projet de standardisation des API des logiciels destinés à fonctionner sur des variantes du systèmes dexploitation UNIX. n POSIX = Portable Operating System Interface, u X exprime l'héritage UNIX de l'Interface de programmation n Essentiellement POSIX a cherché à normaliser linterface typique des systèmes UNIX u Instructions shell, API Ch.340

41 QNX: Un succès dans notre région n QNX est un SE pour les applications temps-réel et les système embarqués u Il est essentiellement Unix u Offre linterface POSIX n Développé dans la région (à Kanata) à partir de 1980 n A été utilisé dans un grand nombre dapplications temps-réel et embarquées, par un grand nombre de compagnies n La compagnie a été achetée par Research in Motion (RIM) qui utilise QNX dans ses produits u Playbook, BlackBerry, etc Ch.341


Télécharger ppt "1 Structure des Systèmes Informatiques Chapitre 3 Beaucoup de choses dans ce chap. du manuel sont faciles à lire et ne je les discuterai pas en classe."

Présentations similaires


Annonces Google