Doc1 Architectlog - tsgeri 01
Transcription
Doc1 Architectlog - tsgeri 01
Technologie des ordinateurs Architecture logicielle Technologie des ordinateurs Partie II : Architecture logicielle auteur afpa © centre JL Deluche Rochefort formation module séq/item type doc millésime page 1 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle Table des Matières Avant propos :................................................................................................................................................3 Description générale ......................................................................................................................................4 Le BIOS .........................................................................................................................................................5 1 Le POST ............................................................................................................................................5 2 Initialisations......................................................................................................................................5 3 Chargement du système d’exploitation .............................................................................................6 4 Le Setup .............................................................................................................................................6 Les systèmes d’exploitation...........................................................................................................................7 1 Définitions .........................................................................................................................................7 2 Structure d’un OS ..............................................................................................................................9 2.1 Le noyau ....................................................................................................................................9 2.2 Le système de gestion de fichiers ..............................................................................................9 2.3 Le shell.....................................................................................................................................10 auteur afpa © centre JL Deluche Rochefort formation module séq/item type doc millésime page 2 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle Avant propos : Ce support de formation présente de façon très succincte l’architecture logicielle d’un micro-ordinateur. L’objectif est de vous permettre de vous familiariser avec les principales technologies et d’acquérir un vocabulaire de base plutôt que de faire de vous des spécialistes systèmes. A certains endroits de ce document vous trouverez les symboles « » ou « ! ». Ils indiquent des liens qui permettent de compléter les informations données dans le support. L’icône « » spécifie un lien facultatif, « ! » un lien obligatoire. Pour ces compléments j’utilise deux sources : 1 Le site « comment ça marche » (http://www.commentcamarche.net) vous pouvez le consulter en ligne ou installer « l’encyclopédie » sur votre PC à partir du fichier CCMnnn.exe que vous trouverez soit sur le DVD de ressources qui vous a été fourni (dossier « doc »), soit en téléchargement sur le site même de comment ça marche. auteur afpa © centre JL Deluche Rochefort formation module séq/item type doc millésime page 3 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle Description générale Dans la partie précédente vous avez pris connaissance de l’architecture matérielle d’un micro-ordinateur, maintenant vous allez vous familiariser avec sa structure logicielle. L’architecture logicielle représente l’aspect immatériel mais essentiel d’un ordinateur. En effet sans logiciels un ordinateur ne fait absolument rien, ne sert absolument à rien. Cette structure logicielle est constituée d’un ensemble de programmes1 qui s’interfacent entre le matériel et l’utilisateur. Les logiciels applicatifs offrent les fonctions dont se sert directement l’utilisateur telles, les applications bureautiques, les applications métiers (Gestion commerciale, comptabilité, paye, DAO, GPAO, MAO2 …), les jeux ou le multimédia… C’est la partie utile d’un ordinateur. Les systèmes d’exploitation offrent des fonctionnalités évoluées telles que la gestion de fichiers, la prise en compte des paramètres régionaux, les fonctions de sécurité (authentification, cryptage, signatures, …). Ils s’appuient sur des pilotes pour accéder au matériel. Les pilotes sont des programmes développés en général par les constructeurs de matériel à partir de spécifications fournies par les éditeurs de systèmes d’exploitation. Ils fournissent aux systèmes d’exploitation des fonctions standards pour contrôler les périphériques. Au plus prés du matériel il y a les firmware’s3 (micro logiciel en français). Il s’agit de programmes développés en langage machine qui sont spécifiques au matériel. Ils implémentent les fonctions d’entrées sorties de base. Ces firmware’s sont généralement stockés en mémoire morte. On donne le nom de BIOS4 aux firmware’s évolués qui sont implantés sur les cartes mères, les contrôleurs graphiques ou les contrôleurs de disques RAID5 et SCSI. 1 Programme= séquence d’instructions exécutables par le microprocesseur Dessin Assisté par Ordinateur, Gestion de Production Assisté par ordinateur, Maintenance Assisté par Ordinateur, …. 3 firmware = logiciel qui est intégré dans un composant matériel 4 BIOS= Basic Input Output System 5 RAID= Redundant Array of Inexpensive Disks. Technique qui permet d’associer des disques pour accroître les performances ou la sécurité. Cette technologie sera détaillée dans une séquence ultérieure. auteur centre formation module séq/item type doc millésime page 4 2 afpa © JL Deluche Rochefort sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle Le BIOS Quand on parle du « BIOS », il s’agit souvent du BIOS implémenté sur les cartes mères. De façon générale le BIOS est un ensemble de programmes et de paramètres qui fournissent au processeur les fonctions élémentaires de gestion des entrée/sorties ; d’où son nom : Basic Input Output Système. Ces programmes permettent de tester le matériel au démarrage, de charger le système d’exploitation et de gérer le transfert des données entre les composants matériels. Pendant l'exécution des routines du BIOS, trois séries d'opérations sont exécutées : les autotests de démarrage appelés POST6, l’initialisation des composants matériels et enfin le chargement d’un système d’exploitation. Même si les fonctions principales sont identiques sur tous les PC, selon les caractéristiques des cartes mères et le fabriquant du BIOS, il peut exister quelques différences sur les fonctions étendues, les possibilités de paramétrage et la gestion des erreurs. Les principaux éditeurs de BIOS pour cartes mères sont AMIBIOS, PHOENIX et AWARD (à noter qu’Award appartient au groupe Phoenix technologies). 1 Le POST Cette étape est la première qui est mise en œuvre. Elle est exécutée dés la mise sous tension. Elle permet de tester les composants élémentaires (cpu, mémoire,…) L’unité centrale de l’ordinateur se teste d’abord elle-même avant de vérifier l'horloge système Puis elle vérifie la mémoire RAM en écrivant des données sur chacune des puces et en les lisant ensuite. Toute différence indique un problème. Si le POST trouve des erreurs, il envoie un message vers le moniteur de l’ordinateur Si le POST trouve des erreurs ne pouvant pas être affichées sur le moniteur, il envoie ses erreurs sous forme de signaux sonores. La signification de ces signaux dépend du fabricant du BIOS. 2 Initialisations Lors de cette étape l’ensemble des composants vont s’initialisés : Recherche et exécution du BIOS de la carte vidéo afin d'initialiser cette dernière. Recherche et exécution des BIOS des contrôleurs disques types SCSI. Affichage de l'écran de démarrage. Test de divers composants système et décomptage de la mémoire. Détection et configuration des disques durs et des timings mémoire. Configuration des périphériques Plug and Play. Affichage du récapitulatif de configuration du système. La figure suivante montre l’écran d’initialisation d’un PC équipé d’AMIBIOS 6 POST= Power On Self Test (auto test de démarrage) auteur centre formation afpa © JL Deluche Rochefort module séq/item type doc millésime page 5 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle 3 Chargement du système d’exploitation Une fois tous les tests effectués le BIOS cherche à charger en mémoire centrale un système d’exploitation qui prendra la suite des opérations. Le BIOS recherche sur les périphériques de démarrage définis dans ses paramètres de « boot séquence » (voir chapitre SETUP) une zone qui contient un code programme permettant de poursuivre le chargement du système. Cette zone s’appelle un secteur d’amorçage ou secteur de boot. Une fois le code programme trouvé, le BIOS le charge en mémoire et c’est alors celui-ci qui prend le relais du BIOS. Si le BIOS ne trouve pas de système d’exploitation à charger il affiche un message d’erreur et s’arrête ou se met en attente. Exemples de messages d’erreur: Disk boot failure insert system disk and press enter Reboot and select proper boot device or insert boot media in selected boot device. Non-System disk or disk error replace the disk and press any key Chacun de ces messages indique que le BIOS n’a pas trouvé de système d’exploitation. Le dernier indique bien souvent qu’une disquette non système a été oubliée dans le lecteur et que le BIOS a essayé d’amorcer à partir de celle-ci. 4 Le Setup Le comportement du BIOS peut être contrôlé à partir de paramètres modifiable au moyen d’un programme de configuration appelé SETUP. C’est notamment grâce au setup qu’on peut spécifier à partir de quels périphériques le système d’exploitation va pouvoir être chargé. Le Setup est accessible au moment du démarrage du BIOS pendant la séquence d’initialisation. On l’active par le biais de touches ou d’une combinaison de touches qui peuvent varier selon les fabricants et les versions du BIOS. Selon le système il peut s’agir de la touche « F2 », de la touche « Suppr » (« del » en anglais) ou de toute autre combinaison. Exemple d’un menu de setup qui permet de modifier la séquence de boot. On y voit que le système essaiera d’amorcer à partir du lecteur de disquettes, puis à partir du CDROM et enfin à partir du disque dur. ! CommentCaMarche ordinateur BIOS auteur afpa © centre JL Deluche Rochefort formation module séq/item type doc millésime page 6 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle Les systèmes d’exploitation 1 Définitions Un système d'exploitation, Operating System (OS) en anglais, est un ensemble de programmes responsables de la liaison entre les ressources matérielles d'un ordinateur et les applications de l'utilisateur. Il fournit aux programmes applicatifs des fonctions génériques permettant d’accéder à la périphérie et aux mémoires de masse. Il leur alloue aussi, les ressources nécessaires à leur exécution (mémoire, temps processeur, espace disque,…). Un système d’exploitation fournit aussi à l’utilisateur des outils et des commandes qui permettent d’interagir avec le matériel (gestion de périphériques, propriétés d’affichage, …) ou avec l’OS même (lancer, configurer, tuer des processus, définir des priorités, des règles de sécurité, ...) Il existe un nombre important de systèmes d’exploitation sur le marché et afin de comprendre leurs caractéristiques, il vaut mieux connaître certains termes tels que Multi-Utilisateur, multitâches, multiprocesseur et multithread : Multi-Utilisateur Un OS Multi-Utilisateurs permet à plusieurs utilisateurs de travailler simultanément et d’accéder à des ressources communes (applications, fichiers, imprimantes). Les systèmes d’exploitation des ordinateurs centraux types AS400 et les OS serveurs types Windows 2003 ou UNIX gèrent bien évidemment cette fonctionnalité. Cette fonction est présente sur certains OS de stations de travail, en ce cas le système mémorise les préférences de chaque utilisateur entre deux sessions7 et prend même en charge la gestion simultanée de plusieurs sessions. Sous XP on peut activer la gestion simultanée de sessions utilisateurs. L’écran ci-contre montre effectivement que les deux utilisateurs déclarés sur la machine (Gaston et stagiaire) ont une session ouverte. 7 Session= Une session démarre lorsqu’un utilisateur commence à interagir avec un programme et prend fin en même temps que le programme se termine. Sur un OS Multi-Utilisateur une session commence lorsqu’un utilisateur s’authentifie. auteur centre formation module séq/item type doc millésime page 7 afpa © JL Deluche Rochefort sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle Multitâches L’ordinateur peut effectuer plusieurs programmes en simultané. En réalité le processeur exécute les processus en temps partagé c'est-à-dire qu’il exécute les programmes par petits bouts mais à une telle vitesse qu’on a l’impression qu’ils sont exécutés en même temps. Aujourd’hui la plus part des OS gèrent le multitâches préemptif c'est-à-dire que c’est le système d’exploitation qui garde la main sur le contrôle des processus, ainsi si un programme plante il ne monopolise pas le processeur. Ce qui n’est pas le cas avec les systèmes coopératifs où là c’est le processus qui redonnent volontairement la main au système d’exploitation. Vous comprenez bien que dans ce cas si le programme qui à la main est planté le système d’exploitation ne tourne plus. La figure si contre montre l’écran de suivi des processus du gestionnaire de tâches de windows. Cet outil permet de surveiller les programmes en cours d’exécution, leur taux d’occupation processeur, la taille mémoire qu’ils utilisent. Il permet aussi de les contrôler en leur attribuant des priorités, ou en les terminant. Multiprocesseur L’ordinateur dispose de plusieurs processeurs (Central Processing Units ou CPU). Le système d’exploitation répartis la charge (l’exécution des processus) sur les différentes CPU’s. Les systèmes d’exploitations moderne gèrent les multi processeurs symétriques (SMP8) c'est-àdire qu’il n’y à pas de processeur particulièrement dédié et que la charge tend à se répartir uniformément sur les différentes CPU’s. Auparavant la gestion des multi processeurs était asymétrique (AMP9), Il y avait alors un processeur monopolisé par l’OS et les autres était dédiés aux autres taches. Cela engendrait une mauvaise répartition des charges et donc des performances médiocres. Multithread C’est le multitâches dans une tache. Une application peut être divisée en plusieurs petites parties pouvant être chargées au fur et à mesure des besoins par le système d’exploitation. Exemple : une application de traitement de texte peut gérer la mise en forme du document, la correction orthographique et l’enregistrement en arrière plan. Ces différents fils10 tissés en simultanés appartiennent à la même application et traitent les mêmes données. La plupart des systèmes d’exploitation modernes sont multi utilisateurs, multitâches et supportent le multithread. 8 Symmetric Multi Processing Asymmetric Multi Processing 10 Thread= fil auteur centre 9 afpa © JL Deluche Rochefort formation module séq/item type doc millésime page 8 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle 2 Structure d’un OS En réalité il n’existe pas un seul modèle de structure de système d’exploitation. En effet il n’y a pas grand rapport entre des OS tel que MS DOS 6.1, MVS11, Windows 2003 ou Linux et l’architecture d’un OS peut être relativement complexe. Cependant on trouvera à minima trois composantes de base: Le noyau, un système de gestion de fichiers et un shell. 2.1 Le noyau Il s’agit du cœur du système d’exploitation. Le noyau, souvent appelé kernel, est responsable du chargement et du fonctionnement des programmes et des processus et de la gestion des entrées et sorties. Selon l’architecture (micro-noyau, monolithique ou hybride) un kernel peut offrir plus ou moins de fonctions: gestion des processus: attribution de la mémoire à chaque processus ; ordonnancement des processus (répartition du temps d'exécution sur le ou les processeurs). synchronisation et communication entre processus (services de synchronisation, d'échange de message, mise en commun de segments de mémoire, etc...). gestion des périphériques (au moyen de pilotes) ; gestion des fichiers (au moyen de systèmes de fichiers) ; gestion des protocoles réseau (TCP/IP, IPX, etc.). 2.2 Le système de gestion de fichiers Le système de gestion des fichiers permet au système d’organiser et de gérer les fichiers. La plupart des systèmes d’exploitation utilisent un système de fichiers hiérarchisé, qui organise les fichiers en répertoires disposés en arbre. Le début du système de répertoires s’appelle le répertoire racine (root en anglais). D: ├───batch ├─── drivers │ ├───R58370 │ │ ├───win2000 │ │ ├───win98se │ │ ├--winme │ │ └───xp │ ├───R61662 │ │ └───Drivers │ │ ├───DOS │ │ │ ├───NDIS2 │ │ │ │ └───v6.44 │ │ │ └───ODI │ │ │ └───v6.08 │ │ ├───Win2K Le système de gestion des fichiers assure plusieurs fonctions : Manipulation des fichiers : des opérations sont définies pour permettre la manipulation des fichiers par les programmes d’application, à savoir : créer/détruire des fichiers, insérer, supprimer et modifier un article dans un fichier. Allocation de la place sur mémoires auxiliaire. Localisation des fichiers : il est nécessaire de pouvoir identifier et retrouver les données ; pour cela, chaque fichier possède un ensemble d’informations descriptives (nom, adresse…). Sécurité et contrôle des fichiers : le système de gestion de fichiers peut offrir des mécanismes assurant la sécurité et la confidentialité des données. Un nom et une clé de protection peuvent être associés à chaque fichier afin de le protéger contre tout accès non autorisé ou mal intentionné. Le système se doit aussi de garantir la conservation des fichiers en cas de panne du matériel ou du logiciel. 11 MVS (Multiple Virtual Storage) est le système d'exploitation des gros ordinateurs (« mainframes ») IBM. auteur centre formation module séq/item type doc millésime afpa © JL Deluche Rochefort page 9 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc Technologie des ordinateurs Architecture logicielle 2.3 Le shell12 Un shell est la partie visible par l’utilisateur du système d’exploitation, d’où son nom13. Un shell permet donc à l’utilisateur d’interagir avec le système d'exploitation. Il s’agit de la partie du système d’exploitation qui permet d’introduire des commandes, soit en utilisant le clavier pour les taper à l’invite de commande, soit en pointant et cliquant à l’aide de la souris sur une interface graphique. De nos jours la plupart des OS modernes proposent plusieurs shell’s. Windows offre par exemple une interface graphique à travers le programme « explorer.exe » et une interface en mode texte à travers le programme « cmd.exe » Le bureau est un des aspects du shell graphique de Windows. L’autre aspect étant l’explorateur de fichiers. Cmd.exe est un des shell en ligne de commande de Windows ! 12 13 CommentCaMarche Systèmes d'exploitation Introduction Shell = coquille, coquillage, carapace La coquille est la partie visible d’une noix. C’est l’interface entre l’extérieur et l’intérieur. auteur centre formation module séq/item type doc afpa © JL Deluche Rochefort millésime page 10 sup. form. 12/09 - v2.0 02-a(Architectlog).Doc