Vous êtes sur la page 1sur 28

Page 1 sur 28

OBJECTIF
L’objectif de ce cours est de donner aux étudiants les fondamentaux du module intitulé
Architecture des Systèmes d’Exploitation, sa structuration, ses fonctions avec les machines et
avec les autres applications qui y sont installées, d’inculquer à l’étudiant le concept de machine
virtuelle et de ses missions à savoir la gestion des ressources de la machine réelle de manière
transparente à leurs utilisateurs. L’approche retenue se base sur le modèle en couches.
C’est aussi de pouvoir montrer aux apprenants toutes les subtilités du logiciel de base,
le système d’exploitation, dans le processus interactif entre la machine et les applications d’une
part et entre la machine et l’utilisateur d’autre part, etc…
A travers ce cours l’étudiants sera capable de comprendre les principes qui fondent les
échanges entre la machine, les périphériques et l’utilisateur, etc.
Inculquer à l’étudiant le concept de machine virtuelle et de ses missions à savoir gestion
des ressources de la machine réelle de manière transparente aux utilisateurs. L’approche retenue
se base sur le modèle en couches.

STRATEGIE PEDAGOGIQUE
Il s’agit à travers le déroulement du cours de :
▪ Montrer, à travers des exemples illustrant, comment les différents aspects présentés dans
ce cours sont traités par les systèmes d’exploitation couramment utilisés à savoir Unix
et Windows.
▪ Prévoir des exercices voire des travaux pratiques (TP) sur machine illustrant les
connaissances enseignées.
BIBLIOGRAPHIE
➢ N. SALMI, "Principes des Systèmes d’Exploitation", Pages Bleues, les Manuels
de l’Etudiant, 2007.
➢ B. LAMIROY, L. NAJMAN, H. TALBOT, "Systèmes d’exploitation", Collection
Synthex, Pearson Education, 2006.
➢ A. BELKHIR, "Système d’Exploitation, Mécanismes de Base", OPU, 2005.
➢ A. Silberschatz, P.B. Galvin, G. Gagne, "Operating System Concepts", 7th Edition,
John Wiley & Sons Editions, 2005, 921 p.
Page 2 sur 28

Introduction
Le système d'exploitation est le chef d'orchestre du système informatique. Il permet
de faire fonctionner le matériel et les logiciels installés sur votre ordinateur. L’objectif d’un
système informatique est d’automatiser le traitement de l’information.
Un système informatique est constitué de deux entités : le matériel et le logiciel. Côté
matériel, un ordinateur est composé de : L’Unité Centrale (UC) pour les traitements, la
Mémoire Centrale (MC) pour le stockage, et les Périphériques d’E/S : disque dur, clavier,
souris, flash disque, carte réseau... accessibles via des pilotes de périphériques.

L’Informatique repose sur deux aspects dans sa mise en œuvre à savoir l’aspect
concret et l’aspect abstrait. L’aspect concret qui porte sur le matériel aborde le cours sur
l’Architecture de la Technologie des Ordinateurs et l’aspect abstrait quant à lui porte sur le
logiciel à travers le cours intitulé Architecture des Systèmes d’exploitation.
Du côté logiciel, un système informatique est composé de deux niveaux bien
distincts à savoir : les Programmes d’application (achetés ou développés) et les logiciels de
base. Dans les logiciels de base, on trouve le Système d’exploitation (S.E.) et les utilitaires.
L’objectif du logiciel est d’offrir aux utilisateurs des fonctionnalités adaptées à leurs
besoins. Le principe est de masquer les caractéristiques physiques du matériel.
Le terme logiciel est pris dans le sens de programmes intégrés exécutant un ensemble
de tâches reliées. Plus spécifiquement, cet ensemble regroupe un langage de commande, un
système de gestion des mémoires, un système de gestion des fichiers, un système de gestion
de l’unité centrale de traitement, un système de gestion des entrées/sorties.
Dans un sens plus large, l’expression système informatique est souvent utilisée pour
désigner l’ensemble formé de matériel et des logiciels. Sa fonction première est de fournir
des services adaptés à la résolution des problèmes usuels : la gestion de l’information, la
préparation et la mise au point de programmes, l’exploitation de programmes. Tout cela
s’effectue sous le contrôle et la supervision du système d’exploitation.
Page 3 sur 28

Un système d'exploitation (SE) est avant tout un logiciel essentiel au fonctionnement


d’un ordinateur. Le système d’exploitation est le logiciel de base de tout système à
processeur qui prépare la machine. Il fournit une interface permettant la communication
entre l’humain et la machine par les différents logiciels d‘application, tels que les
traitements de texte, les tableurs, les logiciels de dessin, de gestion de données, de
graphisme, etc.
Enfin, c’est grâce au SE que les logiciels peuvent accéder aux ressources matérielles
de l’ordinateur ; il peut ainsi recevoir des commandes du clavier ou de la souris
(périphériques d’entrée) et afficher les résultats à l’écran ou à l’imprimante (périphériques
de sortie).
I. Système informatique
Le système informatique est l’ensemble des matériels et des logiciels destinés à
réaliser des tâches qui mettent en jeu le traitement automatique de l'information.
L’objectif d’un système informatique est d’automatiser le traitement de
l’information. Un système informatique est constitué de deux entités : le matériel et le
logiciel.

Les fonctions de base d’un système informatique sont :


▪ la Communication avec l'utilisateur
- entrée : entrée des informations à traiter : les données
- sortie : communication des résultats
▪ le Calcul (ou traitement)
- élaboration des résultats à partir des données
▪ le Séquencement
- Les opérations sont exécutées l'une après l'autre selon un certain plan appelé
un programme.
- Le choix d'une opération peut éventuellement dépendre du résultat des
opérations précédentes
Page 4 sur 28

▪ la Mémorisation
- Les données et les résultats doivent pouvoir être mémorisés
- La séquence des opérations à effectuer (programme) est également
mémorisée

De façon schématique, l’exploitation d’un système informatique est le processus par


lequel l’ordinateur et le(s) logiciel(s) font subir des transformations aux données
(information) mises à disposition par l’utilisateur de l’état brut à l’état traité, afin d’en tirer
un profit.

I.2. Système informatique : le logiciel


Un système informatique est composé de deux niveaux bien distincts : le système
d’exploitation et les applications.
- L’objectif du logiciel est d’offrir aux utilisateurs des fonctionnalités adaptées à
leurs besoins.
- Le principe est de masquer les caractéristiques physiques du matériel.
- La solution consiste à structurer en couches le logiciel, chacune offrant des services
de plus en plus évolués au niveau supérieur.
Page 5 sur 28

I.3. Système informatique en réseau

