0% ont trouvé ce document utile (0 vote)
53 vues10 pages

Historique & Rappels Sur Les Systèmes D'exploitatio

Un système d'exploitation gère les ressources matérielles d'un ordinateur et fournit une interface utilisateur. Il assure des fonctions cruciales telles que la gestion de la mémoire, des processus, des fichiers et des entrées/sorties, tout en garantissant la sécurité et la protection des utilisateurs. L'historique des systèmes d'exploitation montre leur évolution à travers différentes générations, de l'utilisation de tubes électroniques à l'essor des systèmes multiprocesseurs et embarqués.
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
53 vues10 pages

Historique & Rappels Sur Les Systèmes D'exploitatio

Un système d'exploitation gère les ressources matérielles d'un ordinateur et fournit une interface utilisateur. Il assure des fonctions cruciales telles que la gestion de la mémoire, des processus, des fichiers et des entrées/sorties, tout en garantissant la sécurité et la protection des utilisateurs. L'historique des systèmes d'exploitation montre leur évolution à travers différentes générations, de l'utilisation de tubes électroniques à l'essor des systèmes multiprocesseurs et embarqués.
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 PDF, TXT ou lisez en ligne sur Scribd

Chapitre I.

Historique & Rappels sur les systèmes d’exploitation Page 1


_________________________________________________________________________ _________________________

I. Introduction

Un système d’exploitation est un ensemble de programmes et de sous programmes (fonctions) qui


assurent la gestion des ressources matérielles d’un ordinateur (mémoire centrale, périphériques
d’entrée sortie,...). Il intercepte les demandes des applications et les transmet aux diverses ressources
matérielles en transformant l’ordinateur en une machine virtuelle facilement manipulable par un
simple utilisateur.

Un Système d’exploitation peut être vu comme:

1. Machine virtuelle (ou étendue) : Ce concept consiste à offrir une interface identique à celle offerte
par la machine. Les utilisateurs auront l’impression de travailler chacun sur sa propre machine
« virtuelle ».
2. Gestionnaire de ressources: Le rôle du Système d’exploitation est de gérer les différentes
ressources de la machine en évitant tous les conflits qui peuvent résulter de l’utilisation simultanée
de ces ressources.

II Foncions d’un système d’exploitation

Un système d’exploitation doit assurer les fonctions suivantes:

II.1 Gestion de la mémoire centrale

Certains programmes nécessitent plus de mémoire que la capacité de l’ordinateur cible. Il faut donc
gérer la mémoire et l’utiliser de façon à satisfaire tous les besoins des programmes. Le système
d’exploitation est responsable de garder trace de chaque zone mémoire allouée et l’utilisateur associé,
de choisir le processus à qui allouer ou enlever une zone mémoire et d’émuler une mémoire de grande
taille en utilisant les mémoires secondaires (mémoire virtuelle).

II.2 Gestion des processus et du processeur


Un processus est un programme en exécution. Pour qu’il s’exécute, il doit être logé en mémoire. Le
processus doit disposer de toutes les ressources nécessaires à son exécution (CPU, dispositifs d’E/S,
des fichiers, …etc.). Le système d’exploitation est donc responsable de la création et la destruction des
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 2
_________________________________________________________________________ _________________________

processus utilisateurs et système, d’allocation du processeur aux processus (ordonnancement ou


scheduling) et de la suspension et reprise des processus en cas de besoin.

II.3 Gestion des fichiers


Pour sauvegarder des informations, l’ordinateur utilise plusieurs dispositifs de mémoire secondaires
(Disque magnétique, disque optique, bandes, …etc.). Chacun de ces dispositifs a ses propres
caractéristiques et organisation physique. Le système d’exploitation doit fournir une vue logique
unique de ces médias. Cette vue logique est le fichier. Le système d’exploitation est responsable de la
création et la suppression des fichiers et des répertoires, de fournir aux programmes des primitives (des
procédures) pour manipuler les fichiers et les répertoires et d’associer les fichiers aux dispositifs
physiques

II.4 Gestion des entrées/sorties


