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