II. Système d’exploitation


II.1. Définition du système d'exploitation
Le système d'exploitation (SE, en anglais Operating System ou OS) est un ensemble
de programmes responsables de la liaison entre les ressources matérielles d'un ordinateur
(Hardware) et les applications de l'utilisateur (traitement de texte, jeu vidéo...) (Software).
Il est l’intermédiaire entre un ordinateur (ou en général un appareil muni d’un
processeur) et les applications qui utilisent cet ordinateur ou cet appareil. Son rôle peut être
vu sous deux aspects complémentaires :
- Machine étendue ou encore machine virtuelle (Virtual Machine),
- Gestionnaire de ressources.
II.1.1. Machine étendue ou encore machine virtuelle (Virtual Machine)
Son rôle est de masquer des éléments fastidieux liés au matériel, comme les
interruptions, les horloges, la gestion de la mémoire, la gestion des périphériques
(déplacement du bras du lecteur de disque) ...etc. Cela consiste à fournir des outils adaptés
aux besoins des utilisateurs indépendamment des caractéristiques physiques.
II.1.2. Gestionnaire de ressources
Le système d'exploitation permet l'ordonnancement et le contrôle de l'allocation des
processeurs, des mémoires et des périphériques d'E/S entre les différents programmes qui y
font appel, avec pour objectifs : efficacité (utilisation maximale des ressources), équité (pas
Page 6 sur 28

de programme en attente indéfinie), cohérence (entre des accès consécutifs), et protection


(contre des accès interdits).
Ce rôle de gestionnaire de ressources est crucial pour les systèmes d'exploitation
manipulant plusieurs tâches en même temps à savoir multi-tâches (Multitasking).
On peut trouver un S.E. sur les ordinateurs, les téléphones portables, les assistants
personnels, les cartes à puce, …etc.
II.2. Fonctions du système d’exploitation
Le système d'exploitation offre une suite de services généraux facilitant la création
et l'utilisation de logiciels applicatifs. Les services offerts sont en rapport avec l'utilisation
des ressources de l'ordinateur par les programmes. Ils permettent en particulier d'exécuter
des programmes, de lire et écrire des informations, de manipuler les fichiers, de
communiquer entre ordinateurs et de déceler des erreurs. Ces services permettent à plusieurs
usagers et plusieurs programmes de se partager les ressources de l'ordinateur.
Les rôles du système d'exploitation sont divers à savoir :
- la gestion du processeur : allocation du processeur aux différents programmes.
- la gestion des objets externes : principalement les fichiers.
- la gestion des entrées-sorties : accès aux périphériques, via les pilotes.
- la gestion de la mémoire : segmentation et pagination.
- la gestion de la concurrence : synchronisation pour l'accès à des ressources
partagées.
- la gestion de la protection : respect des droits d'accès aux ressources.
- la gestion des accès au réseau : échange de données entre des machines distantes.
Il assure le démarrage de l'ordinateur, et fournit aux programmes applicatifs des
interfaces standardisées pour l’accès aux périphériques.
Le principal rôle du système d'exploitation est alors de gommer les différences entre
les différentes architectures informatiques, et d'organiser l'utilisation des ressources de
façon rationnelle :
Utilisation des périphériques : chaque périphérique a ses propres instructions, avec
lesquelles il peut être manipulé. Le système d'exploitation en tient compte. Il permet au
programmeur de manipuler le périphérique par de simples demandes de lecture ou
d'écriture, lui évitant la perte de temps de traduire les opérations en instructions propres au
périphérique.
Accès aux fichiers : en plus des instructions propres à chaque périphérique (lecteur
de disquette, disque dur, lecteur de CD-ROM, Clé USB), le système d'exploitation tient
compte du format propre de chaque support servant au stockage de fichiers. Il offre
également des mécanismes de protection permettant de contrôler quel utilisateur peut
manipuler quel fichier.
L'accès aux ressources : Une des fonctions du système d'exploitation est de protéger
les ressources contre l'utilisation par des personnes non autorisées, et de résoudre les conflits
lorsque deux utilisateurs demandent simultanément la même ressource.
Page 7 sur 28

Détection et récupération en cas d'erreur : lorsqu'une erreur survient, qu'elle soit


matérielle ou logicielle, le système d'exploitation traite l'erreur en adoucissant son impact
sur le système informatique. Il peut tenter de réitérer l'opération, arrêter l'exécution du
programme fautif, ou signaler le problème à l'utilisateur.
Contrôle : un système d'exploitation peut tenir des statistiques d'utilisation des
ressources, surveiller la performance, et les temps de réponse.
Le système d'exploitation facilite le travail de programmation en fournissant une
suite de services pouvant être utilisés par les logiciels applicatifs. Du point de vue du
programmeur, son logiciel applicatif s'oriente en direction du système d'exploitation et du
matériel, et les programmes sont considérés comme fonctionnant sur le système
d'exploitation. Un système d'exploitation peut ainsi être vu comme une machine virtuelle.
L'ensemble composé du matériel et du système d'exploitation forme la « machine » qui
exécute le logiciel applicatif, une machine en partie simulée par du logiciel.
II.2.1. Utilisation
Les utilisateurs et les programmeurs peuvent demander des services au système
d'exploitation par son interface de programmation, ses commandes ou son interface
graphique.
II.2.1.1. Interface de programmation
Les appels système permettent des interactions entre un programme en cours
d'exécution et le système d'exploitation. L'utilisation d'appels système ressemble à celle de
fonctions ou de sous-routines ordinaires en langage C ou Pascal.
II.2.1.2. Commandes
Les commandes permettent à un utilisateur ou un programme de demander une
opération au système d'exploitation. Une commande est un programme qui effectue un
appel système selon la demande de l'utilisateur.
II.2.1.3. Interface graphique
L'interface graphique permet une manipulation intuitive par l'intermédiaire de
pictogrammes. Cette interface, qui n'est pas une partie essentielle du système d'exploitation,
et qui cache tous les détails intrinsèques de celui-ci, est souvent considérée comme un
complément.
De nombreux systèmes d'exploitation sont conformes à la norme POSIX (acronyme
de l'anglais Portable Operating System Interface) qui est une norme relative à l'interface de
programmation du système d'exploitation, notamment les membres de la famille Unix.
II.2.2. Processeur
Lorsqu’il est multitâche, le système d'exploitation permet à plusieurs utilisateurs de
se servir de l'ordinateur et donne à chaque utilisateur l'impression qu'il est le seul à utiliser
l'ordinateur. Pour ce faire, l'utilisation du processeur est planifiée : chaque programme est
Page 8 sur 28