L’un des objectifs principaux des systèmes d’exploitation est de pouvoir cacher la complexité et les
particularités des dispositifs d’entrées/sorties aux utilisateurs.
Cette complexité est léguée au sous-système de gestion des entrées sorties qui regroupe un composant
chargé de communiquer entre le dispositif et la mémoire centrale, une interface générique commune à
tous les dispositifs d’entrées/sorties et un gestionnaire de périphérique (pilote ou driver) propre à
chaque dispositif.

II.5 Protection et sécurité


Un système d’exploitation multiutilisateur permet l’exécution concurrente de plusieurs processus. Il
doit assurer la protection des uns vis-à-vis des autres.
Le système d’exploitation doit avoir des dispositifs de sécurité qui défendent contre les attaques
internes et externes.

III. Historique des systèmes d’exploitation


Les systèmes d'exploitation évoluent avec les générations d’ordinateurs et les changements
technologiques :
Première génération: Tubes électroniques
Deuxième génération: transistors
Troisième génération: circuits intégrés
Quatrième génération: microprocesseurs.
Cinquième génération: intelligence artificielle.
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 3
_________________________________________________________________________ _________________________

La théorie des SE a été développée dans les années 1960. A cette époque, il y avait des machines très
peu puissantes avec lesquelles on cherchait à faire des applications comparables à celles d’aujourd’hui.
Il a fallu attendre les circuits intégrés et le premier véritable ordinateur pour disposer d'un véritable
système d'exploitation

III.1 Première génération (1945-1955)


Les ordinateurs étaient des machines énormes, construites au moyen de tubes électroniques. Ces
machines étaient énormes, couteuses, très peu fiables et beaucoup moins rapides (le temps de cycle se
mesurait en secondes). Elles n’avaient pas de systèmes d’exploitation.
Les programmes étaient écrits directement en langage machine: ils étaient chargés en mémoire,
exécutés et mis au point à partir de commande.
Le mode de fonctionnement consistait à réserver une tranche de temps pour chaque programmeur (un
seul programme en mémoire). Au début de 1950, la procédure s’est améliorée grâce à l’introduction de
cartes perforées.
III.2 Deuxième génération (1955-1965) (monoprogrammation et traitement par lots)
Les systèmes de traitement par lots (batch) sont les premiers systèmes d'exploitation apparus en 1955.
Les machines étaient construites au moyen de transistors et dotées d’unités de bandes magnétiques.
Elles étaient plus fiables mais toujours énormes. Les programmes étaient écrits en Fortran ou en
assembleur sur des cartes perforées. Le mode de fonctionnement était le traitement par lots qui consiste
à soumettre un ensemble ou un lot de plusieurs travaux (batch processing) sur le dispositif de lecture
de cartes qui seront par la suite exécutés par l'ordinateur. Un seul programme à la fois est chargé en
mémoire et les programmes sont exécutés en séquence.
Un programme est ainsi exécuté et ne sera interrompu que lors d'une opération d'entrée/sortie, d'une
erreur ou à la fin de l'exécution.
A la fin, la sortie de chaque travail est envoyée, sur un fichier, imprimante ou ruban magnétique, au
programmeur approprié.

III.3 Troisième génération (1965-1980) (multiprogrammation, Systèmes Temps partagé)

L’introduction des circuits intégrés dans la construction des machines a permis d’offrir un meilleur
rapport coût/performance.
Les programmes sont transférés vers le disque dès leur arrivée dans la salle machine. Cette technique
s’appelle le spool (Simultaneous Peripheral Operation On Line) et est également utilisée pour les
sorties. La mémoire est organisée en des partitions contenant au plus un travail. Le système
d'exploitation réside aussi dans une partition. Lorsqu'une partition est libre, le système d'exploitation
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 4
_________________________________________________________________________ _________________________

charge un nouveau programme dans la mémoire. La mémoire contenant plusieurs programmes,


lorsqu'un processus demande une entrée/sortie, le processeur est alloué à un autre programme en
mémoire (c'est ce qu'on appelle la multiprogrammation).

◼ Systèmes Temps partagé : variante de la multiprogrammation. Plusieurs utilisateurs


peuvent se connecter à une même machine par l’intermédiaire de leurs terminaux et travailler en même
temps. Le processeur est partagé entre les tâches des différents utilisateurs.

