Vous êtes sur la page 1sur 10

a.

Unité centrale de traitement (CPU)


L'unité centrale (processeur) est la partie responsable d’interpréter et l’exécute les
instructions qui se trouvent en mémoire. Le CPU (Central Proccessing Unit) est constitué
essentiellement de
• Une Unité de Commande ou de Contrôle (UC) chargée d'extraire de la mémoire
l'instruction courante, la décoder et l'exécuter.
• Une Unité Arithmétique et Logique (ALU) en charge des opérations arithmétiques et
logiques.
b. Mémoire centrale (RAM)
Permet de conserver pendant un certain temps des informations binaires (données,
instructions, ...). La RAM (Random Acces Memory) permet la lecture aussi bien que
l'écriture (mémoire vive). Ces mémoires sont dites volatiles (perte d’information dans le cas
de coupure de courant)
c. Périphérique
Permet l'échange avec l'extérieur (imprimantes, clavier, terminaux, modem, ...) ou le stockage
d'information (mémoires auxiliaires : disques, flash disk, ...).

1- Système informatique :
C’est l’ensemble des matériels et des logiciels destinés à réaliser des tâches qui mettent en jeux
de traitement automatique de l’information. Il est constitué de deux entités : Le matériel et le
logiciel. Les fonctions de base d’un système d’exploitation sont :
a- Communication avec l’utilisateur :
-Entrée des informations à traiter : les donnés
-Sortie des informations à traiter : résultats
b- Calcul (traitement) : Elaborer des résultats à partir des donnés
c- Séquencement : Les opérations sont exécutées l’une après l’autre selon un certain plan
appelle programme
d- Mémorisation : Les donnes, les résultats et le séquence des opérations, a ajouter doivent
être mémorisées.

3- Définition et objectif d’un Système d’exploitation :


Le système d’exploitation est un programme qui agit comme un intermédiaire entre l’utilisateur d’un
ordinateur et le matériel qui lui fournit un environnement dans lequel il peut exécuter des
programmes de manière pratiques et efficaces.
L’objectif d’un S.E :
- Exécuter un programme en utilisant les ressources disponibles
- Exécuter simultanément plusieurs programmes au profit de l’utilisateur
- Gérer l’utilisateur en le partage des ressources de manière efficace et équitable
2- Le processus de démarrage
Voici les différentes étapes de la mise en route d’un ordinateur :
a. Le BIOS (Basic Input/Output System): Le BIOS est un petit programme qui réside en
mémoire morte livré avec le PC et est spécifique au constructeur de la carte mère, après la
mise sous tension de l’ordinateur, effectue un inventaire et un test des matériels présents. Il
permet également, selon les versions, de les paramétrer
b. Le MBR (Master Boot Record) qui est situé en général sur le premier secteur du disque.Ce
MBR contient :
 Un chargeur (loader) qui va à son tour charger un autre programme chargeur (second
stage loader) propre au système d’exploitation à charger ;
 La description des tables de partitions du disque en cours ;
 Une valeur numérique (magicnumber) parfois utilisée pour vérifier l’intégrité du MBR
lui-même.
Pour les disques durs supérieur a 2 To on utilise :
 UEFI : Unified Extensible Firmware Interface. C’et le successeur di BIOS
 GPT : GUID Partiton Table. Le successeur de MBR
3- Disques durs et partitionnement
Un disque dur est composé de plateaux reliés à un moteur central, avec des têtes de lecture de
part et d’autre de chacun des plateaux. Sur chaque plateau se trouvent des pistes cylindriques
découpées en secteurs. L’adressage d’un secteur est une référence au cylindre, à la tête de lecture
utilisée, à la piste, et enfin au secteur.
À l’installation, un disque dur n’est ni partitionné, ni formaté. Partitionner signifie définir sur le
disque un ou plusieurs espaces, ou partitions, et formater signifie préparer une partition à recevoir
des informations en utilisant un système de fichiers défini.
1. Les partitions : Une partition est définie par son type, son emplacement de début de partition
et enfin soit sa taille, soit son emplacement de fin de partition. Un partitionnement est
réversible (non physique).
Une seule partition est activée à la fois au niveau du BIOS : cette activation indique où le
BIOS doit aller chercher le noyau du système d’exploitation pour le démarrage.Il existe trois
sortes de partitions :
 Les partitions principales : leur nombre est limité à quatre et elles supportent tous types de