exécuté durant une tranche de temps déterminé, puis le système d'exploitation bascule sur
l'exécution d'un autre programme.
a°/- Processus
Un processus est un ensemble d'instructions qui sont en train d'être exécutées. Les
instructions proviennent d'un programme, et l'exécution nécessite du temps, de la mémoire,
des fichiers et des périphériques. Le système d'exploitation s'occupe de créer, d'interrompre,
et de supprimer des processus. Plusieurs processus se trouvent en mémoire centrale en
même temps.
La responsabilité du système d'exploitation est de réserver de la mémoire, et de
planifier l'exécution, de s'occuper des interblocages et d'assurer les communications entre
les processus.
b°/- Ordonnanceur
L'ordonnanceur (anglais Scheduler) associe un processus à un processeur, puis plus
tard le dissocie du processeur pour associer un autre processus. Lors de la planification, le
système d'exploitation tient compte de la disponibilité, ou non, des ressources utilisées par
le processus. Certains systèmes d'exploitation créent des processus pour effectuer certaines
tâches propres au système.
Lors de l'exécution du programme, celui-ci peut demander de réserver des ressources
de l'ordinateur. L'exécution de ce programme peut être interrompue et le système
d'exploitation continue l'exécution d'un autre programme, cependant les ressources restent
réservées. Lorsqu'un autre processus demande une ressource déjà réservée, le processus est
mis en attente. En situation de forte compétition plusieurs processus peuvent être en attente
de la même ressource. Lorsque la ressource est libérée le système d'exploitation décide alors
quel est le prochain processus auquel la ressource sera réservée. La stratégie d'octroi des
ressources par le système d'exploitation vise à répondre équitablement à toutes les
demandes et éviter des conflits.
II.2.3. La communication interprocessus
Dans certains logiciels applicatifs, plusieurs programmes effectuent la même tâche
simultanément, et s'échangent des informations. Le mécanisme de protection de la mémoire
empêche aux programmes de manipuler les mêmes informations, et ceux-ci doivent faire
appels à des services du système d'exploitation.
Protection
Par mesure de sécurité, le système d'exploitation réserve à chaque programme un
espace d'adressage - un emplacement en mémoire que seul le programme en question peut
manipuler. Le système d'exploitation détecte toute tentative d'accès en dehors de l'espace
d'adressage et provoque l'arrêt immédiat du programme qui tente d'effectuer de telles
opérations. On nomme cela une erreur de protection générale.
II.2.4. Mémoire
Page 9 sur 28

Le système d'exploitation dirige l'utilisation de la mémoire. Il retient la liste des


emplacements de mémoire utilisés, et par qui, ainsi que la liste des emplacements libres. Le
système d'exploitation réserve un emplacement de mémoire lorsqu'un processus le
demande, et le libère lorsqu'il n'est plus utilisé, par exemple lorsque le processus s'est arrêté.
Les fonctions de contrôle de l'utilisation de la mémoire vont en particulier suivre
l'utilisation de celle-ci, quels emplacements sont libres, sont utilisés, et par qui ? Ces
fonctions vont également décider quel programme reçoit de la mémoire, quand et quelle
quantité est mise à disposition et récupérer la mémoire qui était utilisée par un programme
après son exécution, que le programme se soit arrêté volontairement ou accidentellement.
La quantité de mémoire utilisée par l'ensemble du système informatique dépend
essentiellement de la manière dont le système d'exploitation effectue les réservations.
Dans les systèmes d'exploitation contemporains, plusieurs programmes sont
exécutés en même temps et utilisent simultanément la mémoire centrale. Si un processus
modifie - accidentellement ou intentionnellement - un emplacement de mémoire utilisée par
un autre processus, il met celui-ci en danger. S'il modifie un emplacement utilisé par le
système d'exploitation il met en danger l'ensemble du système informatique.
Pour éviter tel incident, le système d'exploitation réserve à chaque programme un
espace d'adressage - un emplacement en mémoire que seul le programme en question peut
manipuler. Le système d'exploitation détecte toute tentative d'accès en dehors de l'espace
d'adressage et provoque l'arrêt immédiat du programme qui tente d'effectuer telles
opérations, par le biais d'une erreur de protection générale.
La mémoire virtuelle
Le mécanisme dit de mémoire virtuelle est destiné à simuler la présence ou l'absence
de mémoire centrale par manipulation de l'unité de gestion mémoire - un composant
électronique (anglais Memory Management Unit abrégé MMU). C'est un mécanisme
courant dans les systèmes d'exploitation contemporains.
La mémoire virtuelle permet d'exécuter simultanément plus de programmes que ce
que la mémoire centrale peut contenir. Chaque programme n'ayant pas besoin que la totalité
des informations qu'il manipule soit présente dans la mémoire centrale, une partie des
informations est stockée dans la mémoire de masse (en général dans un fichier ou une
partition de disque dur) habituellement plus importante mais plus lente et sont transférées
en mémoire centrale lorsque le programme en a besoin.
Des mémoires associatives, incorporées dans l'unité de gestion de mémoire,
accélèrent le calcul des adresses. Les systèmes d'exploitation utilisent généralement deux
mémoires associatives : une pour le mode noyau et une pour le mode utilisateur. La
mémoire du mode noyau est arrangée de manière à permettre au processeur d'utiliser la
totalité de la mémoire centrale disponible - lors de l'exécution des programmes du noyau du
système d'exploitation. Tandis que celle du mode utilisateur est arrangée de manière à
protéger le noyau (qui est ainsi invisible pour le programme en question) - lors de
l'exécution des programmes hors du noyau. C'est ce que l'on nomme la protection, et ces
mécanismes constituent les principales caractéristiques du mode protégé.
II.2.5. Périphériques
Page 10 sur 28

Les périphériques sont tous les dispositifs informatiques qui permettent au


