0% ont trouvé ce document utile (0 vote)
64 vues7 pages

Organisation du système informatique

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
64 vues7 pages

Organisation du système informatique

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

I- Organisation du système informatique

Un système informatique moderne à usage général se compose d'un ou


plusieurs processeurs et d'un certain nombre de contrôleurs de périphérique
connectés via un BUS qui fournit un accès entre les périphériques et la
mémoire partagée. Selon le contrôleur, plusieurs périphériques peuvent être
connectés. Un contrôleur de périphérique gère une mémoire tampon locale et
un ensemble de registres à usage spécial. Le contrôleur de périphérique est
responsable du déplacement des données entre les périphériques qu'il
contrôle et sa mémoire tampon locale.
En règle générale, les systèmes d'exploitation ont un pilote de périphérique
pour chaque contrôleur de périphérique. Ce pilote de périphérique comprend
le contrôleur de périphérique et fournit au reste du système d'exploitation une
interface uniforme avec le périphérique. La CPU et les contrôleurs de
périphérique peuvent s'exécuter en parallèle, en compétition pour les cycles de
mémoire. Pour garantir un accès ordonné à la mémoire partagée, un
contrôleur de mémoire synchronise l'accès à la mémoire.

Un système informatique PC typique

1. Les interruptions
Les interruptions utilisées pour alerter la CPU des événements qui nécessitent
une attention. Les interruptions sont un élément clé de la façon dont les
systèmes d'exploitation et le matériel interagissent.
L'interruption doit transférer le contrôle à la routine de service d'interruption
appropriée. La méthode simple pour gérer ce transfert serait d'appeler une
routine générique pour examiner les informations d'interruption. Comme les
interruptions doivent être traitées rapidement, car elles se produisent très
fréquemment, une table de pointeurs (Vecteur d'interruption.) pour
interrompre les routines peut être utilisée pour fournir la vitesse nécessaire.
Le mécanisme d'interruption de base fonctionne comme suit. Le matériel de
CPU dispose d'un fil appelé ligne de demande d'interruption que la CPU détecte
après l'exécution de chaque instruction. Lorsque la CPU détecte qu'un
contrôleur a émis un signal sur la ligne de demande d'interruption, elle lit le
numéro de l'interruption et passe à la routine de traitement des interruptions
en utilisant ce numéro d'interruption comme index dans le vecteur
d'interruption. On dit que le contrôleur de périphérique déclenche une
interruption en émettant un signal sur la ligne de demande d'interruption, la
CPU capte l'interruption et l'envoie au gestionnaire d'interruption, et que ce
dernier efface l'interruption en desservant le périphérique.
La plupart des CPU ont deux lignes de demande d'interruption :
 La première est l'interruption non masquable, qui est réservée aux
événements tels que les erreurs de mémoire irrécupérables.
 La deuxième ligne d'interruption est masquable : elle peut être
désactivée par le CPU avant l'exécution de séquences d'instructions
critiques qui ne doivent pas être interrompues. L'interruption masquable
est utilisée par les contrôleurs de périphériques pour demander le
service.
Pour que les travaux les plus urgents puissent être effectués en premier, les
ordinateurs modernes utilisent un système de priorités d'interruption. Étant
donné que les interruptions sont très utilisées pour les traitements urgents,
une gestion efficace des interruptions est nécessaire pour de bonnes
performances du système.

2. Structure de stockage
La CPU ne peut charger des instructions qu'à partir de la mémoire, de sorte que
tout programme doit d'abord être chargé en mémoire pour s'exécuter. Les
ordinateurs à usage général exécutent la plupart de leurs programmes à partir
de la mémoire réinscriptible, appelée mémoire principale (également appelée
mémoire à accès aléatoire, ou RAM).
Toutes les formes de mémoire fournissent un tableau d'octets. Chaque octet a
sa propre adresse. L'interaction est obtenue grâce à une séquence
d'instructions de chargement (load) ou de stockage (store) vers des adresses
mémoire spécifiques.
 L'instruction de chargement déplace un octet ou un mot de la mémoire
principale vers un registre interne dans la CPU
 L’instruction de stockage déplace le contenu d'un registre vers la
mémoire principale.
Idéalement, nous voulons que les programmes et les données résident en
permanence dans la mémoire principale. Cette disposition n'est généralement
pas possible sur la plupart des systèmes pour deux raisons :
 La mémoire principale est généralement trop petite pour stocker en
permanence tous les programmes et données nécessaires.
 La mémoire principale est volatile - elle perd son contenu lorsque
l'alimentation est coupée ou perdue.
Ainsi, la plupart des systèmes informatiques fournissent un stockage
secondaire en tant qu'extension de la mémoire principale. La principale
exigence pour le stockage secondaire est qu'il puisse contenir de grandes
quantités de données en permanence.

3. Structure des entrées/sorties (E/S)


Une grande partie du code du système d'exploitation est consacrée à la gestion
des E/S, tant en raison de son importance pour la fiabilité et les performances
d'un système qu'en raison de la nature variable des périphériques.
Après avoir configuré les tampons, les pointeurs et les compteurs pour le
périphérique d'E/S, le contrôleur de périphérique transfère un bloc entier de
données directement vers ou depuis le périphérique et la mémoire principale,
sans intervention de la CPU. Une seule interruption est générée par bloc, pour
indiquer au pilote de périphérique que l'opération est terminée, plutôt qu'une
interruption par octet générée pour les périphériques à faible vitesse. Pendant
que le contrôleur de périphérique effectue ces opérations, la CPU est
disponible pour effectuer d'autres tâches.
Certains systèmes utilisent une architecture de commutation plutôt que de
bus. Sur ces systèmes, plusieurs composants peuvent communiquer avec
d'autres composants simultanément, plutôt que de se disputer des cycles sur
un bus partagé.

Architecture du système informatique


et système NUMA

Un système informatique peut être organisé de différentes manières, que nous


pouvons les classer en fonction du nombre de processeurs à usage général
utilisés.

1- Systèmes à processeur unique


Il y a de nombreuses années, la plupart des systèmes informatiques utilisaient
un seul processeur contenant un processeur avec un seul cœur de traitement.
Le noyau est le composant qui exécute les instructions et les registres pour
stocker les données localement. Le processeur principal avec son cœur est
capable d'exécuter un jeu d'instructions à usage général, y compris des
instructions de processus. Ces systèmes ont également d'autres processeurs
spéciaux. Ils peuvent se présenter sous la forme de processeurs spécifiques à
l'appareil, tels que les contrôleurs de disque, de clavier et graphiques.
Tous ces processeurs spéciaux exécutent un jeu d'instructions limité et
n'exécutent pas de processus. Parfois, ils sont gérés par le système
d'exploitation, en ce sens que le système d'exploitation leur envoie des
informations sur leur prochaine tâche et surveille leur état. Par exemple, un
microprocesseur de contrôleur de disque reçoit une séquence de requêtes du
cœur du CPU principal et implémente sa propre file d'attente de disque et son
propre algorithme de planification. Cette disposition soulage le CPU principal
de la surcharge de la planification des disques. Les PC contiennent un
microprocesseur dans le clavier pour convertir les frappes en codes à envoyer
au CPU. Dans d'autres systèmes ou circonstances, les processeurs spéciaux sont
des composants de bas niveau intégrés au matériel.
Le système d'exploitation ne peut pas communiquer avec ces processeurs; ils
font leur travail de manière autonome. L'utilisation de microprocesseurs
spéciaux est courante et ne transforme pas un système à processeur unique en
un système multiprocesseur. S'il n'y a qu'un seul processeur à usage général
avec un seul cœur de traitement, le système est un système à processeur
unique. Selon cette définition, cependant, très peu de systèmes informatiques
contemporains sont des systèmes à processeur unique.

2- Systèmes multiprocesseurs
Sur les ordinateurs modernes, les appareils mobiles et les serveurs, les
systèmes multiprocesseurs dominent désormais le domaine informatique.
Traditionnellement, ces systèmes ont deux processeurs (ou plus), chacun avec
un processeur monocœur. Les processeurs partagent le bus informatique et
parfois l'horloge, la mémoire et les périphériques. Le principal avantage des
systèmes multiprocesseurs est l'augmentation du débit. Autrement dit, en
augmentant le nombre de processeurs, nous nous attendons à faire plus de
travail en moins de temps. Le rapport d'accélération avec N processeurs n'est
cependant pas N ; il est inférieur à N. Lorsque plusieurs processeurs coopèrent
sur une tâche, une certaine surcharge est encourue pour que toutes les parties
fonctionnent correctement. Cette surcharge, plus la contention pour les
ressources partagées, réduit le gain attendu des processeurs supplémentaires.
Les systèmes multiprocesseurs les plus courants utilisent le multitraitement
symétrique (SMP), dans lequel chaque processeur CPU homologue exécute
toutes les tâches, y compris les fonctions du système d'exploitation et les
processus utilisateur. La figure ci-dessous illustre une architecture SMP typique
avec deux processeurs, chacun disposant de sa propre CPU. Notez que chaque
processeur CPU dispose de son propre ensemble de registres, ainsi que d'un
cache privé ou local. Cependant, tous les processeurs partagent la mémoire
physique sur le bus système.
L'avantage de ce modèle est que de nombreux processus peuvent être
exécutés simultanément - N processus peuvent être exécutés s'il y a N CPU -
sans que les performances ne se détériorent de manière significative.
Cependant, comme les unités centrales sont séparées, l'une d'entre elles peut
rester inactive alors qu'une autre est surchargée, ce qui entraîne des
inefficacités. Ces inefficacités peuvent être évitées si les processeurs partagent
certaines structures de données. Un système multiprocesseur de ce type
permet de partager dynamiquement les processus et les ressources (comme la
mémoire) entre les différents processeurs et peut réduire la variance de la
charge de travail entre les processeurs. Un tel système doit être écrit avec soin.
La définition de multiprocesseur a évolué au fil du temps et inclut désormais les
systèmes multicœurs, dans lesquels plusieurs cœurs de calcul résident sur une
seule puce. Les systèmes multicœurs peuvent être plus efficaces que les puces
multiples avec des cœurs uniques car la communication sur la puce est plus
rapide que la communication entre les puces.
En outre, une puce à plusieurs cœurs consomme beaucoup moins d'énergie
que plusieurs puces à un seul cœur, ce qui est important pour les appareils
mobiles et les ordinateurs portables.
Dans la figure ci-dessous, nous montrons une conception à double cœur avec
deux cœurs sur la même puce de processeur. Dans cette conception, chaque
cœur dispose de son propre jeu de registres, ainsi que de son propre cache
local, souvent appelé cache de niveau 1, ou L1. Notez également qu'un cache
de niveau 2 (L2) est local à la puce mais est partagé par les deux cœurs de
traitement. La plupart des architectures adoptent cette approche, combinant
les caches locaux et partagés, où les caches locaux de niveau inférieur sont
généralement plus petits et plus rapides que les caches partagés de niveau
supérieur. En dehors des considérations architecturales, telles que la
contention de cache, de mémoire et de bus, un processeur multicœur avec N
cœurs apparaît au système d'exploitation comme N CPU standard. Cette
caractéristique met la pression sur les concepteurs de systèmes d'exploitation -
et les programmeurs d'applications - pour qu'ils utilisent efficacement ces
cœurs de traitement. Pratiquement tous les systèmes d'exploitation modernes
- y compris Windows, macOS et Linux, ainsi que les systèmes mobiles Android
et iOS - prennent en charge les systèmes SMP multicœurs.

Vous aimerez peut-être aussi