ATELIER SYSTÈMES D’EXPLOITATION
Nadia Bel Hadj AissaSI1/ TIT1
Introduction aux systèmesd’exploitation
© 2
011
–N
adia
Bel
Had
j Ais
sa
Qu’est ce qu’un ordinateur ?
Ordinateur : composants électroniques dans une boite en tôle. L’ensemble permet de manipuler de l'information (d’où «informatique»).
3
© 2
011
–N
adia
Bel
Had
j Ais
sa
De quoi est composé un ordinateur ?
Coté matériel (Hardware)Coté matériel (Hardware)
4
© 2
011
–N
adia
Bel
Had
j Ais
sa
Le processeur
Familles : x86 : Intel, AMD (PC et Macintosh depuis 2006) PowerPC : Motorola et IBM (Mac jusque 2006, Wii et Xbox) Sparc : stations de travail Sun IA64 : développés par HP et Intel pour les serveurs HP MIPS : stations de travail Silicon Graphics et Nintendo64
7
© 2
011
–N
adia
Bel
Had
j Ais
sa
Disque dur
Capacité : 160 Go jusque 2 To Fabricants : Hitachi, Samsung, Seagate,
Western Digital, Toshiba
9
© 2
011
–N
adia
Bel
Had
j Ais
sa
Les cartes
Carte graphique
Carte USB
Cartes Réseaux
N.B. de plus en plus intégrés à la carte mère.
10
© 2
011
–N
adia
Bel
Had
j Ais
sa
A votre avis …
Xerox Star 8010 (avril 1981)
quelle date pour cette machine ?
Quelle différence avec nos ordinateurs actuels ?
© 2
011
–N
adia
Bel
Had
j Ais
sa
Notice d’un ordinateur actuel
processeur : Intel Intel® Core™2 Duo Extreme4 MB L2 3.33 GHz 1066 MHz bus
mémoire : 2 Go disque dur : Disque dur DiamondMax 11, 500 Go,
7200 tpm, buffer 16 Mo, UDMA 133, Maxtor
carte graphique : GeForce 7950 GX2 1 Go écran : 30‐inch Apple Cinema HD Display.Puissances (en millions d’opérations flottantes par seconde)
2880 MFLOPs : Pentium 4 à 3,06 GHz en Septembre 2003 … 8000 MFLOPs
13
© 2
011
–N
adia
Bel
Had
j Ais
saMais qu’est ce qui nous permet de manipuler le matériel?
Pour chaque opération, que ce soit…
le déplacement de la souris l'appui d'une touche sur le clavier l'ouverture d'un document une connexion Internet etc.
Le système d'exploitation est sollicité!
14
© 2
011
–N
adia
Bel
Had
j Ais
sa
Système d’exploitation
Un utilisateur ne peut pas interagir directement avec le matériel !
Il lui faut un programme de base qui permet aux programmes d’utiliser les périphériques, le réseau et la mémoire secondaire;
tourne en permanence dès le démarrage de l’ordinateur; offre un classement logique des informations stockées; dispose d’une interface conviviale pour dialoguer; permet l’exécution et le développement d’applications tiers;
Ce programme de base s’appelle un système d’exploitation(Operating System) par ex. : Windows, Linux, Unix, MacOS(chacun ayant plusieurs versions)
16
© 2
011
–N
adia
Bel
Had
j Ais
sa
D’une manière générale,
Un S.E. (Operating System) est un intermédiaire indispensable entre un utilisateur et le matériel de l’ordinateur.
« Programme assurant la gestion de l'ordinateur et de ses périphériques »
[www.dicofr.com]
Tous les ordinateurs reposent sur un système d’exploitation pour fournir une interface permettant une interaction entre utilisateurs, applications et matériel.
Le système d’exploitation amorce l’ordinateur et gère le système de fichiers.
La plupart des systèmes d’exploitation modernes prennent en charge plusieurs utilisateurs, tâches ou unités centrales.
17
© 2
011
–N
adia
Bel
Had
j Ais
sa
Définition d’un SE
Il est impossible de définir simplement un S.E., celui‐ci joue plusieurs rôles que nous allons essayer de cerner.
Chef d’orchestreGestionnaireInterprète. . .
18
© 2
011
–N
adia
Bel
Had
j Ais
sa
Chef d’orchestre
C’est le plus souvent sous la baguette du SE que l’information transite entre composants matériels
En cas de panne ou d’erreur matérielle, c’est lui qui doit trouver des solutions, faire que l’ordinateur réponde quand même à l’utilisateur
C’est le SE qui décide quel programme accède au processeur ou à une autre ressource, et pour combien de temps
19
© 2
011
–N
adia
Bel
Had
j Ais
sa
Gestionnaire
Un S.E. ne produit par lui‐même aucune information ou ressource.
Comme un gouvernement, il gère les ressources en arbitrant les accès concurrents, il définit les règles d’accès.
Plus précisément, il aura en charge la gestion: des programmes en cours d’exécution : chargement en mémoire, accès au processeur, synchronisation
de l’organisation de l’espace mémoire et de l’organisation des informations sur disque
des utilisateurs : identification, protection des informations, zones de partages d’information
20
© 2
011
–N
adia
Bel
Had
j Ais
sa
Interprète
Le S.E. a pour rôle de nous affranchir de la complexité du matériel, il sert de traducteur en proposant un/des langage/s de plus haut niveau.
Les applications de niveau supérieur communiquent au S.E. leurs intentions par le biais d’appels systèmes
21
© 2
011
–N
adia
Bel
Had
j Ais
sa
Récapitulons,
Un S.E. est responsable de:
L’utilisation correcte, commode et efficace du matériel,
La bonne gestion de toutes les ressources de l’ordinateur,
La protection des applications et des données des utilisateurs les unes des autres,
22
© 2
011
–N
adia
Bel
Had
j Ais
saL’utilisation correcte, commode et efficace du matériel, Le S.E. installe un pilote de périphérique pour chaque composant matériel.
Un pilote de périphérique est un petit programme écrit par le fabricant du matériel et fourni avec le composant matériel. Lorsque le périphérique est installé, le pilote l’est également, permettant ainsi au système d’exploitation de communiquer avec le composant matériel.
La procédure d’attribution de ressources système et d’installation de pilotes est effectuée avec Plug and Play.
Le S.E. configure ensuite le périphérique et met à jour le registre, qui est une base de données contenant toutes les informations sur l’ordinateur.
23
© 2
011
–N
adia
Bel
Had
j Ais
saLa bonne gestion de toutes les ressources de l’ordinateur, La gestion de la mémoire centrale (RAM) La gestion de la mémoire secondaire (DD) La gestion des processeurs La gestion des périphériques: entrées/sorties La gestion du réseau
Matériel
Système d’exploitation
Applications
25
© 2
011
–N
adia
Bel
Had
j Ais
sa
Gestion du/des processeur
Le Système d’Exploitation gère l’exécution des programmes au niveau du processeur ce qui le ramène a gérer les processus.
Un processus est l’entité créée par le système d’exploitation pour exécuter un programme.
Le SE est chargé de gérer l'allocation du processeur entre les différents programmes grâce à un algorithme d'ordonnancement
26
© 2
011
–N
adia
Bel
Had
j Ais
sa
Gestion de la mémoire centrale
La MC est destiné à accueillir les données à traiter.
De même après exécution, les résultat de ce traitement est placé en MC
Il faut donc gérer l’allocation des cette mémoire aux programmes (attribution, libération de mémoire)
Il existe pour ça plusieurs algorithmes et politiques de gestion de mémoire centrale.
En cas d'insuffisance de mémoire physique: «mémoire virtuelle»
27
© 2
011
–N
adia
Bel
Had
j Ais
sa
Gestion de la mémoire secondaire
Le disque dur est un support de stockage qui a pour objectif de conserver de manière permanente les fichiers et les programmes exécutés en mémoire centrale.
Les programmes sont stockées sous forme de fichiers sur le disque dur et organisés en répertoire.
Le SGF doit offrir des fonctions afin de créer, copier, lire, … des fichier.
La gestion de mémoire secondaire inclut aussi le stockage de fichier, la restauration, La gestion d’espace libre sur le disque, la correction d’erreur …
28
© 2
011
–N
adia
Bel
Had
j Ais
sa
Gestion des entrées/sorties
L’existence d’E/S dans un programme introduit de nombreux problèmes dus à la différence de vitesse entre les périphériques et l’unité centrale.
Ainsi lors de la conception d’un SE, une attention particulière est accordée au E/S qui permet de les protéger et d’en interdire généralement l’accès direct aux programmeurs.
L’unification et le contrôle d'accès des programmes aux ressources matérielles par l'intermédiaire des pilotes (gestionnaires de périphériques)
29
© 2
011
–N
adia
Bel
Had
j Ais
sa
La gestion du réseau
L’interconnexion des machines par des réseaux locaux constitue une des majeures évolutions de la dernière décennie.
Les SE actuels prennent en charge cet aspect dans la mesure où ils offrent : Le partage de fichiers Une protection pour ces fichiers L’identification des machines sur le réseau L’identification des utilisateurs sur le réseau etc…
© 2
011
–N
adia
Bel
Had
j Ais
saLa protection des applications et des données des utilisateurs
Les problèmes techniques actuels de sécurité informatique découlent directement ou indirectement de l'essor des réseaux, qui multiplie la quantité et la gravité des menaces potentielles.
Ces menaces peuvent être : atteinte à la disponibilité des systèmes et des données, destruction de données, corruption ou falsification de données, vol ou espionnage de données, usage illicite d'un système ou d'un réseau, usage d'un système compromis pour attaquer d'autres cibles.
31
© 2
011
–N
adia
Bel
Had
j Ais
sa
oMono utilisateur/MultiutilisateuroMono tâche/ Multitâcheso…
Types de systèmes d’exploitation32
© 2
011
–N
adia
Bel
Had
j Ais
sa
Types de systèmes d’exploitation
Il existe plusieurs éditeurs de systèmes d’exploitation qui ontchacun leur philosophie sur la manière de conduire unordinateur (et sur la façon de remporter des parts de marché…).
Chaque éditeur peut produire plusieurs systèmes d’exploitation,et chaque système d’exploitation peut avoir différentes versionsau cours de son existence.
Les systèmes d’exploitation peuvent être classés en différentescatégories et selon différents critères.
33
•Les interfaces •Le nombre d’utilisateurs•Le nombre d’application qui tournent en simultané •La connectivité réseau•Le nombre de processeur •Le nombre de bits
© 2
011
–N
adia
Bel
Had
j Ais
sa
Types de systèmes d’exploitation
L’interface utilisateur permet la communication entre l'utilisateur et la machine
Il existe trois grands types d'interface utilisateur:piloté par commandes (DOS)piloté par menus (peu commun)interface utilisateur graphique (Windows)
35Les interfaces
GUI Vs CLI
Interface à lignes de commande (CLI): L’utilisateur tape dans une invite de commande.
Interface d’utilisateur graphique (GUI): L’utilisateur interagit avec des menus et icônes.
La majorité d’OS inclut un GUI et un CLI.
36
© 2
011
–N
adia
Bel
Had
j Ais
sa
Interface d’utilisateur graphique
Développé par Xerox dans son centre de recherche PARC (Palo Alto ResearchCenter)
Popularisé par la compagnie Apple avec son ordinateur Macintosh
Est apparu dans l’environnement IBM et compatibles avec Windows 3.1
On retrouve aussi ce type d’interface sur d’autres types d’ordinateurs (Sun)
37
© 2
011
–N
adia
Bel
Had
j Ais
sa
Interface à lignes de commande
On tape au clavier une commande
On appuie sur la touche <Entrée>
La commande s'exécute
Parfois, la commande répond au format texte
38
Comparaison
plus compliqué à apprendre
informaticiens, professionnels
beaucoup plus puissant
possibilité de programmation
flexible
plus simple
non informaticiens
rigide
39
© 2
011
–N
adia
Bel
Had
j Ais
sa
Mono tâche Vs. multi tâches
Les systèmes d’exploitation mono tâche qui ne permet d’avoir à 1 moment donné en mémoire centrale qu’une seule tâche. Lorsqu’une programme est lancé il mobilise les ressources de la machine et ne les libère qu’a sa fermeture.
Les systèmes d’exploitation multi tâchespeuvent faire fonctionner plusieurs applications en même temps.
41
© 2
011
–N
adia
Bel
Had
j Ais
sa
Systèmes d’exploitation multi tâches
Partager le temps du processeur (UCT) entre plusieurs programmes (tâches)Impression de réalisation simultanée
Le passage de l’exécution d’un processus à une autre (commutation) peut être initié ...Par les programmes eux mêmes (coopératif)Par le système d’exploitation (préemptif)
Ex: On peut surfer sur le web en écoutant un MP3
42
© 2
011
–N
adia
Bel
Had
j Ais
sa
Systèmes d’exploitation multi tâches
Les SE multitâches actuels sont préemptif Le SE gère l'accès des programmes aux ressources de la machine
Chacun son tour!!
43
© 2
011
–N
adia
Bel
Had
j Ais
sa
Systèmes d’exploitation multi tâches
Les programmes en cours d'exécution sont stockés dans une file d'attente Ils accèdent chacun leur tour aux ressources de la machine...
...puis retournent en file d'attente Ce va‐et‐vient est géré par l'ordonnanceur (scheduler)
44
© 2
011
–N
adia
Bel
Had
j Ais
sa
45/118
Systèmes d’exploitation multi tâches
Un système informatique complexe peut êtrecomposé d’une multitude de périphériques.
Imaginez ce qui se passerait si trois programmess’exécutant sur la même machine tentaientd’imprimer leur résultat simultanément: Aurait‐on une ligne provenant de chacun desprogrammes ? un caractère ? On voit ici que le rôle dusystème d’exploitation dans la répartition despériphériques aux différents utilisateurs est essentiel
C’est donc le SE qui stocke les données allant versl’imprimante et qui s’occupe de gérer une file d’attente.
© 2
011
–N
adia
Bel
Had
j Ais
sa
mono utilisateur Vs. multi utilisateurs
Les systèmes d’exploitation mono utilisateur est utilisable par un seul utilisateur à la fois. Exemple (MS‐DOS)
Un système d'exploitationmulti utilisateur est conçu pour permettre à plusieurs utilisateurs d'utiliser l'ordinateur simultanément, tout en limitant les droits d'accès de chacun afin garantir l'intégrité de leurs données. Exemple (MacOS, Windows 7)
47
© 2
011
–N
adia
Bel
Had
j Ais
sa
Client Vs. Serveur
Client: conçus pour fonctionner sur une machine isolée (comme par exemple, une station cliente), et alors ils sont construit pour offrir les meilleures performances pour l’application qui tourne en premier plan (l’application en cours).
Exemple (Windows XP) Serveur: conçus pour fonctionner en réseau (comme par exemple un serveur), et alors ils sont construit pour satisfaire toutes les demandes de service qui leur sont adressée en même temps par des clients différents. Leur capacité doit être répartie équitablement selon le nombre d’utilisateurs connectés.
Exemple (Windows 2008 Server)
49
© 2
011
–N
adia
Bel
Had
j Ais
sa
Monoprocesseur Vs. multiprocesseur
Un ordinateurmultiprocesseur est doté de plusieurs processeurs, il est donc doté d'une architecture parallèle. Alors qu'un ordinateur monoprocesseur ne compte qu'un seul processeur. Exemple : processeurs Core 2 Duo, Core 2 Quadro, Niagara, Power6, et
Phenom Lemultiprocessing permet 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).
On appelle SMP (Symmetric Multiprocessing ou SymmetricMultiprocessor) 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.
51
© 2
011
–N
adia
Bel
Had
j Ais
sa
32 bits Vs. 64 bits
La taille desregistres générauxpour les nombresentiers,
Dans les UnitésArithmétiques etLogiques, quiutilisent les donnéescontenues dans lesregistres doiventdonc être capablesd'effectuer desopérations
53
Evolution des CPU
© 2
011
–N
adia
Bel
Had
j Ais
sa
32 bits Vs. 64 bits
Il ne suffit pas d'avoir une machine avec processeur 64 bits et d'installer les versions « habituelles » du système d'exploitation et des logiciels. De cette façon, le processeur 64 bits tournera en mode 32 bits (compatibilité descendante).
Pour la majorité des systèmes d’exploitation, il existe une version 32 bits et une version 64 bits, et il faut donc choisir d’installer la version 32 bits ou 64 bits.
Avec un système 64 bits, on traite en théorie deux fois plus de données en un cycle d'horloge du processeur qu'avec un système 32 bits. Cependant, cela ne signifie pas que les calculs s'effectuent deux fois plus rapidement.
54
© 2
011
–N
adia
Bel
Had
j Ais
sa
Une multitude de S.E.
L’existence d’une multitude de systèmes d’exploitation peut laisser penser qu’ils sont tous différents, ce n’est pas toujours vrai.
On peut faire l’analogie avec les voitures, il existe plusieurs modèles, mais elles ont toutes « ou presque » 4 roues, un volant, des feux … elle ne différent que par l’ergonomie et le moteur
Il en est le même avec les OS, ils ont tous les même rôles et objectifs, ils ne différent que par l’interface et les stratégies qu’ils appliquent
Si nous considérons la gestion du processeur, tous OS prend en charge la création d’un processus (*).
Toute fois chaque OS a sa manière de le créer* Un processus est une entité créée par l’OS pour exécuter un programme
56
© 2
011
–N
adia
Bel
Had
j Ais
sa
Où trouve-t-on des OS?
Ordinateurs et serveurs « classiques » (Linux, Windows, MacOS)
Ordinateurs de poche (PalmOS, Windows, Linux) GSM (Symbian, Windows, PalmOS, Linux) Lecteurs DVD (Linux, ...) Routers (Cisco OS, Linux, ...) Avions, satellites, voitures, machines à laver,... Consoles de jeux: (PS3, WII, Xbox, ...)
57
© 2
011
–N
adia
Bel
Had
j Ais
saLes 4 OS Principaux
Mac OS X (Apple)
Windows XP de Microsoft (MS-DOS, Windows 95/98/Me/NT) pour les PC (Personal Computer)
Unix (IBM, Sun, HP) pour les gros systèmes et machines propriétaires (1969)
Linux (mis au point par Linus Thorvald, 1991) est un Unix pour PC
Les 4 S.E. principaux58
© 2
011
–N
adia
Bel
Had
j Ais
sa
MS Dos
Microsoft Disk Operating System développé par Microsoft pour l'IBM PC d'abord, puis pour les compatibles PC.
fonctionne en mode monotâche et monoutilisateur, Une interface en ligne de commande. De 1980 à 1990, le système le plus utilisé sur PC, avant d'être progressivement remplacé par des systèmes d'exploitation plus évolués, notamment Windows.
Son développement est maintenant arrêté.
59
© 2
011
–N
adia
Bel
Had
j Ais
sa
Windows
Cette famille de systèmes d’exploitation est le principal produit de la firme Microsoft et a été le second agent de son phénoménal succès après DOS, dont les apports financiers récurrents ont financé le développement (déficitaire) de Windows jusqu’à la version 3.0 de ce logiciel, qui atteint alors son seuil de rentabilité).
Windows est installé sur presque 90 % des ordinateurs personnels vendus dans le monde, et dégage actuellement 87 % de marge bénéficiaire. Néanmoins, Windows perd petit à petit des parts de marché au profit de Mac OS X d’Apple. Mais Windows reste aujourd’hui le produit le plus rentable de l’éditeur.
60
© 2
011
–N
adia
Bel
Had
j Ais
sa
Unix/Linux
UNIX est un S.E. multitâche et multi‐utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils chacun dotés d'une mission spécifique.
Linux est un noyau libre créé en 1991 par Linus Torsvald
Maintenu par de nombreux internautes bénévoles et par des entreprises
61
© 2
011
–N
adia
Bel
Had
j Ais
sa
Mac OS X
Macintosh Operating System est le nom du S.E. d'Apple pour les ordinateurs Macintosh.
Premier système grand public ayant une interface graphique basée sur les fenêtres, icônes, menus et souris (modèle WIMP).
62
© 2
011
–N
adia
Bel
Had
j Ais
sa
QNX
S.E UNIX commercial temps réel compatible POSIX. On le retrouve entre autres dans le développement de logiciels, le contrôle de robots industriels et les ordinateurs embarqués.
QNX est basé sur l'idée originale de faire fonctionner une grande partie du S.E. comme un ensemble de petites tâches connues sous le nom de serveurs.
63
© 2
011
–N
adia
Bel
Had
j Ais
sa
Android
Android (prononcé androïde) est un système d'exploitation open source pour smartphones, PDA et terminaux mobiles conçu par Android, une startup rachetée par Google, et annoncé officiellement le 5 novembre 2007. D'autres types d'appareils possédant ce système d'exploitation existent, par exemple des téléviseurs et des tablettes.
64
© 2
011
–N
adia
Bel
Had
j Ais
sa
OS/400
OS/400 est le S.E. d'IBM conçu pour ses machines de la gamme AS/400: gamme de mini‐ordinateurs IBM apparue début février 1987.
Il s'agit d'un système dédié à l'informatique de gestion qui intègre des technologies brevetées comme un système de fichiers objet et une base de données intégrée.
65