processeur de communiquer avec l'extérieur : clavier, imprimante, carte réseau, mémoire,
disque dur. Ils permettent en particulier de recevoir des informations, d'en envoyer, ainsi
que de stocker des informations - les collecter dans le but de les renvoyer plus tard.
Une des responsabilités du système d'exploitation est de suivre l'état d'utilisation -
libre ou réservé - de tout le matériel du système informatique. Lorsqu'un matériel libre est
demandé par un processus, il est alors réservé à ce processus. Pour utiliser un périphérique,
le système d'exploitation se sert d'un contrôleur et d'un pilote de périphérique.
II.2.5.1. Contrôleur
Un contrôleur est un composant électronique, qui comporte une mémoire tampon, et
manipule un certain type de périphérique (disque dur, imprimante, mémoire, lecteur de
bande magnétique...). Le contrôleur est souvent intégré au périphérique. Les différents
contrôleurs disponibles sur le marché ne s'utilisent pas tous de la même manière.
II.2.5.2. Pilote (anglais driver)
Les instructions de manipulation d'une gamme de contrôleurs donnée sont incluses
dans un pilote informatique : un logiciel qui exploite les possibilités offertes par les
contrôleurs. Les pilotes informatiques font partie du système d'exploitation, et offrent des
services uniformes utilisés par les autres programmes du système d'exploitation.
Il existe deux stratégies de manipulation des contrôleurs :
Les contrôleurs rapides sont manipulés en programme d’I/O. Dans cette stratégie le
processeur envoie des demandes d'opérations au contrôleur puis vérifie de manière
intermittente l'état du contrôleur pour vérifier si l'opération demandée est terminée.
Les contrôleurs moins rapides sont manipulés en interrupt driven I/O. Dans cette
stratégie le processeur effectue une demande au contrôleur, puis continue d'exécuter des
logiciels applicatifs. Le contrôleur envoie un signal électrique lorsque l'opération est
terminée. Lors de la venue de ce signal, le processeur interrompt l'exécution des logiciels
applicatifs et exécute un programme particulier interrupt service routine qui vérifie le
nouvel état du contrôleur.
II.2.6. Fichiers
Un fichier est une collection d'informations portant un nom, enregistrée sur un média
tel qu'un disque dur, une bande magnétique ou un disque optique. Chaque médium a ses
propres caractéristiques et sa propre organisation.
Le système d'exploitation s'occupe de créer et de détruire des fichiers et des
répertoires, de réserver de l'espace sur les médias ainsi que copier le contenu des fichiers de
et vers la mémoire centrale. Il aide également les logiciels applicatifs à retrouver les fichiers,
partager les fichiers entre plusieurs utilisateurs, modifier le contenu des fichiers et créer des
répertoires (permettant de classer et d'organiser les fichiers). La vitesse du système
informatique dépendra de la vitesse de manipulation des fichiers.
Page 11 sur 28

Le système d'exploitation permet en particulier de manipuler les attributs : les


caractéristiques du fichier telles que son nom, la date de création, le type du contenu, la
taille et l'emplacement. Il permet également de manipuler les permissions : des autorisations
qui indiquent si un utilisateur pourra lire, écrire ou exécuter le fichier.
Il existe cinq générations de systèmes d'exploitation :
- les systèmes d’exploitation basés sur le traitement par lots (batch),
- les systèmes d’exploitation multiprogrammés,
- les systèmes d’exploitation en temps partagé,
- les systèmes d’exploitation en temps réel,
- et les systèmes d’exploitation distribués.
Chacun des principes mis en œuvre dans une génération se retrouve dans les générations
suivantes.
II.2.7. Les générations de Systèmes d’exploitation
Le Système d’Exploitation est l'ensemble de programmes qui fournit tous les
services nécessaires à la gestion de l'ordinateur. Il fournit les fonctions permettant :
- la réalisation de la machine virtuelle qu'il représente,
- la gestion et le partage des ressources.
Il existe cinq générations de Systèmes d’exploitation (SE ou OS) :
II.2.7.1. Première génération : Traitement par lots
Les systèmes d'exploitation basés sur le traitement par « lots » (suites d'instructions
et de données dans un ensemble de cartes perforées) sont apparus dans les années 1950. Un
programme (avec ses données) n'est rien d'autre qu'une pile de cartes avec des indicateurs
de début et de fin de lot. Un système de traitement par lots (batch) est prévu pour l'exécution
de grands calculs les uns après les autres, avec peu d'intervention utilisateur. L'exécution
d'un programme consiste à demander à un opérateur de placer la pile de cartes dans le
lecteur, puis l'opérateur lance la lecture séquentielle des cartes. Le processeur central est au
repos, durant les manipulations de l'opérateur.
Un batch est un lot de travaux à effectuer. L'opérateur compose un batch en posant
les unes sur les autres les piles de cartes des différents programmes (avec leurs données)
demandés par les utilisateurs. Il forme une grande pile de cartes séparées par des marque-
page, en général une carte de couleur particulière, qu'il place ensuite dans le lecteur. Le
regroupement de plusieurs programmes en un batch diminue les interventions de
l'opérateur.
Inconvénients
− Perte de temps due à l’occupation du processeur durant les opérations d’E/S. (En
effet, le processeur restait trop inactif, car la vitesse des périphériques mécaniques
était plus lente que celle des dispositifs électroniques).
− Les tâches inachevées sont abandonnées.
Page 12 sur 28

Figure d’un travail de traitement par lots

II.2.7.2. Deuxième génération : la multiprogrammation


À partir de la génération des systèmes d'exploitation multiprogrammés, plusieurs
programmes sont exécutés simultanément par planification (Scheduling). Dans ces
systèmes d'exploitation multitâches, plusieurs programmes résident dans la mémoire
centrale et le système d'exploitation suspend régulièrement l'exécution d'un programme
pour continuer l'exécution d'un autre.
Dans la génération des systèmes multiprogrammés, l'exécution simultanée de
plusieurs programmes vise l'utilisation efficace de la puissance de calcul du processeur.
Le but recherché par de tels systèmes, apparus dans les années 1960, est d'augmenter
l'efficacité de l'utilisation du processeur et des périphériques en utilisant la possibilité de les
faire fonctionner en parallèle. Plusieurs programmes sont placés en mémoire centrale, et
lorsque le programme en cours d'exécution attend un résultat de la part d'un périphérique,
le système d'exploitation ordonne au processeur d'exécuter un autre programme.
Dans les systèmes d'exploitation multiprogrammés, l'utilisation du processeur est
partagée par planification (scheduling) : à chaque utilisation d'un périphérique, le système
d'exploitation choisit quel programme va être exécuté. Ce choix se fait sur la base de
priorités. Le système d'exploitation comporte un mécanisme de protection évitant ainsi que
le programme en cours d'exécution ne lise ou n'écrive dans la mémoire attribuée à un autre
programme. Les programmes sont exécutés dans un mode non-privilégié, dans lequel
l'exécution de certaines instructions est interdite.
Les systèmes multi-programmés nécessitent un ordinateur et des périphériques
mettant en œuvre la technique du DMA (Direct Memory Access) celle-ci, le processeur
ordonne à un périphérique d'effectuer une opération, le résultat de l'opération est placé en
mémoire centrale par le périphérique tandis que le processeur exécute d'autres instructions.
Dans les systèmes multi-programmés, tout comme pour les systèmes batch, l'utilisateur n'a
que peu de contact avec les programmes et de maigres possibilités d'intervention.
L’idée était alors, pour pallier les inconvénients du traitement par lots, de maintenir
en mémoire plusieurs travaux ou jobs prêts à s’exécuter, et partager efficacement les
ressources de la machine entre ces jobs.
Page 13 sur 28

