Structure des Systèmes Informatiques

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
PC / Traitement numérique / Contrôle Environnement logiciel
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Module 5 : Implémentation de l'impression
Types des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Chapitre I : Systèmes d’exploitation
Chapitre 3: Système d’exploitation
Présentation de l’Architecture Windows NT
PLAN du COURS Introduction Structure des Systèmes Informatiques
Gestion des IMPRIMANTES
Introduction aux Systèmes d’Exploitation
Architecture de machines Principes généraux
Systèmes d’exploitation
SECURITE DU SYSTEME D’INFORMATION (SSI)
Module 1 : Préparation de l'administration d'un serveur
Les Systèmes d’Exploitation
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Réalisée par :Samira RAHALI
1 Threads et Lightweight Processes Chapitre 5 En français on utilise parfois flots ou fils pour threads. Votre manuel préfère le mot anglais thread : terminologie.
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
Le modèle de référence OSI
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Structures des Systèmes d’Exploitation
CSI3531 Module 1 - Introduction/survol du SE
1 Module 3 - Fils (Threads) Lecture: Chapitre 4 Objectif: Comprendre le concept de fils et sa relation avec le processus Comprendre le concept de fils.
IFT 6800 Atelier en Technologies d’information
Les systèmes multiplateformes
Module 2 : Préparation de l'analyse des performances du serveur
Chap. 18 Protection Chapitre 18
Structure des Systèmes Informatiques
Introduction/survol du SE
CSI3531 – Labo 1 Lobservation du comportement de processus.
Système dexploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Windows Server Virtualization
Introduction aux systèmes d’exploitation
SYSTEMES D’EXPLOITATION
© OutilsInformatique, 2014 tous droits réservés 1.Définir des termes et concepts de la gestion de réseau. 2.Comprendre les avantages d’un réseau. 3.Comprendre.
OSI et TCP/IP CNAM
Yonel GRUSSON1 Installation d'une imprimante sous Windows 200x Server.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Institut Supérieur d’Informatique
Chapitre 1 : Présentation Page 1. Chapitre 1 : Présentation Page 2  1979 : Première version d’Unix commercialisée  Unix Système V  Puis Unix BSD par.
La programmation système
Offre DataCenter & Virtualisation Laurent Bonnet, Architecte Systèmes Alain Le Hegarat, Responsable Marketing 24 Novembre 2009.
Programmation Système et Réseau
Les sockets.
Les systèmes d’exploitation
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
NOTIONS DE BASE DES SYSTÈMES TEMPS-RÉEL Sujets Concepts de processus/thread concurrents –Windows NT et la programmation temps réel –Synchronisation et.
Alain Le Hegarat Responsable Marketing Windows Server
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Architecture Client/Serveur
Projet 6 : Virtualisation
Les logiciels de virtualisation
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Introduction Rappels : Accès serveurs Unix Ensimag via ssh et sftp
1.1: notions de bases de l’informatique
Crédits SommaireSystème & Processus Système et Applications Système, programmes & données Définition Système & UtilisateursSystème et Interface CULTURE.
Introduction aux systèmes d’exploitation Partie 1: Introduction
Chapitre 12 Surveillance des ressources et des performances Module S41.
Chapitre 9 Configuration de Microsoft Windows XP Professionnel pour fonctionner sur des réseaux Microsoft Module S41.
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:

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/

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

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

Gestion de mémoire vive (RAM) Le SE est responsable pour: savoir quels processus utilisent quelles parties de la mémoire allouer la mémoire quand elle est demandée si elle est disponible libérer la mémoire quand le processus se termine Parfois c’est le système d’exécution des langages de programmation qui gère la mémoire en détail (Ex.: Java) Ch.3

Services primaires des Systèmes d’exploitation Exécution de programmes: chargement, exécution (load, run) Opérations E/S Manipulation fichiers Communication et synchronisation entre processus Détection et traitement d’erreurs Ch.3

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

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

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

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

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. Ch.3

Deux modèles de communication entre processus par appels de système 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) Ch.3

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

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

