Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP Info GR 1

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 11

INTRODUCTION

Le système d’exploitation (SE) est un ensemble de programmes fondamentaux sur un appareil


informatique qui sert d’interface entre le matériel et les logiciels applications. Il est souvent désigné
par l’abrégé OS pour operating system en anglais.

Le SE soustrait le matériel au regard du programmeur et offre une présentation agréables des fichiers.
Un SE a ainsi deux objectifs principaux:

• Présentation: il propose à l’utilisateur une abstraction plus simple et plus agréable que le
matériel: une machine virtuelle.

• Gestion: il ordonne et contrôle l’allocation des processeurs, des mémoires, des icônes et
fenêtres, des périphériques, des réseaux entre les programmes qui les utilisent. Il assiste les
programmes utilisateurs. Il protège les utilisateurs dans le cas d’usage partagé.

Les premiers systèmes d’exploitation ont été créés dans les années 1960.

HISTORIQUE DU SYSTEME D’EXPLOITATION

L’histoire des systèmes d’exploitation est fortement liée à celle des ordinateurs. Les premières
générations d’ordinateur ont apparu dans les années 1945_1955, ne comportaient pas de système
d’exploitation. Dans ces ordinateurs équipés des tubes à vide, le programme manipulait les ressources
matérielles de l’ordinateur sans passer par un intermédiaire ; l’ordinateur était utilisé par une personne
à la fois : la tache de l’operateur consistait à placer des piles des cartes perforées dans le lecteur où
chaque carte comportait des instructions d’un programme ou des données. Les ordinateurs à tubes à
vides de cette génération n’avaient qu’une faible puissance de calcul. Ils étaient volumineux, peu
commode et peu faibles(les tubes à vides grillaient souvent).

APERÇU

Pour qu’un ordinateur soit capable de faire fonctionner un programme informatique (appelé parfois
application ou logiciel), la machine doit être en même capable d’effectuer un certain nombre
d’opération préparatoires afin d’assurer les échanges entre microprocesseur, la mémoire, et les
ressources physiques ou périphériques (comme clavier, souris, moniteur).
Historique

Les premiers ordinateurs ont apparu dans les années 40 et avaient des fonctionnalités très limitées,
dépendantes de l’homme, et à des vitesses très lentes.

L’arrivée des transistors et des cartes perforées dans les années 60 a marqué le début de systèmes
d’exploitation, permettant une meilleure gestion de l’ordinateur et beaucoup plus de souplesse de
calcul.