Programmeurs

Ordinateur principal

Lecteur de cartes

Disque entrées

Mémoire principale
Système

Programme 1
Opérateur
Programme 2



Programme N

Disque sorties

Imprimante

Programmeurs

Figure d’un Système de multiprogrammation

En effet, le processeur est alloué à un job, et dès que celui-ci effectue une demande
d’E/S, le processeur est alloué à un autre job, éliminant ainsi les temps d’attente de l’unité
de traitement chargé des E/S, appelé canal d’E/S.

Exemple
Soient les deux programmes A et B suivants :

On suppose qu’on a un seul périphérique d’E/S.


- Système monoprogrammé
Page 14 sur 28

- Système multiprogrammé

La comparaison de la Monoprogrammation et de la Multiprogrammation se résume


dans le tableau si dessous :

Monoprogrammation Multiprogrammation

- Mauvaise utilisation des ressources - Possibilité de mieux équilibrer la charge


(processeur, mémoire, E/S, …etc.). des ressources.
- Mieux utiliser la mémoire (minimiser
- Temps de réponse imposé par les jobs
l’espace libre).
très longs.
- Possibilité d’améliorer le temps de
- S.E. simple ; seule contrainte : protéger
réponse pour les travaux courts.
la partie résidente du système des
utilisateurs. - Protéger les programmes utilisateurs des
actions des autres utilisateurs, et protéger
aussi la partie résidente des usagers.

II.2.7.3. Troisième génération : le temps partagé


Page 15 sur 28

Un système en temps partagé met en œuvre des techniques sophistiquées de


multiprogrammation en vue de permettre l'utilisation interactive de l'ordinateur par
plusieurs usagers et plusieurs programmes simultanément. L'arrivée, en 1970, de cette
nouvelle génération de systèmes d'exploitation résulte d'une forte demande des
consommateurs, et de la baisse du prix du matériel informatique ayant rendu possible sa
réalisation.
C’est une variante du mode multiprogrammé où le temps CPU est distribué en
petites tranches appelées quantum de temps.
L’objectif est d’offrir aux usagers une interaction directe avec la machine par
l’intermédiaire de terminaux de conversation, et de leur allouer le processeur
successivement durant un quantum de temps, chaque utilisateur aura l’impression de
disposer de la machine à lui tout seul. Il peut aussi contrôler le job qu’il a soumis
directement à partir du terminal (corriger les erreurs, recompiler, resoumettre le job, …).
Dans les systèmes d'exploitation en temps partagé la notion de batch n'a que peu
d'importance. Ces systèmes mettent en œuvre de nouveaux mécanismes d'utilisation du
processeur et de la mémoire, qui leur permet de répondre rapidement à des demandes
provenant simultanément d'un grand nombre d'utilisateurs.
En 2011 de nombreux systèmes d'exploitation sont basés sur Unix, un système en
temps partagé.

Terminal Terminal Terminal

Utilisateurs Programmeurs

Ordinateur principal

Mémoire
principale
Système

Programme 1

Programme 2



Programme N

Ingénieur
Figure d’un Système à temps partagé
Dans la génération des systèmes en temps partagé l'exécution simultanée de
plusieurs programmes vise à répondre rapidement aux demandes de plusieurs utilisateurs
en communication directe avec l'ordinateur
Page 16 sur 28

II.2.7.4. Quatrième et cinquième générations : le temps réel et le temps distribué


II.2.7.4.1 Systèmes des Ordinateurs Personnels
Comme le coût du matériel a baissé, il est devenu possible d’avoir un système
informatique dédié à un seul utilisateur. Ces types de systèmes informatiques sont appelés
ordinateurs personnels ou PC (Personal Computer) ou micro-ordinateurs. Les objectifs de
ces systèmes (qui n’étaient ni multiutilisateurs, ni multitâches) sont concentrés sur la
commodité de l’utilisateur et la rapidité de réaction, la convivialité et l’interactivité avec
l’utilisateur, plutôt que de rendre maximale l’utilisation de l’unité centrale et ses
périphériques.
Un système informatique interactif (ou assisté) permet la communication directe
entre l’utilisateur et le système : l’utilisateur donne des instructions ou commandes au
Système d’Exploitation, par clavier ou souris, et attend des résultats immédiats.

II.2.7.4.2 Systèmes Parallèles (Parallel Systems)


Les systèmes parallèles, appelés aussi systèmes fortement couplés (Tightly
Coupled), possèdent plus d’un processeur en étroite communication, qui partagent le bus
de l’ordinateur, l’horloge et parfois la mémoire et les périphériques.
L’avantage de tels systèmes est d’augmenter la capacité de traitement, où plusieurs
processeurs collaborent pour réaliser une tâche et aussi la fiabilité : dans le cas où un des
processeurs tombe en panne, le système global ne s’arrête pas, mais ralentit seulement ses
travaux.
Les systèmes multiprocesseurs les plus courants utilisent maintenant la
fonctionnalité de multitraitement symétrique (SMP, Symetric MultiProcessing), où chaque
processeur exécute une copie du S.E. et ces copies communiquent entre elles lorsque
nécessaire.

II.2.7.4.3 Systèmes Temps réel


Dans les systèmes d'exploitation temps réel, l'accent est mis sur la durée nécessaire
pour effectuer chaque opération, pour répondre aux demandes rapidement en vue de
satisfaire aux contraintes de temps du système dans lequel il est utilisé.
Les systèmes d'exploitation temps réel sont apparus au milieu des années 1970,
notamment chez Hewlett-Packard. Ils sont destinés aux dispositifs devant non seulement
donner des résultats corrects, mais les donner dans un délai déterminé.
Certains services offerts par ces systèmes d'exploitation sont réalisés comme des
logiciels applicatifs, et sont exécutés en concurrence avec ceux-ci. Un système
d'exploitation temps réel autorise un contact direct entre les logiciels applicatifs et les
périphériques. Dans certains systèmes temps réel les ressources sont réservées, évitant ainsi
les ralentissements que provoqueraient les réservations à la volée, et garantissant que les
ressources sont continuellement disponibles.
Page 17 sur 28