III.4 Quatrième génération (1980-1990) (L’informatique personnelle -Les systèmes d’exploitation


réseau , Système d’exploitation temps réel)
Le besoin de gérer plusieurs applications en même temps conduit au retour de la multiprogrammation
et le concept de PC isolé évolue vers le concept d’ordinateur de réseau.
◼ Exploitation en réseau: Les réseaux d’ordinateurs personnels qui fonctionnent sous des
systèmes d’exploitation en réseau permettent de se connecter sur une machine distante et de transférer
des fichiers d’une machine à une autre. Ces systèmes d’exploitation requièrent une interface réseau, un
logiciel de contrôle de bas niveau, ainsi que des programmes qui permettent une connexion distante et
un accès aux fichiers qui se trouvent sur les différentes machines.

◼ Système d’exploitation temps réel: Un système temps réel est un système dont l’exécution doit
tenir compte de la survenue d’événements extérieurs auxquels il doit réagir en respectant certains
délais, afin de garantir la fiabilité du système. Ce type de système est spécialisé dans la conduite
d’appareillage industriel ou dans la commande de processus où le temps joue un rôle critique

III.5 Cinquième génération (1990…à nos jours) (Systèmes multiprocesseurs, Systèmes embarqués)
Les raisons ayant conduit au développement de systèmes multiprocesseurs sont entre autres un besoin
de plus grandes capacités et de performances et un partage de ressources.
Les systèmes multiprocesseurs sont composés de plusieurs processeurs reliés au bus de l’ordinateur. Ils
se caractérisent par leur capacité de traitement et leur fiabilité : la panne d’un processeur n’arrêtera pas
le système.
On distingue deux types d'architectures multiprocesseurs :
1- Exploitation en distribué: Le système d’exploitation distribué est exécuté à travers un
ensemble de machines qui sont reliées par un réseau. Il gère et contrôle l’ensemble des composants de
tous les ordinateurs connectés (les processeurs, les mémoires, les disques, etc.).
Exemple: Un campus universitaire est typiquement un exemple de système réparti (partage
d’imprimante)
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 5
_________________________________________________________________________ _________________________

2- Exploitation en parallèle: c’est un système d'exploitation pour une machine parallèle qui est
composée de plusieurs processeurs. Il s’agit de systèmes à multiprocesseurs partageant le même bus et
périphériques et même parfois la mémoire centrale
Exemple: Les super-calculateurs destinés aux centres de recherche spatiale, utilisés pour simuler de
manière intensive les programmes destinés aux futures navettes.

Les équipements électroniques ayant des tâches spéciales (portables, Téléviseurs, machines à laver,
etc.) ont une architecture d’ordinateur et possèdent des processeurs qui exécutent des programmes. Ces
équipements ayant des tâches spéciales sont dotés de systèmes d’exploitation spécifiques dits systèmes
d’exploitation embarqués.
L’expansion des systèmes embarqués ne cesse de croitre de nos jours. Les équipements sont soit
autonomes soit interconnecté en réseaux (IR, Bluetooth, WLAN, LAN, etc.) pour nous faciliter la vie
quotidienne.

◼ Systèmes embarqués: Les Systèmes d’exploitation embarqués tournent sur des équipements
électroniques autonomes (Téléphones portables, Téléviseurs, machines à laver, équipement médical,
etc ) conçus pour une tâche bien précise, dotés d’un système d’exploitation et de processeurs.
Exemple : Android.

IV Historique des systèmes UNIX et LINUX


Unix a été conçu et écrit en assembleur dans les années 1960 aux « Bell Laboratories » sous
l'impulsion de Ken Thomson et d'un petit groupe de chercheurs de ces laboratoires pour ensuite être
publié en 1969 pour un usage interne à ces laboratoires.
Le développement du langage C par Dennis Ritchie a permis l'écriture d'une version d'Unix en 1973,
dans ce langage de haut niveau (seulement 10% du code en langage assembleur) et par conséquent
portable à priori sur tout type de machine disposant d'un compilateur de ce langage.
Puis en 1975, une première version d’Unix est commercialisée.
IEEE a mis en place la norme POSIX pour éviter les incompatibilités entre les différentes versions
d’UNIX.
L'histoire de Linux a commencé en 1991 avec le début du projet personnel d'un étudiant finlandais,
Linus Torvalds, qui crée le noyau d'un nouveau système exploitation.
Linux est une version libre d’UNIX (le code source du système est disponible gratuitement et
distribuable) qui connaît actuellement un grand succès, tant chez les utilisateurs particuliers que sur les
serveurs Internet/Intranet. Linux est diffusé par différentes sociétés ou organisations, sous formes de
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 6
_________________________________________________________________________ _________________________