systèmes de fichiers ;
 La partition étendue : elle ne peut contenir que des partitions logiques et ne peut pas
recevoir de systèmes de fichiers. Elle ne peut exister que s’il existe une partition principale;
 Les partitions logiques : elles sont contenues dans une partition étendue. Elles ne sont pas
limitées en nombre et acceptent tous types de systèmes de fichiers.

Chapitre 2 : Le noyau d’un système d’exploitation

Le noyau d’un système d’exploitation est un logiciel qui assure :


- La communication entre les logiciels et le matériel.
- La gestion des divers logiciels (tâches) d’une machine (lancement des programmes,
ordonnancement des processus…).
- La gestion du matériel (mémoire, processeur, périphérique,
stockage…).
1- Différents types de noyaux
a- Noyaux monolithiques non modulaires : L’ensemble des
fonctions du système et des pilotes sont regroupés dans un seul
bloc de code et un seul bloc binaire généré à la compilation. Ceci
permet :
- La simplicité de concept.
- Excellente vitesse d’exécution.
Au fur et à mesure de leurs développements, le code de ces
noyaux monolithiques a augmenté en taille et il s’est avéré difficile à
maintenir. En plus le chargements à chaud ou dynamiques implique
une augmentation du nombre de pilotes matériels compilés dans le noyau, et par suite, une
augmentation de la taille de l’empreinte mémoire des noyaux.

Architecture d’un noyau monolithique.

b- Noyaux monolithiques modulaires :


Les noyaux monolithiques sont devenus modulaires. Dans
ce type de noyau, seules les parties fondamentales du système sont
regroupées dans un bloc de code unique (monolithique). Les autres
fonctions, comme les pilotes matériels, sont regroupées en
différents modules qui peuvent être séparés tant du point de vue du
code que du point de vue binaire. Certaines parties peuvent être
non compilées ou compilées en tant que modules chargeables
directement dans le noyau. La modularité du noyau permet le
chargement à la demande de fonctionnalités et augmente les
possibilités de configuration(systèmes de fichiers, un pilote de
périphérique).
Les noyaux monolithiques modulaires conservent les
principaux atouts des noyaux monolithiques ainsi la facilité de
conception et de développement est globalement maintenue et la vitesse
d’exécution reste excellente. L’utilisation de modules implique le découpage du code source du
noyau en blocs indépendants. Ces blocs améliorent l’organisation et la clarté du code source et en
facilitent également la maintenance. Ils conservent également un important défaut des noyaux
monolithiques purs : une erreur dans un module met en danger la stabilité de tout le système.
Exemples : Linux, Solaris.
c- Systèmes à micro-noyau
Les systèmes à micro-noyau cherchent à minimiser les
fonctionnalités dépendantes du noyau en plaçant la plus grande
partie des services du système d’exploitation à l’extérieur de ce
noyau, c’est-à-dire dans l’espace utilisateur. Ces fonctionnalités
sont alors fournies par de petits serveurs indépendants
possédant souvent leur propre espace d’adressage.
Un petit nombre de fonctions fondamentales est conservé
dans un noyau minimaliste appelé "micronoyau". L’ensemble
des fonctionnalités habituellement proposées par les noyaux
monolithiques est alors assuré par les services déplacés en
espace utilisateur et par ce micro-noyau. Cet ensemble logiciel
est appelé "micro-noyau enrichi".
Ce principe a de grands avantages :
- Eloigner les services « à risque » des parties critiques
permet de gagner en robustesse et en fiabilité,
- Faciliter la maintenance et l’évolutivité.
- Protection de la mémoire
- Stabilité de l’ensemble améliorée : une erreur d’un service en
mode protégé a peu de conséquences sur la stabilité de l’ensemble de la machine.
- Sécurité du système renforcée en réduisant les possibilités pour les services de pouvoir
intervenir directement sur le matériel,
- Compacts (6M lignes de code noyau Linux 2.6.0 contre 50K lignes pour les micro-noyau)
En revanche, les mécanismes de communication qui assure le passage de messages entre les
serveurs, sont très lourds et peuvent limiter les performances.
- La plupart des services sont à l’extérieur du noyau (Grand nombre d’appels système).
- Les interfaces de communication entre les services sont complexes et trop lourdes en temps
de traitement.
Architectu
re d’un micro-noyau enrichi par des services (micro-noyau enrichi).
d- Noyaux hybrides
Les noyaux qui reprennent des concepts à la fois des noyaux
monolithiques et des micro-noyaux, pour combiner les avantages
des deux. Les fonctions fondamentales sont dans l’espace noyau et
certaines fonctions non critiques (très génératrices d’appels
système) sont réintégrées dans l’espace noyau. Ce compromis
permet d’améliorer considérablement les performances en
conservant de nombreuses propriétés des systèmes à micro-noyau.
Exemple : Mac OS X.