Un système d’exploitation temps réel possède des contraintes de temps fixes et bien
définies. Le traitement doit être effectué dans les contraintes définies, sinon le système
tombe en panne.
II.2.7.4.4 Systèmes Distribués et Réseaux
Un développement intéressant a débuté vers le milieu des années 1980 : la croissance
des réseaux d'ordinateurs personnels fonctionnant sous des systèmes d'exploitation
réseaux ou des systèmes d'exploitation distribués.
■ Les systèmes réseaux (Network Operating Systems), permettant l’accès des
utilisateurs à des services communs, trop coûteux pour être individuels : stockage de
grandes quantités d’informations, impression des documents, processeurs de grandes
puissances, …etc. Ces services sont gérés par des systèmes appelés serveurs, auxquels
s’adressent les utilisateurs clients qui disposent chacun de leurs machines individuelles. Un
ordinateur qui exécute un système d’exploitation réseau agit indépendamment de tous les
autres ordinateurs présents sur le réseau, bien qu’il ait connaissance du réseau et soit capable
de communiquer avec d’autres ordinateurs connectés.
■ Les systèmes distribués (Distributed Systems) qui consistent en plusieurs ordinateurs
pourvus de leur système d’exploitation et reliés entre eux par des canaux de communication.
On parle de systèmes répartis ou faiblement couplés (Loosely Coupled). Les Systèmes
d’Exploitation de ces ordinateurs coopèrent et collaborent pour exécuter une application
distribuée. Ces systèmes communiquent de manière suffisamment proche pour donner
l’illusion qu’il n’y a qu’un S.E. unique qui contrôle le réseau.
La baisse des prix du matériel informatique a permis, dans les années 1990, la
création de systèmes informatiques composés de plusieurs ordinateurs, et donc plusieurs
processeurs, plusieurs mémoires, et de nombreux périphériques. Un système distribué
permet le partage des ressources entre les ordinateurs. Un utilisateur d'un ordinateur bon
marché peut se servir de ressources coûteuses existant sur un autre ordinateur.
II.2.7.4.5 Systèmes Embarqués (Embedded Systems)
Un système embarqué est un système prévu pour fonctionner sur des appareils
autonomes (ex. électroménager, robot, automobile), ou des appareils de petite taille (ex.
PDA, téléphone, carte à puce).
Ces systèmes sont caractérisés par une autonomie réduite, un besoin de gestion
avancée de l’énergie, et une capacité de fonctionner avec des ressources limitées.
Parmi ces systèmes, on trouve Palm OS et Windows CE pour PDA, Java Card pour cartes
à puce, TinyOS pour les réseaux de capteurs (Sensor networks), RTX, Embedded Linux,
Symbian OS, Vx Works,…etc. qui sont des systèmes d'exploitation temps réel.
II.2.7.4.6 Systèmes Multicœurs (Multicore Systems)
Un ordinateur multicœurs (Chip Multi-Processor), combine deux ou plusieurs
processeurs, appelés cœurs (Cores), sur une seule puce de silicone, appelée die (Die).
Page 18 sur 28

L’apparition des architectures multicœurs nécessite de repenser la conception des