Historiquement, on peut dire que les SE sont vraiment nés avec les ordinateurs de la 3 ème génération
(ordinateurs à circuits intégrés apparus après 1965). Le premier SE digne de ce nom est l'OS/360, celui
des IBM 360, famille unique de machines compatibles entre elles, de puissances et de configurations
différentes. Bien que son extrême complexité (due à l'erreur de couvrir toute la gamme 360) n'ait
jamais permis d'en réduire le nombre de bogues, il apportait deux concepts nouveaux :

 la multiprogrammation : partitionnement de la mémoire permettant au processeur d'accueillir


une tâche dans chaque partie et donc d'être utilisé plus efficacement par rapport aux temps
d'attente introduits par les périphériques (le processeur est réalloué)
 les E/S tamponnées : adjonction à l'UC2 d'un processeur autonome capable de gérer en
parallèle les E/S ou canal ou unité d'échange. Cela nécessite une politique de partage du bus
ou d'autres mécanismes (vol de cycle, DMA3).

Au MIT4, F.J. CORBATO et son équipe ont réalisé dès 1962, sur un IBM 7094 modifié, le premier
SE expérimental à temps partagé (mode interactif entre plusieurs utilisateurs simultanés), baptisé
CTSS. Une version commerciale, nommée MULTICS5, a été ensuite étudiée par cette équipe, les Bell
Laboratories et General Electric. Les difficultés ont fait que MULTICS n'a jamais dépassé le stade
expérimental sur une douzaine de sites entre 1965 et 1974. Mais il a permis de définir des concepts
théoriques importants pour la suite.

La technologie à base de circuits intégrés de la 3ème génération d'ordinateurs a permis l'apparition des
mini-ordinateurs et leur diffusion massive (précédant celle des microordinateurs).

En 1968, l'un des auteurs de MULTICS, Ken Thompson a effectué une adaptation de MULTICS
mono-utilisateur sur un mini-ordinateur PDP-11 de DEC inutilisé dans son Laboratoire des Bell
Laboratories. Son collègue Brian Kernighan la nomma UNICS (Uniplexed - à l'opposé de Multiplexed
- Information and Computer Service), qui devint ensuite UNIX. En 1972, son collègue
Dennis Ritchie traduisit UNIX en C, langage qu'il venait de mettre au point avec Kernighan... L'ère
des grands SE avait commencé.
1 Job Control Language
2 Unité centrale
3 Direct Memory Access
4 Massachusetts Institute of Technology
5 MULTiplexed Information and Computing Service

Le premier OS à marquer de son empreinte l’histoire de l’informatique est apparu en 1969 sous le nom
de linux, OS sur lequel est fondé aujourd’hui l’IOS d’Apple. On citera aussi Apple DOS 3.1(78),
MSDOS(81), Mac Intish OS1(84), Microsoft Windows 1(85), Linux 0.01(91).

On notera aussi l’OS Androïde fondé sur le noyau Linux. Il était destiné initialement aux appareils
photos numériques mais fut de suite proposé gratuitement aux fabricants de téléphones mobiles, libres
à eux d’ajouter une surcouche à l’OS Androïde.

TYPE DES SYSTEMES D’EXPLOITATION


Déclines par les éditeurs en version successives répondant chacune à des besoins spécifiques, les
systèmes d’exploitation peuvent être classes en différentes catégories selon divers critères:

 Mono tâches_multitâches

 Graphique_non graphique

 Mono utilisateur_ multi_ultisateur

 Monoprocesseur_multiprocesseur

 Client-serveur

 8_16_32_64 bits

 Liés à des processeurs(x86, Motorola, PowerPC) ou des technologies processeurs particulières


(architectures CISC ou RISC).

CARACTERISTIQUES DUN SYSTEME


DEXPLOITATION
 Systèmes multitâches : la plupart des systèmes d’exploitation modernes permettent l’exécution
de plusieurs taches à la fois : un ordinateur peut pendant qu’il exécute le programme d’un
utilisateur, lire les données d’un disque ou afficher des résultats sur un terminal ou une
imprimante. On parle de système d’exploitation multitâches ou multiprogrammé dans ce cas.
 Systèmes multiutilisateurs : c’est un système capable d’exécuter de façon (pseudo)
concurrente et indépendante des applications appartenant à plusieurs utilisateurs.
Concurrente signifie que les applications peuvent réaliser actives au même moment et se
disputer l’accès à différentes ressources comme le processeur, la mémoire, les disques durs,…
Indépendante signifie que chaque application peut réaliser son travail sans se préoccuper de
ce que font les applications des autres utilisateurs.

ROLE D’UN SYSTEME D’EXPLOITATION


L’ordinateur étant constitué des matériels (hardware) et des logiciels (software), il est mis à la
disposition d’un ou plusieurs utilisateurs, c’est ainsi qu’il est nécessaire que quelque chose dans
l’ordinateur permette la communication entre l’utilisateur et la machine. Cette entité doit assurer
une grande souplesse dans l’interface et doit permettre d’accéder à toutes les fonctionnalités de la
machine, donc elle doit être douée d’une certaine intelligence, d’où on fait intervenir le système
d’exploitation, ceci permet ainsi d’associer les programmes avec le matériel afin de simplifier la
gestion des ressources et offrir à l’utilisateur une interface homme machine (noté IHM qui lui
permette de s’affranchir de la complexité de la machine physique). Et nous définissons un système
d’exploitation comme étant un ensemble ou une famille de logiciels dont le grand domaine
d’intervention est la gestion de toutes les ressources de l’ordinateur, parmi lesquels nous citons :

 La gestion du processeur ; le SE est chargé de gérer l’allocation du processeur entre les


différents programmes grâce à un algorithme d’ordonnance,
 La gestion de la mémoire vive ; le SE est chargé de gérer l’espace mémoire alloué à
chaque usager. En cas d’insuffisance de mémoire physique, le SE peut créer une zone
mémoire sur le disque dur appelle mémoire virtuelle,
 La gestion des entrées et sorties : le SE permet d’unifier et de contrôler l’accès des
programmes aux ressources matérielles par l’intermédiaire des pilotes (appelés également
gestionnaire de périphérique ou gestionnaires d’entrée sortie),
 La gestion de l’exécution des applications : le SE est chargé de la bonne exécution des
applications en leur affectant les ressources nécessaires à leur bon fonctionnement et
permet à titre de situer une application ne répondant plus correctement,
 La gestion des droites : le SE est chargé de la sécurité liée à l’exécution des programmes
en garantissant que les ressources ne sont utilisées que par les programmes et l’utilisateur
possèdent les droites adéquates,
 La gestion des fichiers : le SE gère la lecture et l’écriture dans le système de fichiers et les
droites d’accès aux fichiers par les utilisateurs et les applications,
 La gestion des informations : le SE fournit un certain nombre d’indicateurs permettent de
diagnostic de bon fonctionnement de la machine. Tous les logiciels du SE sont repartit de
manière suivante, une partie dans Stock dans la mémoire centre (nommée résistant ou
superviseur), et le reste est stocké dans la mémoire de masse (disque dur par exemple),
 Gestion de la mémoire principale et des mémoires secondaires,
 Exécution des E\S à faible débit (terminaux, imprimantes) ou haut débit (disques, bandes),
 Multiprogrammation, temps partagé, parallélisme: interruption, ordonnancement,
répartition en mémoire, partage des données
 Lancement des outils du système (compilateurs, environnement utilisateur, …) et des
outils pour l’administrateur du système (création de points d’entrée, modification de
privilèges,…),
 Lancement des travaux,
 Protection, sécurité,
 Réseaux

ELEMENTS DE BASE D’UN SYSTÈME


D’EXPLOITATION
L'interface entre un SE et les programmes utilisateurs est constituée d'un ensemble d'instructions
étendues, spécifiques d'un SE, ou appels système. Généralement, les appels système concernent soit
les processus, soit le système de gestion de fichiers (SGF).
 Les processus
Un processus est un programme qui s'exécute, ainsi que ses données, sa pile, son compteur ordinal,
son pointeur de pile et les autres contenus de registres nécessaires à son exécution.

 Les interruptions
Une interruption est une commutation du mot d'état provoquée par un signal généré par le matériel. Ce
signal est la conséquence d'un événement interne au processus, résultant de son exécution, ou bien
extérieur et indépendant de son exécution. Le signal va modifier la valeur d'un indicateur qui est
consulté par le SE. Celui-ci est ainsi informé de l'arrivée de l'interruption et de son origine. A chaque
cause d'interruption est associé un niveau d'interruption. On distingue au moins 3 niveaux
d'interruption :
les interruptions externes : panne, intervention de l'opérateur, ....
les déroutements qui proviennent d'une situation exceptionnelle ou d'une erreur liée à
l'instruction en cours d'exécution (division par 0, débordement, ...)
les appels système

NB : UNIX admet 6 niveaux d'interruption : interruption horloge, interruption disque, interruption
console, interruption d'un autre périphérique, appel système, autre interruption.
 Les ressources
On appelle ressource tout ce qui est nécessaire à l'avancement d'un processus (continuation ou
progression de l'exécution) : processeur, mémoire, périphérique, bus, réseau, compilateur, fichier,
message d'un autre processus, etc... Un défaut de ressource peut provoquer la mise en attente d'un
processus.
Un processus demande au SE l'accès à une ressource. Certaines demandes sont implicites ou
permanentes (la ressource processeur). Le SE alloue une ressource à un processus. Une fois une
ressource allouée, le processus a le droit de l'utiliser jusqu'à ce qu'il libère la ressource ou jusqu'à ce
que le SE reprenne la ressource (on parle en ce cas de ressource préemptif, de préemption).
On dit qu'une ressource est en mode d'accès exclusif si elle ne peut être allouée à plus d'un processus à
la fois. Sinon, on parle de mode d'accès partagé. Un processus possédant une ressource peut dans
certains cas en modifier le mode d'accès. Exemple : un disque est une ressource à accès exclusif (un
seul accès simultané), une zone mémoire peut être à accès partagé.
 L'ordonnancement
Dans un système d'exploitation, il est courant que plusieurs processus soient simultanément prêts à
s'exécuter. II faut donc réaliser un choix pour ordonnancer dans le temps les processus prêts sur le
processeur, qui est dévolu à un ordonnanceur.
Pour les systèmes (le traitement par lots. l'algorithme d'ordonnancement est relativement simple,
puisqu'il consiste à exécuter le programme suivant de la file dès qu'un emplacement se libère dans la
mémoire de l'ordinateur (multi programmation).
Pour les systèmes multi-utilisateurs, mufti-tâches, et multiprocesseurs. L’algorithme
d'ordonnancement peut devenir très complexe.
Le choix d'un algorithme d'ordonnancement dépend de l'utilisation que l'on souhaite faire de la
machine. Et s'appuie sur les critères suivants:
 équité : chaque processus doit pouvoir disposer de la ressource processeur; efficacité:
l'utilisation du processeur doit être maximale.
 temps de réponse : il faut minimiser l'impression de temps de réponse pour les utilisateurs
interactifs.
 temps d'exécution : il faut minimiser le temps d'exécution pris par chaque travail exécuté en
traitement par lots.
 rendement : le nombre de travaux réalisés par unité de temps doit être maximal.
 Le système de gestion de fichiers
Le stockage persistant, rapide, et fiable de grandes quantités de données (et de petites !) est un critère
déterminant de l'efficacité d'un système d'exploitation.

 La gestion de la mémoire
Plus que la ressource processeur, la mémoire constitue la ressource la plus critique des systèmes
d'exploitation. Dont le mésusage peut avoir des effets dramatiques sur les performances globales du
système.
Les fonctionnalités attendues d'un gestionnaire efficace de la mémoire sont les suivantes :
 connaître les parties libres de la mémoire physique.
 allouer de la mémoire aux processeurs, en évitant autant que possible le gaspillage.
 récupérer la mémoire libérée par la terminaison d'un processus.
 offrir aux processus des services de mémoire virtuelle, de taille supérieure à celle de la
mémoire physique disponible, au moyen des techniques de va-et-vient et de pagination.

STRUCTURES DUN SYSTÈME DEXPLOITATION


 STRUCTURE EXTERNE :
 Noyau et utilitaires : le système d’exploitation comporte un certain nombre des routines
(sous programmes). Les plus importants constituent le noyau (karnel en anglais) ; celui-ci est
chargé en mémoire vive à l’initialisation du système et contient des nombreuses procédures
nécessaires au bon fonctionnement du système. Les autres routines, moins critiques, sont
appelées des utilitaires.
 Le gestionnaire de tâches : Sur un système à temps partagé, l'une des parties les plus
importantes du système d'exploitation est le gestionnaire de tâches (en anglais scheduler). Sur
un système à un seul processeur, il divise le temps en laps de temps (en anglais slices,
tranches). Périodiquement, le gestionnaire de tâches décide d'interrompre le processus en
cours et de démarrer (ou reprendre) l'exécution d'un autre, soit parce que le premier a épuisé
son temps d'allocation du processus soit qu'il est bloqué (en attente d'une donnée d'un des
périphériques).

 Le gestionnaire de mémoire : La mémoire est une ressource importante qui doit être gérée
avec prudence. Le moindre microordinateur a, dès la fin des années 1980, dix fois plus de
mémoire que l'IBM 7094, l'ordinateur le plus puissant du début des années soixante. Mais la
taille des programmes augmente tout aussi vite que celle des mémoires.

 Le gestionnaire de périphériques : Le contrôle des périphériques d'entrée-sortie (E/S) de


l'ordinateur est l'une des fonctions primordiales d’un système d'exploitation. Ce dernier doit
envoyer les commandes aux périphériques, intercepter les interruptions, et traiter les erreurs. Il
doit aussi fournir une interface simple et facile d'emploi entre les périphériques et le reste du
système qui doit être, dans la mesure du possible, la même pour tous les périphériques, c'est-à-
dire indépendante du périphérique utilisé. Le code des entrées-sorties représente une part
importante de l'ensemble d'un système d'exploitation.

 Le chargeur du système d'exploitation : En général, de nos jours, lorsque l'ordinateur


(compatible PC ou Mac) est mis sous tension, il exécute un logiciel appelé BIOS (pour Basic
Input Output System) placé à une adresse bien déterminée et contenu en mémoire RAM. Ce
logiciel initialise les périphériques, charge un secteur d'un disque, et exécute ce qui y est placé.
Lors de la conception d'un système d'exploitation, on place sur ce secteur le chargeur du
système d'exploitation ou, plus exactement, le chargeur du chargeur du système d'exploitation
(ou pré-chargeur) puisque le contenu d'un secteur est insuffisant pour le chargeur lui-même.

 L'interpréteur de commandes : Le système d'exploitation proprement dit est le code qui


permet de définir les appels système. Les programmes système tels que les éditeurs de texte,
les compilateurs, les assembleurs, les éditeurs de liens et les interpréteurs de commandes ne
font pas partie du système d'exploitation. Cependant l'interpréteur de commandes (Shell en
anglais) est souvent considéré comme en faisant partie.

 STRUCTURE INTERNE

 Les systèmes monolithiques : Andrew Tanenbaum appelle système monolithique (d'un seul
bloc) un système d'exploitation qui est une collection de procédures, chacune pouvant à tout
moment appeler n'importe quelle autre procédure, en remarquant que c'est l'organisation
(plutôt chaotique) la plus répandue.
 Systèmes à modes noyau et utilisateur : Dans beaucoup de systèmes d'exploitation, il existe
deux modes : le mode noyau et le mode utilisateur. Le système d'exploitation démarre en
mode noyau, ce qui permet d'initialiser les périphériques et de mettre en place les routines de
service pour les appels système, et commute ensuite en mode utilisateur. En mode utilisateur,
on ne peut pas avoir accès directement aux périphériques : on doit utiliser ce qu'on appelle des
appels système pour avoir accès à ce qui a été prévu par le système : le noyau reçoit cet appel
système, vérifie qu'il s'agit d'une demande valable (en particulier du point de vue des droits
d'accès), l'exécute, puis renvoie au mode utilisateur. Le mode noyau ne peut être changé que
par une compilation du noyau ; même le super-utilisateur agit en mode utilisateur.
 Systèmes à couches : Les systèmes précédents peuvent être considérés comme des systèmes à
deux couches et être généralisés en systèmes à plusieurs couches : chaque couche s'appuie sur
celle qui lui est immédiatement inférieure. Le premier système à utiliser cette technique a été
le système THE développé au Technische Hogeschool d'Eindhoven (d'où son nom) aux Pays-
Bas par Diskstra (1968) et ses élèves. Le système d'exploitation Multics, à l'origine d'Unix,
était aussi un système à couches.
 Systèmes à micronoyau : Les systèmes d'exploitation à base de micronoyau ne possèdent
que quelques fonctions, en général quelques primitives de synchronisation, un gestionnaire
des tâches simple, et un mécanisme de communication entre processus. Des processus système
s'exécutent au-dessus du micronoyau pour implémenter les autres fonctions d'un système
d'exploitation, comme l'allocation mémoire, les gestionnaires de périphériques, les
gestionnaires d'appels système, etc. Le système d'exploitation Amoeba de Tanenbaum fut l'un
des premiers systèmes à micronoyau.
 Systèmes à modules : Un module est un _chier objet dont le code peut être lié au noyau (et en
être supprimé) en cours d'exécution. Ce code objet est en général constitué d'un ensemble de
fonctions qui implémente un système de fichiers, un pilote de périphérique, ou toute autre
fonctionnalité de haut niveau d'un système d'exploitation. Le module, contrairement aux
couches externes d'un système à base de micronoyau, ne s'exécute pas dans un processus
spécifique. Il est au contraire exécuté en mode noyau au nom du processus courant, comme
toute fonction liée statiquement dans le noyau.

INVENTAIRE DES QUELQUES SYSTEMES


D’EXPLOITATION
LES SYSTEMES D’EXPLOITATION LES PLUS UTILISES

1. Microsoft WINDOWS (dernière version) : Windows 10 : depuis que ce système


d’exploitation a commencé à avoir la cote sur le marché de systèmes d’exploitation , il est
demeuré leader sur le marché des ordinateurs portatifs au monde. Ils sont actuellement présent
sur plus de 91% des ordinateurs personnels.
2. MAC OS : ce système d’exploitation d’Apple est le deuxième système le plus utilisé.
Développé par Macintosh(le tout premier ordinateur commercialisé par la marque).Ce système
d’exploitation lancé en 1984 est très sécurisé comme tous les dispositifs de la marque Apple.
Il est très utilisé par les firmes internationales et les individus qui sont à la recherche d’un
système assez sophistiqué.
3. LINUX : il a été construit grâce au logiciel GNU. En effet, le noyau linux est un ensemble de
systèmes d’exploitation composes de logiciels ouverts et libres crées par linux Thorvald.
4. IOS(APPLE)
5. Adroid (Google)

QUELQUES SYSTEMES D’EXPLOITATION

1. AmigaOS,
2. AROS,
3. Bada (système destiné aux PDA),
4. Coherrent,
5. Google Chrome OS,
6. Jolicloud,
7. Linutop,
8. LynxOS,
9. Minix,
10. SmartOS,
11. TempleOS,
12. ZETA,
13. TvOS,
14. Tizen,
15. Firefox OS,
16. WebOS,
17. Hyperpanel OS,
18. Android TV,
19. UBUNTU TOUCH,
20. BlackBERRY OS,
21. Windows Phone
22. SYMBIAN
23. PALM OS

CONCLUSION
La complexité des systèmes d’exploitation est grande, elle résulte tant du nombre et de la taille des
programmes impliqués que de la multiplicité des processus de leurs interactions. L’homme cherchant
toujours à progresser, il ne laisse pas statique ses inventions tout comme les systèmes d’exploitation.
Aujourd’hui on continue à développer de nouveaux systèmes, tout en recherchant l’augmentation de
leur sureté de fonctionnement et la stabilité de ce dernier. Pour cela, on commence à utiliser des
techniques automatiques de certification de programme.

Vous aimerez peut-être aussi