distributions (Red Hat, Suse, Caldera, Debian, Slackware, Fedora et Mandrake, Ubuntu…) qui utilisent
le même noyau et organisent de diverses façons le système (packages, mise à jour…etc.).

V Caractéristique d’UNIX / LINUX


UNIX est un système d’exploitation multiutilisateur et multitâche. Il est caractérisé par :
- Un système hiérarchisé de processus : génétique de processus définissant un ensemble de
caractéristiques dont un processus hérite de son parent lors de sa création..
- Création dynamique de processus : en utilisant l'appel système fork().
- Communication entre processus et synchronisation : sémaphore, tubes, signaux, sockets, …
- Processus réentrants ou processus légers (threads) : les processus exécutant le même programme
utilisent une seule copie de celui-ci en RAM.
- Un Système de fichiers hiérarchique : plusieurs systèmes de fichiers peuvent être rattachés au
système de fichiers principal ; chaque système de fichiers possède ses propres répertoires.
- Entrées-Sorties intégrées au système de fichiers : les périphériques sont représentés par des fichiers,
ce qui rend le système indépendant du matériel et en assure la portabilité; l’accès aux périphériques est
donc identique à l’accès aux fichiers ordinaires.
- Gestion de la mémoire virtuelle : un mécanisme d’échange entre la RAM et le disque dur permet de
pallier un manque de RAM et optimise le système.
- Mécanisme de protection : comprend une identification des utilisateurs par mot de passe, une
protection des fichiers, Un super-utilisateur…

VI Interaction Utilisateur-Système d’exploitation


Le système d’exploitation apparaît comme un ensemble de procédures pour un utilisateur. Des
bibliothèques d’appels système sont mises à la disposition des programmeurs. Ainsi un programme C
peut utiliser des appels système d’Unix/Linux.
L’interpréteur de commandes (Shell) constitue une interface utilisateur/système. C’est un
programme séparé du noyau permettant à l’utilisateur de communiquer avec le système d'exploitation
par l'intermédiaire d'un langage de commandes. Elle intègre un langage de commandes très sophistiqué
(scripts). Ces commandes permettent à l'utilisateur de réaliser des tâches d’administration, de
manipuler des fichiers ou des répertoires, de lancer des applications, de contrôler les périphériques ou
d'agir sur la configuration, etc..
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 7
_________________________________________________________________________ _________________________

VII APPELS SYSTEME


En général, les processeurs ont deux modes de fonctionnement: Le mode superviseur et le mode
utilisateur.
1- Le mode superviseur (noyau, privilégié ou maître): pour le système d’exploitation, où toutes les
instructions sont autorisées.
2- Le mode utilisateur (esclave): pour les programmes des utilisateurs et les utilitaires, où certaines
instructions ne sont pas permises.
Ces modes de fonctionnement assurent la protection du système d’exploitation contre les intrusions et
les erreurs.
Un appel système consiste en une interruption logicielle qui a pour rôle d’activer le système
d’exploitation en changeant de mode d’exécution pour passer du mode utilisateur au mode
superviseur, récupérer les paramètres et vérifier la validité de l’appel, de lancer l’exécution de la
fonction demandée, de récupérer la (les) valeur(s) de retour et de retourner au programme appelant
avec retour au mode utilisateur.

On peut en général, classer ces appels système en 3 catégories:

• Appels système pour la gestion de processus.


exemple: end, abort, load, exécute, créer processus, terminer processus, obtenir attribut de processus,
changer attributs de processus,... Attendre un tps détermine, attendre un evt, un signal,...

• Appels système pour la manipulation de fichiers et périphériques


Open, close, créer, effacer un fichier, read, write, seek, file attributs,...
Request device, release device, read, write reposition, get et set device attributes...

• Appels système pour la maintenance et l’information : get time, date, set time, date,...