systèmes d’exploitation afin de pouvoir en tirer profit du parallélisme offert par ces
architectures. Le défi de conception d’un système d’exploitation pour une architecture
multicœurs est de permettre une exploitation simple, sure, et efficace des processeurs
multicœurs.
Même si les systèmes d’exploitation actuels ne supportent pas totalement les
architectures multicœurs, des améliorations ont été apportées à leur gestion de ressources
(notamment la gestion de l’ordonnancement et la gestion des caches) pour prendre en
compte ces architectures.
II.3. Organisation générale du noyau
Du point de vue logiciel, on peut décomposer le SE en deux parties principales : le
noyau qui assure les fonctions de bases pour la gestion des ressources matérielles : E/S,
processus (prg en cours d'exécution), mémoire et les services à savoir les Commandes pour
la gestion des fichiers, les protocoles et services réseaux, l’accès aux périphériques annexes
à l'UC, l’interface utilisateur (commandes), etc.

Un système d'exploitation est essentiellement événementiel - il est exécuté lorsque


quelque chose s'est passé, typiquement lors d'un appel système, une interruption matérielle
ou une erreur. C'est un logiciel étendu et complexe, qui offre de nombreuses fonctions. Il
est construit comme une suite de modules, chacun ayant une fonction déterminée.
Le noyau (en anglais : kernel) est la pièce centrale du système d'exploitation. C'est
le second programme chargé en mémoire (juste après le bootloader) et il y reste en
permanence - ses services sont utilisés continuellement.
Il réside généralement dans un emplacement protégé de mémoire vive, qui ne peut
pas être modifié ni exploité par les autres programmes (c'est-à-dire dans le cas d'un système
d'exploitation en mode protégé).
C'est un composant critique : si le kernel subit une erreur et s'arrête alors l'ordinateur
cessera de fonctionner, tandis que si un autre programme s'arrêtait (par exemple un
programme utilisateur) alors le système d'exploitation resterait opérationnel.
Il offre typiquement des fonctions pour créer ou détruire des processus (i.e. exécuter
des programmes), diriger l'utilisation du processeur, de la mémoire et des périphériques. Il
Page 19 sur 28

offre également les fonctions qui permettent aux programmes de communiquer entre eux et
de s'aligner dans le temps (synchronisation).
II.3.1. Noyau monolithique
Dans une construction monolithique, le système d'exploitation est composé d'un seul
programme : le noyau. Celui-ci est typiquement organisé en couches. La construction
monolithique est la plus courante, appliquée à la plupart des Unix, presque toutes les
fonctionnalités sont dans le noyau (Linux, UNIX, Windows NT et 2000, MAC OS 7-9)
II.3.2. Noyau à micronoyau
Dans la construction micronoyau, le kernel fournit les services minimums : de
nombreuses fonctions du système d'exploitation ont été retirées du noyau et sont offertes
par des programmes manipulés par celui-ci, qui sont ce que l'on appelle des services (pour
un système en mode protégé, la grande différence avec un système monolithique sera que
ces services seront exécutés dans l'espace mémoire utilisateur et non celui du noyau).
Les appels de fonction au système d'exploitation par les programmes utilisateurs ont
été remplacés par des envois de message. Dans cette construction le noyau est utilisé
principalement pour planifier l'exécution de processus, et pour échanger des messages. AIX,
BeOS, Mach, Hurd, MacOS X, Minix et QNX sont des systèmes d'exploitation qui utilisent
cette construction.
II.3.3. Noyau hybride
La construction hybride ressemble à une construction microkernel, cependant
certaines fonctions ont été placées dans le noyau pour des raisons d'efficacité. Windows
NT, 2000 et XP (et également les Windows plus récents) ainsi que DragonFly BSD sont en
construction hybride.
II.3.4. Système organisé par couches
Utilisateur
Le principe de la répartition par
couches est que chaque module d'une
couche donnée utilise uniquement des
fonctions offertes par les modules qui se
trouvent dans la couche au-dessous.
L'organisation en couche n'est pas unique
aux systèmes d'exploitation et est
couramment appliquée aux logiciels
applicatifs.
Dans un système d'exploitation, les couches inférieures concernent les périphériques
et la mémoire ; au-dessus desquelles se trouvent les systèmes de fichiers, puis les processus.
Ces couches constituent la normalisation de la machine : pour un programme utilisateur et
un système d'exploitation donné, tous les ordinateurs seront identiques (ou presque). C'est ce
que l'on nomme l'abstraction matérielle.
Page 20 sur 28

II.3.5. Appels système


Le kernel étant dans un emplacement protégé, il est impossible pour un logiciel
applicatif d'appeler directement ses fonctions. Un mécanisme permet aux logiciels
applicatifs de demander des services au système d'exploitation. Il est typiquement mis en
œuvre par une bibliothèque. Celle-ci comporte des fonctions bouchon qui consistent à
placer les paramètres selon une convention, puis utiliser une instruction du processeur qui
provoque la mise en pause du processus en cours et l'exécution du système d'exploitation.
Les fonctions de bouchon s'utilisent comme les fonctions ordinaires d'une bibliothèque.

II.3.6. Noyau client-serveur


Dans une construction client-serveur, le cœur du système d'exploitation a pour seule
fonction d'assurer la communication entre les modules. Le système d'exploitation est divisé
en nombreux petits modules qui sont exécutés de la même manière que des logiciels
applicatifs. Cette construction est bien adaptée aux systèmes d'exploitation distribués.

II.3.7. Principe de machine virtuelle


Le principe des machines virtuelles, est que le système d'exploitation crée l'illusion
qu'il existe plusieurs machines, aux capacités étendues, en utilisant une seule machine aux
capacités plus limitées. Le cœur du système d'exploitation est un moniteur qui crée les
illusions - machine virtuelle - Les caractéristiques techniques de ces machines virtuelles
sont identiques à celle de la machine réellement utilisée et celles-ci peuvent être utilisées
pour exécuter un autre système d'exploitation.
II.4. Les systèmes d'exploitation : La multiprogrammation
Les tout premiers OS étaient relativement simples. Notamment, ceux-ci ne pouvaient
pas exécuter plusieurs programmes en même temps. Il était ainsi impossible de démarrer à
la fois un navigateur internet, tout en écoutant de la musique. Dit autrement, ces systèmes
d'exploitation ne permettaient de ne démarrer qu'un seul programme à la fois. On appelait
ces OS des OS monoprogrammés ou mono-tâche.
Mais cette solution avait un problème. Lors de l'accès à un périphérique, le
processeur doit attendre que le transfert avec le périphérique ait cessé et soit inutilisé durant
tout ce temps. Pour certains programmes qui accèdent beaucoup aux périphériques, il est
possible que le processeur ne soit utilisé que 20% du temps, voire moins. Une solution à
cela est d’exécuter un autre programme pendant que le programme principal accède aux
périphériques. Un OS qui permet cela est un OS multiprogrammé. Le nombre de
programmes pouvant être chargés en mémoire simultanément est appelé le taux de
multiprogrammation. Plus celui-ci est élevé, plus l'OS utilisera le processeur à ses capacités
maximales.
Les OS actuels vont plus loin et permettent d’exécuter plusieurs programmes
"simultanément", même si aucun programme n'accède aux périphériques. Les OS de ce
genre sont des OS multi-tâche.
Page 21 sur 28

II.5. Allocation du processeur


Le système d'exploitation utilise une technique très simple pour permettre la
multiprogrammation sur les ordinateurs à un seul processeur : l'ordonnancement. Cela
consiste à constamment switcher entre les différents programmes qui doivent être exécutés :
en switchant assez vite, on peut donner l'illusion que plusieurs processus s'exécutent en
même temps.

Ordonnanceur noyau os

Avec cette technique, chaque processus peut être dans (au moins) trois états :
• Élu : un processus en état élu est en train de s'exécuter sur le processeur.
• Prêt : celui-ci a besoin de s'exécuter sur le processeur et attend son tour.
• Bloqué : celui-ci n'a pas besoin de s'exécuter (par exemple, parce que celui-ci attend
une donnée en provenance d'une entrée-sortie).

Les processus en état prêt sont placés dans une file d'attente, le nombre de
programmes dans cette liste a une limite fixée par le système d'exploitation. Lorsque l'OS
décide de switcher de processus, il doit choisir un processus dans la file d'attente et le lancer
Page 22 sur 28

sur le processeur. Pour comprendre comment faire, il faut se souvenir qu'un processus
manipule un ensemble de registres processeur, aussi appelé contexte d'exécution du
processus. Pour qu'un processus puisse reprendre où il en était, il faut que son contexte
d’exécution redevienne ce qu'il était. Pour cela, ce contexte d’exécution est sauvegardé
quand il est interrompu et restauré lors de l’ordonnancement. On appelle cela une
commutation de contexte. Avec cette méthode de sauvegarde du contexte, le système
d'exploitation doit fatalement mémoriser tous les contextes des processus dans une liste
appelée table des processus, elle-même très liée à la file d'attente.
Reste que pour utiliser notre processeur au mieux, il faut faire en sorte que tous les
processus aient leur part du gâteau. C'est ce qu'on appelle l'ordonnancement. Il existe deux
grandes formes d'ordonnancement : l'ordonnancement collaboratif, et l'ordonnancement
préemptif. Dans le premier cas, c'est le processus lui-même qui décide de passer de l'état
élu à l'état bloqué ou prêt, par l'intermédiaire d'un appel système. Dans le second, c'est le
système d’exploitation qui stoppe l’exécution d'un processus. L'avantage du dernier cas est
que les processus ne peuvent plus monopoliser le processeur.
Page 23 sur 28

ANNEXE
Pour nous résumer, nous noterons que le Système d’exploitation dispose de plusieurs
fonctions à savoir :
❖ Gestion de l'information : structuration, conservation, transfert, désignation de
l'information. Fonction réalisée par le Système de Gestion de Fichiers (SGF).
❖ Fonction d'exécution : exécution de programmes en séquence, en parallèle,
composition de programmes. Fonction réalisée par l'interprète du langage de
commande.
❖ Gestion des ressources physiques : allocation de la mémoire principale, allocation
de la mémoire secondaire, allocation des organes d'entrée-sortie, allocation du
processeur
❖ Partage et échange d'informations entre usagers : messagerie, liens symboliques,
gestion des droits d'accès.
❖ Protection mutuelle des usagers.
❖ Services divers : aide à la mise au point de programmes (débogueurs), traitement des
défaillances, mesure du temps, facturation des ressources, statistiques d'utilisation
des ressources, mesure de performances, etc.
Entre autres services il peut s’ajouter :
▪ la fourniture des services adaptés aux problèmes usuels :
- la gestion de l'information : désignation, stockage, recherche, communication
- la préparation et la mise au point de programmes
- l‘exécution de programmes (applications)
▪ L'ensemble des services fournis aux usagers constitue une nouvelle machine souvent
qualifiée d'abstraite ou de virtuelle.
Interface du système informatique
▪ L'interface du système informatique est constituée des outils disponibles pour
accéder aux services fournis.
▪ Ces outils définissent le langage de la machine abstraite qui permet aux usagers de
communiquer avec le système.
Organisation schématique d'un système informatique

▪ Les fonctions communes à une grande majorité des applications sont réalisées par
un ensemble de programmes appelés logiciel de base.
Exemples :
✓ la gestion de fichiers et de répertoires (dossiers),
✓ l’impression de documents
✓ un logiciel d'application réalise une application spécifique en utilisant des
services fournis par le logiciel de base.
Page 24 sur 28

Exemples : traitement de texte, tableur

II.7. Logiciel de base et système d'exploitation

Modèle en couche
Page 25 sur 28

Noyau

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


- la communication entre les logiciels et le matériel ;
- la gestion des divers logiciels exécutés sur une machine (tâches) :
lancement des programmes, ordonnancement, … ;
- la gestion du matériel : mémoire, processeur, périphérique, stockage, ...
La majorité des systèmes d’exploitation est construite autour de la notion de noyau,
c’est-à-dire d’un programme unique responsable de la communication entre le matériel et
le logiciel.
Importance du langage de commande

C'est un point clé du système d'exploitation, on distingue :


➢ Langages de commande textuels qui sont puissants mais difficiles à utiliser
par un utilisateur non initié :
- Shell Windows (issu des commandes MS-DOS),
- Shell UNIX.
➢ Langages de commandes graphiques d'usage plus simple mais plus limités,
par exemple :
- Bureaux Windows ou MacOS,
- X-Windows, Gnome ou KDE sous UNIX
- Interfaces Android, iOS pour les appareils mobiles
Classes de systèmes d'exploitation
➢ Systèmes mono-usager MS-DOS (Microsoft)
- Premières versions de MacOS
- Premières versions de Windows (Microsoft)
- Palm OS, Android, iOS
➢ Systèmes multi-usagers UNIX, Linux, Android 4.3
- Windows récents (NT, 2000, XP, Vista, 7, 8), MacOS
- Tous les systèmes des gros ordinateurs ("mainframes")
Page 26 sur 28

Exemples de Systèmes d’exploitation

L’ordinateur personnel
Gestion des fichiers
Création, Modification, Suppression

Entrées/Sorties
Ecran, Imprimantes

Exécution de programmes

Interface utilisateur
Langage de commande ou graphique

▪ Usages :
✓ création, conservation, désignation de fichiers,
✓ exécution de programmes,
✓ création de nouveaux programmes.
▪ Qualités attendues :
✓ efficacité (bonne exploitation des capacités),
✓ simplicité d'utilisation,
✓ facilité d'extension par adjonction
✓ - de nouveaux programmes
✓ - de nouveaux périphériques

Système à temps partagé

Fonctions d’un système d’ordinateur


personnel

+ Gestion des utilisateurs


espace de travail, droits d’accès

+ Partages de ressources
imprimantes, disques, etc.

+ Gestion des communications


informations partagées,
communications entre utilisateurs
Page 27 sur 28

Partie lexicale
Une application, un applicatif est, dans le domaine informatique, un programme (ou
un ensemble logiciel) directement utilisé pour réaliser une tâche, ou un ensemble de tâches
élémentaires d'un même domaine ou formant un tout. Typiquement, un éditeur de texte, un
navigateur web, un lecteur multimédia, un jeu vidéo, sont des applications. Les applications
s'exécutent en utilisant les services du système d'exploitation pour utiliser les ressources
matérielles.
Un matériel informatique (en anglais : hardware) est une pièce détachée d'un système
informatique. Il s'agit d'un domaine important de l’informatique qui va de pair avec le logiciel
(software). Il peut y avoir des pièces situées à l'intérieur de l'appareil et qui sont indispensables
à son fonctionnement, comme secondaires ou disposées à l'extérieur (les périphériques).
En informatique, une instruction machine est une opération élémentaire qu'un
programme demande à un processeur d'effectuer. C'est l'ordre le plus basique que peut
comprendre un ordinateur.
La collection d'instructions machine qui peuvent être données à un processeur est son jeu
d'instructions. Les instructions machine sont codées en binaire.
Un champ de l'instruction appelé « code opération » ou « opcode » désigne l'opération
à effectuer. Puisque sa valeur numérique n'a pas de sens pour les humains, le programmeur
utilise une abréviation désignant le code opération fourni par le langage assembleur pour ce
processeur.
En informatique, une machine virtuelle (anglais virtual machine, abr. VM) est une
illusion d'un appareil informatique créée par un logiciel d'émulation sur un hyperviseur. Le
logiciel d'émulation simule la présence de ressources matérielles et logicielles telles que la
mémoire, le processeur, le disque dur, voire le système d'exploitation et les pilotes, permettant
d'exécuter des programmes dans les mêmes conditions que celles de la machine simulée.
Un système embarqué est défini comme un système électronique et informatique
autonome, souvent temps réel, spécialisé dans une tâche bien précise. Le terme désigne aussi
bien le matériel informatique que le logiciel utilisé. Ses ressources sont généralement limitées.
Cette limitation est généralement d'ordre spatial (encombrement réduit) et énergétique
(consommation restreinte).
Les domaines dans lesquels on trouve des systèmes embarqués sont de plus en plus
nombreux :
• Astronautique : fusée, satellite artificiel, sonde spatiale, etc.
• Automate programmable industriel, contrôle-commande
• Électroménager : télévision, four à micro-ondes
• Environnement
• Équipement médical
• Guichet automatique bancaire (GAB)
• Impression : imprimante multifonctions, photocopieur, etc.
• Informatique : disque dur, Lecteur de disquette, etc.
• Métrologie
Page 28 sur 28

• Militaire : missile
• Multimédia : console de jeux vidéo, assistant personnel
• Télécommunication : Set-top box, téléphonie, routeur, pare-feu, serveur de temps,
Téléphone portable, .

Transport : Automobile, Aéronautique (avionique), Ferroviaire, etc.

Vous aimerez peut-être aussi