Chapitre 3 : Gestion des Processus

 Programme : Un programme est une suite figée d'instructions, un ensemble statique.


 Un Processus est l'instance d'exécution d'un programme dans un certain contexte pour un
ensemble particulier de données. On peut aussi caractériser un processus par les tables qui le
décrivent dans l'espace mémoire réservé au système d'exploitation. Ces tables définissent les
contextes matériel (contenu des registres...) et logiciel (droits d'accès aux ressources) dans les
quels travaille ce processus. Plusieurs processus peuvent exécuter parallèlement par le même
programme
Processus ≠ Programme
1- Les états d’un processus
Durant son séjour dans un SE, un processus peut changer d’état à plusieurs reprises. Ces états
peuvent être résumés dans le schéma suivant :
 Nouveau : Le processus vient d’être créé.
 Prêt : le processus est placé dans la file d’attente des processus prêts, en attente
d’affectation du processeur.
 En exécution : le processus a été affecté à un processeur libre. Ses instructions sont en
exécution.
 En attente : Le processus attend qu’un événement se produise, comme l’achèvement
d’une opération d’E/S ou la réception d’un signal.
 Terminé : le processus a terminé son exécution.

Chaque processus est représenté dans le SE par un PCB


(Process Control Block)
PCB : contient plusieurs informations concernant un processus spécifique et permettant de
reconstituer son contexte, comme par exemple :
 L’état du processus: Il peut avoir l’une des valeurs suivantes : Nouveau, Prêt, en exécution ou
en attente.
 Compteur d’instructions : indique l’adresse de l’instruction suivante devant être exécutée par
ce processus.
 Informations sur le scheduling du processeur : Ces informations comprennent la priorité du
processus, les pointeurs sur les files d’attente de scheduling, …
 Informations sur la gestion de la mémoire : valeurs des registres base et limite, des tables de
pages ou des tables de segments.
 Informations sur l’état des E/S: liste des périphériques E/S allouées à ce processus, une liste
des fichiers ouverts, etc.
 Les registres du processeur : Les registres varient en nombre et en type en fonction de
l’architecture de l’ordinateur. Ils englobent des accumulateurs, des registres d’index, des
pointeurs de pile et des registres à usage général. Ces informations doivent être sauvegardées
avec le compteur d’instructions quand il se produit une interruption, afin de permettre au
processus de poursuivre correctement son exécution après la reprise.

Dans certains SE, lorsqu’un processus crée un autre processus, les processus parent et enfant
continuent d’être associés d’une certaine manière. Le processus enfant peut lui-même créer plusieurs
processus, formant une hiérarchie de processus. Un processus a un seul parent et peut avoir 0 ou
plusieurs fils
Un processus peut se terminer suite à l’un des événements suivants :
 Sortie normale, lorsque le processus a terminé sa tâche.
 Sortie suite à une erreur (division par 0, inexistence d’un fichier passé en paramètre)
 Tué par un autre processus (Commande kill sous linux)
 Toutes les ressources du processus sont libérées par le SE.

2- Scheduling de processus (Ordonnancement)


Dans un système multitâche plusieurs processus sont en cours simultanément, mais le
processeur ne peut, à un moment donné, exécuter qu’une instruction (d’un programme) à la fois. Le
processeur travaille donc en temps partagé. L’ordonnanceur (scheduler) est le module du SE qui
s’occupe de sélectionner le processus suivant à exécuter selon une politique d’ordonnancement
(scheduling) parmi ceux qui sont prêts pour lui affecter le processeur
Un processus passe entre les diverses files d’attente pendant sa durée de vie (file d’attente des
processus prêts (attendant pour s’exécuter), fille d’attentes des périphériques, ...).
Le SE doit sélectionner les processus à partir de ces files d’attente d’une manière quelconque.
Le processus de sélection est mené à bien par le scheduleur approprié.
Classification des processus
- Tributaire des E/S: dépense la plupart du temps à effectuer des E/S plutôt que des calculs
- Tributaire de la CPU: génère peut fréquemment des requêtes d’E/S, passe plus de temps à
effectuer des calculs
Les divers algorithmes de scheduling du processeur possèdent des propriétés différentes et
peuvent favoriser une classe de processus plutôt qu’une autre.
Pour choisir quel algorithme utiliser dans une situation particulière, plusieurs critères ont été
proposés pour comparer et évaluer les performances des algorithmes de scheduling du processeur.
Les critères les plus souvent utilisés sont :
• Utilisation du processeur : Un bon algorithme de scheduling sera celui qui maintiendra le
processeur aussi occupé que possible.
• Capacité de traitement : C’est la quantité de processus terminés par unité de temps.
• Temps de restitution : C’est le temps s’écoulant entre la soumission du travail et sa
terminaison.
• Temps d’attente : C’est le temps passé à attendre dans la file d’attente des processus prêts.
• Temps de réponse : C’est le temps passé dans la file d’attente des processus prêts avant la
première exécution.

Chapitre 4 : Mémoires

La mémoire physique sur un système se divise en deux catégories :


 La mémoire vive : composée de circuit intégrés, donc très rapide
 La mémoire de masse : composée de supports magnétiques (disque dur, bandes
magnétiques...), beaucoup plus lente
La mémoire physique sert de zone de stockage temporaire pour les programmes et données que
vous utilisez. De façon générale, plus la quantité de mémoire est importante, plus vous pouvez
lancer d'applications simultanément. D'autre part, plus celle-ci est rapide plus votre système réagit
vite, il s'agit donc (pour le système d'exploitation) de l'organiser au mieux pour en tirer le
maximum de performances.
1- La gestion de la mémoire
La gestion de la mémoire est un difficile compromis entre les performances (temps d'accès) et la
quantité (espace disponible). On désire en effet tout le temps avoir le maximum de mémoire
disponible, mais l'on souhaite rarement que cela se fasse au détriment des performances.
La gestion de la mémoire doit de plus remplir les fonctions suivantes :
 Permettre le partage de la mémoire (pour un système multi-tâches).
 Permettre d'allouer des blocs de mémoire aux différentes tâches.
 Protéger les espaces mémoire utilisés (empêcher par exemple à un utilisateur de modifier
une tâche exécutée par un autre utilisateur).
 Optimiser la quantité de mémoire disponible, notamment par des mécanismes d'extension
de la mémoire.
2- L'extension de la mémoire
Il est possible d'étendre la mémoire de deux manières :
 En découpant un programme en une partie résidente en mémoire vive et une partie chargée
uniquement en mémoire lorsque l'accès à ces données est nécessaire.
 En utilisant un mécanisme de mémoire virtuelle, consistant à utiliser le disque dur comme
mémoire principale et à stocker uniquement dans la RAM les instructions et les données
utilisées par le processeur. Le système d'exploitation réalise cette opération en créant un
fichier temporaire (appelé fichier SWAP, traduisez "fichier d'échange") dans lequel sont
stockées les informations lorsque la quantité de mémoire vive n'est plus suffisante. Cette
opération se traduit par une baisse considérable des performances, étant donné que le
temps d'accès du disque dur est extrêmement plus faible que celui de la RAM. Lors de
l'utilisation de la mémoire virtuelle, il est courant de constater que la LED du disque dur
reste quasiment constamment .

3- Les mécanismes de découpage de la mémoire


La mémoire centrale peut être découpée de trois façons :
 La segmentation : les programmes sont découpés en parcelles ayant des longueurs
variables appelées «segments».
 La pagination : elle consiste à diviser la mémoire en blocs, et les programmes en pages de
longueur fixe.
 Une combinaison de segmentation et de pagination : certaines parties de la mémoire sont
segmentées, les autres sont paginées.

Vous aimerez peut-être aussi