Partage de responsabilités entre programmes de systèmes et noyau C’est 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. Dans l’évolution des SE il y a eu un transfert de fonctionnalités vers l ’extérieur de la figure Dans les SE modernes, les programmes de système sont l`interface entre usager et noyau Ch.3

Structure à couches Ch.3

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

Ch.3

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

L’autre possibilité serait la structure réseau Plus difficile à gérer, à cause des nombreuses interfaces et relations possibles À couches Réseau Ch.3

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

Structure de système - Approche simple MS-DOS (1982) - cherchait à obtenir une fonctionnalité maximale avec des ressources limitées pas bien modularisé manque de séparation claire entre couches accès direct aux périphériques (écran, etc.) permis aux programmes d`application manque de contrôles, vulnérabilité malheureusement, il fut adapté à des fonctionnalités plus complexes... Systèmes très instables DOS fut la première base de Windows et une grande partie de l’histoire de Windows a été un effort de dépasser les limitations de MS-DOS Jusqu’à Windows NT  Windows XP Ch.3

Couches du MS-DOS (premiers systèmes Microsoft)

Structure UNIX  LINUX (1970  1991) Multi-tâches, multi-usagers depuis le début Distinction entre: programmes du système noyau tout ce qu’il y a entre l’interface des appels de système et le matériel fournit dans une seule couche un grand nombre de fonctionnalités système fichiers, ordonnancement UCT, gestion mémoire... Plus modulaire et protégé que MS-DOS Effort de réduire les fonctionnalités du noyau au minimum nécessaire Ch.3

Structure UNIX: trois couches principales noyau Ch.3

Systèmes d’exécution de langages Chaque langage de programmation repose sur Des compilateurs Des ‘systèmes d’exécution’ (run-time systems) qui rendent possible l’exécution de programmes après compilation P.ex. le système d’exécution Java se préoccupe de gérer la mémoire pour les programmes Java Gérer les appels de sous-programmes ou méthodes, etc. Les systèmes d’exécution ne sont pas partie du SE Mais en utilisent les fonctionnalités, qui donc sont cachées aux usagers Ch.3

Machines Virtuelles Ch.3

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

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

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

Fonctionnement typique Le système VM laisse exécuter normalement les instructions non privilégiées Mais les adresses des instructions doivent être modifiées pour les renvoyer à la zone de mémoire de la VM appropriée 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 Ch.3

Modification d’adresses Dans l’UCT il y a un registre qui renvoie de fois en fois les adresses de chaque instruction de programme à la machine virtuelle pour laquelle l’UCT est en train d’exécuter VM1 OP REG ADR + REGISTRE VM2 De cette manière, un programme peut être exécuté par plus. machines virtuelles Ch.3

Avantages Plusieurs machines virtuelles sont obtenues à partir d’une seule machine physique: Pour servir à différents usagers Chaque machine virtuelle peut utiliser un SE différent Utile à fins d’expérimentation: Un nouveau SE ou une nouvelle application peuvent être développés sur une machine virtuelle sans affecter les autres Protection complète, car les machines virtuelles sont isolées les unes des autres Ch.3

Architecture VMWare: ici le virtualisateur n’es pas directement sur le matériel, il est sur Linux

Implémentations MAC, LINUX et autres permettent de rouler Windows sur leur plateforme Ils doivent fournir à Windows un environnement que Windows reconnaît comme son environnement matériel usuel Pareillement, Windows peut supporter d’autres SE Ch.3

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

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

L’infonuagique (cloud computing) Dans l’infonuagique l’usager utilise les services offerts par un ‘nuage’ d’ordinateurs à travers connexions internet Au lieu d’utiliser simplement son propre ordi ou le serveur local L’offre de puissance de calcul et stockage du nuage doit être élastique pour suivre les besoins des usagers Plus ou moins selon la demande La création et destruction dynamique d’ordis virtuels en est un des mécanismes de base Ch.3

Infonuagique Chaque ordi peut être subdivisé en ordis virtuels Pour une offre élastique de puissance de calcul et stockage Pour chaque usager séparément et selon la demande Ch.3

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

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

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

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

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

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