VII .1 Implémentation des appels système


L’implémentation des appels système peut différer d’un système d’exploitation à un autre. Mais, en
général le nom d’une fonction ainsi que les paramètres sont passés au système d’exploitation:
Exemple:
- Copier le nom ou numéro de la fonction (Appel système) dans un registre de la machine.
- Copier les paramètres dans des registres,
- Copier les paramètres en mémoire, etc.
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 8
_________________________________________________________________________ _________________________

VII .2 Les programmes système


Un autre aspect d’un système moderne est sa collection de programmes système. Les programmes
système représentent généralement l’ensemble des commandes offertes par un système d’exploitation
donné. Les commandes peuvent être regroupées en catégories:
• Manipulation de fichiers: Créer, effacer, copier, renommer, imprimer, etc.
• Maintenance de l’information: date, time, etc.
• Modification de fichiers: éditeur, etc.
• Support de langage de programmation: compilateur, interpréter,
• Programmes Applicatifs : Editeur, tableur,….
• Programmes d’application: application écrites par les utilisateurs.

VIII Les différents types de noyaux de système d’exploitation


Parmi les différentes familles d’architectures de noyaux de systèmes d’exploitation, certaines
possèdent des caractéristiques plus ou moins bien adaptées à la gestion de l’hétérogénéité des
processeurs.
Le souci de sécurité implique une séparation des privilèges et un cloisonnement plus ou moins
important des applications mais aussi des services système, comme la gestion des fichiers ou encore la
pile réseau. Cette séparation s’appuie sur les différents niveaux de privilèges d’exécution supportés
matériellement par le processeur.
On distingue deux grandes classes d’architectures de noyaux : les noyaux monolithiques et les micros
noyaux,
VIII .1 Architecture monolithique:
Les systèmes d’exploitation sous cette structure sont un ensemble de procédures de même niveau:
Dans les noyaux monolithiques qui proposent une séparation des privilèges, seuls deux domaines
d’exécution existent : Le noyau qui possède tous les privilèges et l’application qui s’exécute avec
moins de privilèges.

Exemple : UNIX

FIGURE 1– Architecture d’un noyau monolithique


Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 9
_________________________________________________________________________ _________________________

VIII .2 Architecture Micro noyau: Architecture plus moderne que la structure monolithique.
Dans cette structure le noyau est très réduit et prend seulement en charge le multiplexage et
l’allocation des ressources de base (Temps processeur et la mémoire).
Tous les autres services, comme la gestion des fichiers, la pile réseau ou les pilotes de périphériques,
sont cloisonnés dans des niveaux d’exécution ayant des niveaux de privilèges inférieurs.
Cette approche présente un intérêt lorsque la sécurité est primordiale, mais les performances sont
souvent inférieures à l’approche monolithique en raison des canaux de communication moins directs
entre les services.
Exemple: RTLinux (Real Time Linux) version SE temps-réel

FIGURE 2– Architecture d’un micronoyau

La différence entre les deux architectures se situe dans l’implantation de leurs architectures respectives
en mode superviseur et en mode utilisateur.
- L’architecture monolithique met en œuvre tous les services du système d’exploitation (contrôleurs
de dispositifs, mémoire virtuelle, système de fichiers, réseaux, etc) dans l’espace du mode
superviseur.
- L’architecture micro noyau fait une division entre les services du système d’exploitation:
Services «haut-niveau» implantés dans l’espace du mode utilisateur
Services «bas-niveau» implantés dans l’espace du mode superviseur.

IX. Implémentation des systèmes d’exploitation


A l’origine les systèmes d’exploitation sont écrits en Assembleur. Mais, à présent la plupart des
systèmes sont écrits dans des langages de haut niveau (UNIX/LINUX en C, WndowsNT en C…).
Chapitre I. Historique & Rappels sur les systèmes d’exploitation Page 10
_________________________________________________________________________ _________________________

Avantage:
• Compacte
• modulaire
• facile à déboguer
• Portabilité
Remarque: MS-DOS est écrit en Assembleur,
Les programmes Assembleur sont plus performants que les programmes en langage évolué
Remède :
Détecter les routines les plus lentes du système d’exploitation et les réécrire en assembleur si
nécessaire.

Vous aimerez peut-être aussi