Description du système d`exploitation

publicité
pour plus de documents : www.almohandiss.com
Description du système d'exploitation
Pour qu'un ordinateur soit capable de faire fonctionner un programme informatique
(appelé parfois application ou logiciel), la machine doit être en mesure d'effectuer un
certain nombre d'opérations préparatoires afin d'assurer les échanges entre le
processeur, la mémoire, et les ressources physiques (périphériques).
Le système d'exploitation (noté SE ou OS, abréviation du terme anglais Operating
System), est chargé d'assurer la liaison entre les ressources matérielles, l'utilisateur
et les applications (traitement de texte, jeu vidéo, ...). Ainsi lorsqu'un programme
désire accéder à une ressource matérielle, il ne lui est pas nécessaire d'envoyer des
informations spécifiques au périphérique, il lui suffit d'envoyer les informations au
système d'exploitation, qui se charge de les transmettre au périphérique concerné
via son pilote. En l'absence de pilotes il faudrait que chaque programme reconnaisse
et prenne en compte la communication avec chaque type de périphérique !



Le système d'exploitation permet ainsi de "dissocier" les programmes et le matériel,
afin notamment de simplifier la gestion des ressources et offrir à l'utilisateur une
interface homme-machine (notée «IHM») simplifiée afin de lui permettre de
s'affranchir de la complexité de la machine physique.
Rôles du système d'exploitation
Les rôles du système d'exploitation sont divers :
Gestion du processeur : le système d'exploitation est chargé de gérer
l'allocation du processeur entre les différents programmes grâce à un algorithme
d'ordonnancement. Le type d'Ordonnanceur est totalement dépendant du système
d'exploitation, en fonction de l'objectif visé.
Gestion de la mémoire vive : le système d'exploitation est chargé de gérer
l'espace mémoire alloué à chaque application et, le cas échéant, à chaque usager.
En cas d'insuffisance de mémoire physique, le système d'exploitation peut créer une
zone mémoire sur le disque dur, appelée «mémoire virtuelle». La mémoire virtuelle
permet de faire fonctionner des applications nécessitant plus de mémoire qu'il n'y a
de mémoire vive disponible sur le système. En contrepartie cette mémoire est
beaucoup plus lente.
Gestion des entrées/sorties : le système d'exploitation 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 gestionnaires de périphériques ou gestionnaires
d'entrée/sortie).
pour plus de documents : www.almohandiss.com







Gestion de l'exécution des applications : le système d'exploitation est
chargé de la bonne exécution des applications en leur affectant les ressources
nécessaires à leur bon fonctionnement. Il permet à ce titre de «tuer» une application
ne répondant plus correctement.
Gestion des droits : le système d'exploitation 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 utilisateurs possédant les droits adéquats.
Gestion des fichiers : le système d'exploitation gère la lecture et l'écriture
dans le système de fichiers et les droits d'accès aux fichiers par les utilisateurs et les
applications.
Gestion des informations : le système d'exploitation fournit un certain
nombre d'indicateurs permettant de diagnostiquer le bon fonctionnement de la
machine.
Composantes du système d'exploitation
Le système d'exploitation est composé d'un ensemble de logiciels permettant de
gérer les interactions avec le matériel. Parmi cet ensemble de logiciels on distingue
généralement les éléments suivants :
Le noyau (en anglais kernel) représentant les fonctions fondamentales du
système d'exploitation telles que la gestion de la mémoire, des processus, des
fichiers, des entrées-sorties principales, et des fonctionnalités de communication.
L'interpréteur de commande (en anglais shell, traduisez «coquille» par
opposition au noyau) permettant la communication avec le système d'exploitation par
l'intermédiaire d'un langage de commandes, afin de permettre à l'utilisateur de piloter
les périphériques en ignorant tout des caractéristiques du matériel qu'il utilise, de la
gestion des adresses physiques, etc.
Le système de fichiers (en anglais «file system», noté FS), permettant
d'enregistrer les fichiers dans une arborescence.
Systèmes multitâches
Un système d'exploitation est dit «multi-tâche» (en anglais multithreaded) lorsque
plusieurs «tâches» (également appelées processus) peuvent être exécutées
simultanément.
Les applications sont composées en séquence d'instructions que l'on appelle
«processus légers» (en anglais «threads»). Ces threads seront tour à tour actifs, en
attente, suspendus ou détruits, suivant la priorité qui leur est associée ou bien
exécutés séquentiellement.
Un système est dit préemptif lorsqu'il possède un ordonnanceur (aussi appelé
planificateur), qui répartit, selon des critères de priorité, le temps machine entre les
différents processus qui en font la demande.
Le système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque
processus par l'ordonnanceur. C'est notamment le cas des systèmes multiutilisateurs qui permettent à plusieurs utilisateurs d'utiliser simultanément sur une
même machine des applications différentes ou bien similaires : le système est alors
dit «système transactionnel». Pour ce faire, le système alloue à chaque utilisateur
une tranche de temps.
Systèmes multi-processeurs
Le multiprocessing est une technique consistant à faire fonctionner plusieurs
processeurs en parallèle afin d'obtenir une puissance de calcul plus importante que
celle obtenue avec un processeur haut de gamme ou bien afin d'augmenter la
disponibilité du système (en cas de panne d'un processeur).
pour plus de documents : www.almohandiss.com






On appelle SMP (Symmetric Multiprocessing ou Symmetric Multiprocessor) une
architecture dans laquelle tous les processeurs accèdent à un espace mémoire
partagé.
Un système multiprocesseur doit donc être capable de gérer le partage de la
mémoire entre plusieurs processeurs mais également de distribuer la charge de
travail.
Systèmes embarqués
Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner
sur des machines de petite taille, telles que des PDA (personal digital assistants ou
en français assistants numériques personnels) ou des appareils électroniques
autonomes (sondes spatiales, robot, ordinateur de bord de véhicule, etc.), possédant
une autonomie réduite. Ainsi, une caractéristique essentielle des systèmes
embarqués est leur gestion avancée de l'énergie et leur capacité à fonctionner avec
des ressources limitées.
Les principaux systèmes embarqués «grand public» pour assistants numériques
personnels sont :
PalmOS
Windows CE / Windows Mobile / Window Smartphone
Systèmes temps réel
Les systèmes temps réel (real time systems), essentiellement utilisés dans
l'industrie, sont des systèmes dont l'objectif est de fonctionner dans un
environnement contraint temporellement. Un système temps réel doit ainsi
fonctionner de manière fiable selon des contraintes temporelles spécifiques, c'est-àdire qu'il doit être capable de délivrer un traitement correct des informations reçues à
des intervalles de temps bien définis (réguliers ou non).
Voici quelques exemples de systèmes d'exploitation temps réel :
OS-9 ;
RTLinux (RealTime Linux) ;
QNX ;
VxWorks.
Les types de systèmes d'exploitation
On distingue plusieurs types de systèmes d'exploitation, selon qu'ils sont capables
de gérer simultanément des informations d'une longueur de 16 bits, 32 bits, 64 bits
ou plus.
Système
Codage
Monoutilisateur
DOS
16 bits
X
Windows3.1
16/32
bits
X
non
préemptif
X
coopératif
Windows95/98/Me 32 bits
WindowsNT/2000 32 bits
Multiutilisateur
Monotâche
Multitâche
X
X
préemptif
WindowsXP
32/64
bits
X
préemptif
Unix / Linux
32/64
bits
X
préemptif
MAC/OS X
32 bits
X
préemptif
pour plus de documents : www.almohandiss.com
VMS
32 bits
X
préemptif
Unix
Unix est au départ un projet de recherche. Son succès est la conjonction de plusieurs
facteurs :



la mise à disposition des universités américaines d'un système d'exploitation
utile pour l'enseignement puisque ses sources étaient fournies par son
propriétaire, donc pédagogiquement intéressant pour former des
informaticiens
un désir profond des clients d'échapper à la diversité des systèmes
d'exploitation qui les condamnait à un fournisseur unique car la reconversion
d'applications n'était plus économiquement envisageable
la montée en puissance de la micro informatique qui a permis de faire
fonctionner efficacement un système complexe sur des stations de faible coût.
Si le domaine des stations individuelles est indéniablement l'apanage de Windows et
de Microsoft, Unix dans sa réalisation Linux, est sans conteste le leader dans le
domaine des serveurs.
Windows
Windows est un OS développé pour plate-forme PC à base de processeur Intel ou
compatible.
Avant Windows il y avait MS-DOS (Desktop Operating System).
Lorsque les microprocesseurs font leur apparition une floraison de machines
personnelles devient rapidement disponible sur le marché, avec des systèmes
d’exploitation assez rudimentaires, ce qui est normal du fait de la puissance des
processeurs disponibles ainsi que de la taille mémoire de ces machines. CP/M de
Digital Research est alors le plus répandu. IBM qui fait la loi dans le monde de
l’informatique (il représente alors 70% environ du marché mondial) ne peut se
désintéresser de ce marché émergeant. En même temps il n’y croit pas : ces
ordinateurs sont des jouets destinés au grand public et n’intéresseront jamais les
professionnels. Cependant comme la compagnie se doit d’être présente sur tous les
créneaux IBM décide de commercialiser sa propre machine mais ne cherche pas,
contrairement à sa politique habituelle où, jusqu’au moindre boulon de carrosserie,
chaque composant est fabriqué par elle, à développer sa propre solution et recourt
pour la première fois à d’autres fournisseurs : Intel pour le processeur, un débutant
nommé Bill Gates pour le système d’exploitation. Les informaticiens ne croient pas
beaucoup à cette machine et s’en moquent en affirmant que IBM a fait le choix de la
pour plus de documents : www.almohandiss.com
plus mauvaise machine avec le plus mauvais système ! Ceci est peut-être vrai mais
le marché va leur donner tord, du fait de l’impact de la décision du plus grand
constructeur mondial.
Comme ces ordinateurs n’entrent pas dans sa stratégie à long terme la compagnie
ne se préoccupe même pas de posséder tous les brevets et être seule en droit de
construire des machines. C’est à ce manque de vision que le PC doit son avenir. Les
intégrateurs d’Asie du Sud Est vont très rapidement la cloner et proposer des
hardware à des prix compétitifs, Bill Gates fera évoluer son système d’exploitation et
développera des outils de son coté. Pendant plusieurs années on pourra acheter la
version DOS d’IBM parallèlement à celle de la jeune compagnie Microsoft que Bill
Gates a fondé. Ceci fera le succès du PC : les cloneurs produiront des machines à
un prix compétitif, Microsoft se consacrera au logiciel uniquement. A la même
époque Steves Job crée Apple qui sera longtemps en avance dans le choix de ses
solutions technologiques. Mais comme la compagnie est la seule à construire
parallèlement le matériel et le logiciel elle ne pourra pas être financièrement
compétitive et manque de souffle pour mener toutes ses activités en parallèle. Ce
souci d’être seule propriétaire de ses solutions la retardera considérablement dans
ses développements et aidera à établir la suprématie de Microsoft et d’Intel qui
représente maintenant 95% du parc des ordinateurs personnels installés.
DOS
La première version de DOS apparut au deuxième semestre 1981. Il s’agit en fait de
Q – DOS (Quick and Dirty Operating System), un petit système d’exploitation conçu
pour un processeur 16 bits d’Intel. C’est l’adaptation à ce processeur du système le
plus populaire à l’époque, CP/M prévu pour processeurs 8 bits. CP/M a été
développé par Digital Research et est utilisé par la plupart des constructeurs hormis
les plus gros : Apple, Commodore et Tandy.
Ce travail est réalisé par une petite compagnie de Seattle et racheté par Microsoft,
qui, moyennant quelques retouches mineures le rebaptise MS-DOS et le propose à
IBM sous le nom PC-DOS. La version MS-DOS vendue en OEM par Microsoft
apparaîtra un an plus tard.
Cette version rudimentaire ne gère pas encore les disques mais uniquement une
disquette 5’’1/4 de 160 Koctets ! La première version capable de gérer un disque dur
apparaîtra en 1983. DOS comprend un nombre de commandes minimum mais
comprend un interpréteur Basic qui permet déjà de développer des applications.
Chaque nouvelle version va étendre les possibilités, manipulant notamment des
disques de plus en plus grands. Notons la version 3.1 en 1983 qui permet de
connecter les machines à un réseau et la version suivante qui gère les disquettes
3’’1/2.
L’ultime version sert de sous-couche à Windows 95. Elle permet notamment de gérer
les noms de fichiers longs moyennant quelques astuces, ce qui n’est pas sans poser
de problèmes lorsqu’on emploie des supports amovibles et que l’on passe à des
machines avec des versions plus anciennes.
pour plus de documents : www.almohandiss.com
Windows
Windows est tout d’abord une simple interface graphique développée au-dessus de
DOS qui apparaît fin 1981. Il prend d’abord l’aspect d’un tableur, Multiplan, avec des
menus dans le bas de l’écran puis emploie des menus déroulants et prend le nom de
Windows en novembre 1985. C’est sa véritable année de naissance.
Windows 2 en 1987 change de façon signifiante, non seulement par l’emploi d’icônes
(ce que faisait Apple depuis plusieurs années avec le mythique McIntosh) mais aussi
avec la possibilité de fenêtres qui se recouvrent et enfin en fournissant un
environnement de développement pour les applications qu’elles soient propres à la
compagnie (Word, Excel…) ou créées par des éditeurs. Windows permet aussi
d’exécuter plusieurs applications DOS concurremment dans la mémoire étendue.
Windows 3 relooke complètement Windows et lui donne enfin une interface
maniable, peut être pas autant que le McIntosh, mais qui s’en rapproche. Le plus
important est qu’il permet de dépasser la limite fatidique des 640 Koctets et
d’adresser les mémoires plus grandes disponibles. En 1992 avec Windows 3.1 on
peut affirmer que Microsoft domine largement le marché. Mais Windows n’est
toujours qu’une interface graphique au-dessus de DOS et l’on peut accéder aux
commandes et aux fichiers des deux façons.
Windows 95 améliore l’interface mais surtout devient un vrai système 32 bits. Il
contient encore une machine virtuelle DOS pour des raisons de compatibilité afin de
permettre aux anciens programmes de fonctionner encore. Celle-ci ne disparaîtra
qu’avec XP en 2001. L’évolution principale de Windows 98 sera d’intégrer un
navigateur pour communication sur le Web.
Parallèlement, dès la fin des années 90 Microsoft met au point un vrai système multi
taches destiné à jouer le rôle de serveur dans les réseaux et qui intègre donc de
nombreuses nouvelles fonctionnalités dont des éléments de sécurité et de
confidentialité que l’on considérait comme inutiles dans les machines personnelles.
NT deviendra 2000 puis XP Professionnel qui se décline sous plusieurs versions.
Microsoft a intégré, au fur et à mesure de l’augmentation de puissance des
processeurs Intel, de plus en plus de fonctionnalités jusqu’à devenir un système
complet aujourd’hui, trop complet même disent certains qui ont la crainte que les
éditeurs de logiciels ne puissent plus offrir de solutions alternatives et que l’usager
soit réduit à Microsoft ou rien.
Qu’est-ce qui différentie Windows de Unix aujourd’hui ? Tout certainement mais il
faudra surtout noter le refus de Microsoft d’ajouter les éléments nécessaires pour le
transformer en système multi-utilisateurs. Dans le concept de la compagnie la
machine est dédiée à un utilisateur unique à la fois. Le partage d’applications et de
ressources ne peut se faire qu’en ajoutant dans le réseau un serveur et en y
accédant dans le mode client-serveur.
On peut être partisan d’un système ou de l’autre à la fois pour des raisons
techniques mais aussi idéologiques car la suprématie de Microsoft fait peur mais
pour plus de documents : www.almohandiss.com
tous les analystes sont d’accord sur le fait que les deux systèmes auront à vivre
ensemble pour longtemps.
Les systèmes d’exploitation (operating system : OS)
* Définition : c’est un logiciel avec deux fonctions :
1- Gérer les composants de la machine ( processeurs - mémoires – système
E/S) :
- Il donne l’ensemble des instructions et leur adresse dans la mémoire au
processeur.
- Il ramène les instructions de la mémoire.
- Le stockage dans le disque consiste à reconnaitre plusieurs paramètres
concernant l’organisation des répertoires au sein du disque. Cette tâche
est réalisée par le système d’exploitation.
- Le système d’exploitation communique avec les périphériques extérieurs
à travers les drivers.
2- Interface de communication entre l’homme et l’ordinateur.
L’utilisateur
Applications
L’OS
Bios
Device drivers
Hardware
Les applications qui n’ont pas besoin de l’OS pour passer au hardware sont
appelées (applications système).
Le driver est un logiciel de communication entre le hardware et le système
d’exploitation.
Applications( excel – mozilla – word)
Interfaces> - CLI (command line interface) : l’utilisateur donne des
commandes pour exécuter les tâches.
- GUI ( graphical user interface) : l’utilisateur agit avec des menus et
icones.
* Critères de choix d’un OS :
- Compatibilité.
- Coût (/ shareware : logiciels que je dois payer
/ freeware : logiciels gratuits mais sans source pour élaborer une
modification.
/ opensource : gratuit avec source)
pour plus de documents : www.almohandiss.com
- Convivialité.
- Taille.
- Fiabilité (qui se bloque rarement et qui prévoie tous les
disfonctionnements).
- Stabilité (Il peut s’en sortir en cas de situation stressante).
- Sécurité.
Téléchargement