SEANCE 1 : Introduction aux SE

publicité
SOMMAIRE
SOMMAIRE .............................................................................................................................. 1
SEANCE 1 : Introduction aux S.E. ............................................................................................ 3
I. Introduction .................................................................................................................... 3
II. Présentation du Système d’exploitation ......................................................................... 4
A)
La structure et les fonctions du S.E. ....................................................................... 4
a).
La hiérarchie des programmes ........................................................................... 4
Logiciel : définition .................................................................................................... 5
Progiciel : définition ................................................................................................... 5
Collecticiel: définition ................................................................................................ 5
Gratuiciel: définition .................................................................................................. 5
Logiciel libre : définition............................................................................................ 5
Logiciel contributif: définition ................................................................................... 5
Compilateur ................................................................................................................ 6
Editeur ........................................................................................................................ 6
Interpréteur de commandes ........................................................................................ 6
Schéma de transmission d’une instruction ................................................................. 7
b).
Les fonctions principales d’un S.E. .................................................................... 8
c).
Les interruptions ................................................................................................. 8
d).
Les déroutements ................................................................................................ 9
e).
Le noyau (kernel) du S.E.................................................................................... 9
B)
Fonctionnement d’un processeur de base ............................................................. 13
Le processeur................................................................................................................ 13
C)
Historique des S.E. (cf. A.Tanenbaum): ............................................................. 16
III.
Typologie des S.E. ................................................................................................... 19
A)
Classification selon les machines ......................................................................... 19
1) Les S.E. pour mainframes ........................................................................................ 19
2) Les S.E. serveurs ...................................................................................................... 19
3) Les S.E. personnels .................................................................................................. 19
4) Les S.E. temps réel ................................................................................................... 20
5) Les S.E. embarqués .................................................................................................. 20
6) Les S.E. pour Smart Cards (cartes intelligentes) ...................................................... 20
B)
Selon les services rendus ...................................................................................... 20
1) mono/multi tâches : .................................................................................................. 20
2) mono/multi-utilisateurs : .......................................................................................... 20
C)
Selon leur architecture .......................................................................................... 21
1) Systèmes centralisés : ............................................................................................... 21
2) Systèmes répartis (distributed systems) : ................................................................. 21
D)
Selon leur capacité à évoluer ................................................................................ 21
1) Systèmes fermés (ou propriétaires) : ........................................................................ 21
2) Systèmes ouverts : .................................................................................................... 21
E) Selon l’architecture matérielle qui les supporte ....................................................... 22
1) Architecture monoprocesseur (temps partagé ou multiprogrammation) : ............... 22
2) Architecture multiprocesseur (parallélisme) : .......................................................... 22
3) Architecture faiblement ou fortement couplée. ........................................................ 22
1
IV.
Les étapes du démarrage d’un S.E. .......................................................................... 23
V. Conclusion .................................................................................................................... 24
LEXIQUE................................................................................................................................. 25
A)
Micro-noyau ......................................................................................................... 25
B)
Noyau monolithique ............................................................................................. 25
C)
BIOS ..................................................................................................................... 25
D)
CMOS................................................................................................................... 26
E) L’IEEE ..................................................................................................................... 26
F) Serveur (informatique) ............................................................................................. 27
G)
Station de travail................................................................................................... 27
2
CONTENUS
S21 Système d'exploitation d'un
poste de travail
Principes fondamentaux :
gestion des processus
gestion de la mémoire
gestion de fichiers
gestion des entrées-sorties
CAPACITÉS ATTENDUES
COMPÉTENCES
CONCERNÉES
 Expliquer les principes de base du
fonctionnement d'un système d'exploitation
mono-utilisateur.
C39
C46
C47
SEANCE 1 : Introduction aux S.E.
I. Introduction
Le système d’exploitation est un programme sans lequel les ordinateurs actuels ne peuvent
fonctionner. Le plus connu est bien sûr Windows puisqu’il est la pierre angulaire de la
démocratisation de l’informatique.
Il existe plusieurs façons d’aborder la notion de système d’exploitation. Celle adoptée ici est
la suivante :
Nous tenterons d’abord de présenter le S.E. à travers ses fonctions et sa structure en passant
par une vue d’ensemble du fonctionnement d’un processeur. Puis nous replacerons les S.E.
d’aujourd’hui dans un contexte historique
Nous distinguerons ensuite les différents types de S.E. les plus courants. Puis nous exposerons
les étapes du démarrage d’un S.E.
Pour tout apport supplémentaire, se reporter aux parutions suivantes :
Les systèmes d’exploitation 2e édition d’Andrew Tanenbaum (éd. Pearson Education),
Systèmes d’exploitation de J. Archer Harris (éd. EdiScience),
Inside Windows 2000 3e édition de Salomon et Russinovitch.
Les systèmes d’exploitation des ordinateurs de Laurent Bloch (éd. Vuibert Informatique)
3
II. Présentation du Système d’exploitation
A) La structure et les fonctions du S.E.
a). La hiérarchie des programmes
Pour faire fonctionner un ordinateur il est nécessaire de faire appel à plusieurs types de
programmes.
Certains sont écrits en langage machine (Assembleur) et seul la machine peut les interpréter.
Ce langage n’est pas unifié, autrement dit, il diffère en fonction des processeurs. Chaque
processeur possède un langage assembleur.
D’autres sont développés en langage compréhensible pour l’homme : le langage évolué (C,
VB, …etc.). Le plus souvent ce sont des programmes utilisateur comme les suites
bureautiques, les logiciels de gestion ou les navigateurs Clients Web.
Logiciels de
gestion
comptable
S.G.B.D.R.
Compilateurs
Jeux
Suites
Navigateurs
bureautiques
Web
Editeurs
Système d’Exploitation
Programmes
utilisateur
Interpréteur de
commandes
Programmes
système
Langage Machine
Matériel
Matériels
4
Logiciel : définition
Dans le sens large, ce mot désigne l’ensemble des programmes (par opposition avec
l’ensemble du matériel). On le désigne aussi par software, opposé à hardware.
Dans son sens plus restreint, il peut désigner un programme (un seul).
Exemple : Microsoft fait des softwares mais aussi DU software.
Progiciel : définition
C’est un PROduit logiCIEL
Collecticiel: définition
(ou groupware ou synergiciel) : Est un programme qui permet le travail en collaboration, en
groupe, via un réseau.
Gratuiciel: définition
(ou freeware) : Est un programme mis à disposition gratuitement par l‘auteur quel que soit le
cadre dans lequel il est utilisé.
Logiciel libre : définition
(ou Open Source) Programme fourni avec ses codes source. L’utilisateur peut donc le
modifier, l’améliorer, le diffuser
Logiciel contributif: définition
(ou shareware) : Est un programme mis à disposition pour essai. Pour avoir le droit d’utiliser
un shareware dans le cadre d’une activité, il faut verser une contribution à son auteur.
(L’essayer est gratuit, l’utiliser est payant)
5
Compilateur
Transforme un fichier texte en fichier exécutable binaire.
Editeur
Éditeur de texte : Permet de modifier un fichier de type « texte ». Un éditeur n’est pas en
mesure d’enrichir un texte (pas de mise en forme)
Éditeur hexadécimal : permet de visualiser un fichier en langage machine
Éditeurs de liens : Lors de la compilation d’un programme écrit en langage évolué, il permet
de lier les noms de bibliothèques aux bibliothèques elles-mêmes puis de transformer le
programme évolué en fichier exe (fichier exécutable) ou dll (bibliothèque de liaisons
dynamiques)
Interpréteur de commandes
Est l’équivalent de l’interface graphique (ou IHM). Il permet :





l'exécution des commandes tapées en mode texte sur une ligne de commande
la redirection des entrées et des sorties (>prn en DOS ou >lp sous UNIX)
la substitution des noms de fichiers
la gestion des variables d'environnement (programme en C)
la possibilité de réaliser des scripts ou batchs
L’interpréteur de commandes se lance automatiquement à l’ouverture du S.E.
6
Pour qu’une machine comprenne un ordre donné par un utilisateur, il faut que les étapes
suivantes se réalisent :
-
L’utilisateur donne une consigne à l’application « utilisateur » (un clic sous WORD,
par exemple)
Le programme WORD (écrit en langage évolué) transmet la consigne (le processus)
au S.E.
Le SE. Traduit cette consigne en langage machine (pour communiquer avec les
composants)
La machine exécute la consigne
Le S.E. agit comme le traducteur intercalé entre l’utilisateur et sa machine. Il existe donc une
hiérarchie entre les programmes présents sur une machine :
La hiérarchie des programmes sur un ordinateur
Schéma de transmission d’une instruction
QUE SE PASSE-T-IL ?
OU ?
L’utilisateur donne une
consigne
Programme utilisateur
La consigne est transmise
au S.E.
Programme
utilisateur
Système
d’exploitation (S.E.)
Le S.E. traduit la consigne
en instruction langage
machine
Le S.E. transmet
l’instruction aux
composants concernés
Les composants exécutent
l’instruction
S.E.
Système
d’exploitation (S.E.)
Machine
Machine
Le S.E. se charge donc de gérer les ressources matérielles à la place de l’utilisateur.
7
b). Les fonctions principales d’un S.E.
Les différentes fonctions gérées par le S.E. sont les suivantes :
-
La gestion des processus
Définition : Un processus un travail, un série d’instructions, un programme que le S.E. confit
à la machine. A chaque processus envoyé à la machine est associé un ensemble de ressources,
un espace virtuel, un contexte dans lequel il doit s’exécuter. En effet, qui dit « programme »
dit allocation de zones en mémoire pour stocker des valeurs, variables, résultats
intermédiaires, …etc.
-
La gestion de la mémoire
Puisque chaque processus possède ses ressources en mémoire allouées par le S.E., un
processus ne peut accéder qu’à son propre espace de ressources. En général, un espace en
mémoire est décrit par une adresse mémoire, c'est-à-dire le numéro correspondant à une zone
de la mémoire.
-
La gestion du système de fichiers
Le système de fichiers donne la possibilité de transmettre et stocker les données sous forme
rationnelle. Sans le système d’exploitation, les fichiers ne sont pas manipulables (accès en
lecture ou en écriture )
-
La gestion de périphériques d’Entrées et Sorties
C’est le S.E. qui transmet les instructions de ou vers les périphériques.
Par exemple : si un imprimante n’a plus d’encre, elle envoie un message vers la machine.
Comme elle a sont propre langage, il faut que le S.E. ait été formé à ce langage (installation
du pilote de l’imprimante) et qu’il transmettre le message de l’imprimante au processeur dans
un langage compris par le processeur.
En outre, le S.E. reparti les accès aux périphériques par les différents processus en cours
d’exécution (surtout pour la multiprogrammation)
c). Les interruptions
Lorsqu’un processus est envoyé au CPU alors qu’il est occupé, il est classé et « numéroté »
dans une liste en mémoire pour être traité entre deux cycles de processeurs. La zone où on
classe les interruptions par ordre d’arrivée s’appelle « vecteur d’interruption » Lors d’une
interruption, le noyau intervient pour lancer un processus de gestion des interruptions
8
d). Les déroutements
Lorsqu’un processus fait appel à une ressource mémoire inexistante ou interdite, il se produit
un déroutement. Le noyau intervient pour lancer un processus de gestion de la mémoire. Puis
il « repasse » la main au programme utilisateur.
Lorsqu’une interruption ou un déroutement intervient, le contenu des registres est stocké dans
le registre d’état pour pouvoir reprendre le processus interrompu dans le même contexte.
e). Le noyau (kernel) du S.E.
C’est un ensemble de procédures qui s’exécutent à chaque interruption ou déroutement du
traitement d’un processus. Leur fonction est de gérer les situations qui provoquent les
déroutements et interruptions.
A chaque fois qu’un programme utilisateur est interrompu dans son exécution (appel
système), c’est le noyau qui dicte à la machine ce qu’elle doit faire. Ensuite, le programme
utilisateur reprend. Chaque procédure du noyau est affectée à la gestion d’un interruption ou
d’un déroutement.
Par exemple :
Si un programme utilisateur réclame des ressources mémoire inexistantes ou fait appel à des
adresses mémoire non valides, la procédure servant à gérer la mémoire va se déclencher.
Car une référence à une ressource mémoire erronée se traduit par un déroutement du
processeur qui active le mode « noyau » ou « superviseur »
En général, avant de relancer le processus interrompu, le noyau exécute sa procédure
« gestion des processus » pour restaurer le contexte propre à l’exécution du processus dérouté.
Donc l’allocation des ressources en mémoire, l’état des registres du processeur au moment du
déroutement sont récupérés.
Il existe plusieurs types de noyaux de S.E. (pas tous listés ici) :
-
S.E. à noyau monolithique
Il contient toutes les procédures de gestion des processus, de la mémoire, des déroutements et
interruptions, la communication entre les processus (processus qui appellent d’autres
processus), ainsi que les fonctions de niveau supérieur comme la gestion du système de
fichiers.
Toutes ces procédures sont compilées ensemble et peuvent s’appeler l’une l’autre. Elles ne
sont pas modularisées.
9
Problème : lorsqu’un appel système (passage en mode noyau) survient, quelle procédure
exécuter ? Gestion mémoire, gestion E/S ?
Solution : les systèmes à noyau monolithique contiennent à la fois les procédures de gestion
mais aussi un programme qui choisit la procédure de gestion à appliquer lorsqu’un appel est
lancé en mode noyau.
Exemples : MS-DOS, Multics, Unix et Linux.
Schéma du fonctionnement d’un S.E. à noyau monolithique
Noyau monolithique
Procédure principale (gère les procédures de services)
Procédures de services (gestion de la mémoire, …etc.)
Programmes utilisateurs
-
S.E. noyau en couches
A l’intérieur du noyau, plusieurs niveaux de programmes coexistent. Chacun traite plus ou
moins directement avec le matériel. Le niveau 0 gère le processeur et optimise l’envoi des
instructions qu’il doit traiter. Le niveau 1 gère la mémoire sans rien savoir de la gestion du
processeur. Le niveau 2 permet la gestion des processus par l’utilisateur. Le niveau 3 gère les
E/S. Le niveau 4 contient les programmes utilisateurs. Chaque couche délègue des tâches au
niveau inférieur sans connaître le détail des travaux qui seront effectués.
Schéma du fonctionnement d’un S.E. à noyau en couches
Noyau en couches
Niveau 0
Niveau 1
…
10
-
Les machines virtuelles
Ce système est dédié au temps partagé. Il sépare la partie gestion de la CPU et communication
avec les applications utilisateur. Il permet de d’émuler plusieurs machines sur une seule pour
permettre de lancer des programmes nécessitant des systèmes d’exploitation variés sur une
même machine.
-
S.E. exonoyau
Principe des machine virtuelles mais avec une séparation des ressources de chaque système
émulé.
-
S.E « micro-noyau » ou client-serveur
remplit toutes les fonctions de bas niveau. Fait appel à des PROCESSUS SERVEURS pour
les fonctions de plus haut niveau. Dans ce cas, le système de gestion de fichiers (entre autres)
est indépendant du micronoyau. Quand l’utilisateur gère ses fichiers, il s’adresse au S.G.F.
qui, lui, s’adresse au micronoyau qui s’adresse au matériel.
Schéma du fonctionnement d’un S.E. micronoyau
Processus
Processus
Processus
Serveur de …
serveur de Serveur de
client
client
serveur
terminaux
fichier
Mode
utilisateu
r
mémoire
Mode
noyau
Micronoyau
Le client est servi en envoyant des messages au processus serveur. C’est le qui est le
micronoyau messager.
Ce système est plus simple et plus facile à maintenir.
11
Le schéma de la situation pourrait être celui-ci :
UTILISATEUR
PROCESSUS
SERVEUR de
GESTION DE
FICHIERS
UTILISATEUR
Or, cela
ressemble à :
PROGRAMME
UTILISATEUR
S.E.
S.E.
MACHINE
MACHINE
Donc, dans un S.E. micronoyau, les processus serveurs s’apparentent à des programmes
utilisateurs (exemple : le gestionnaire d’impression).
Cependant, dans un S.E. micronoyau, il est préférable de ne pas faire l’amalgame entre
processus serveur et programme utilisateur.
Exemples : Windows NT (en partie), MINIX BeOS et OS/2.
12
B) Fonctionnement d’un processeur de base
Le processeur
Les schémas suivant sont le plus souvent retenus pour représenter le fonctionnement d’un
processeur. Ils ne couvrent bien entendu pas le fonctionnement intégral dans ses moindres
détails. Ils ne montrent pas non plus le fonctionnement de tous les types de processeurs.
Cependant ils permettent de comprendre la logique de base dont tout informaticien devrait
s’imprégner.
Schéma simplifié d’un ordinateur personnel
BUS SYSTEME
PROCESSEUR
(CPU)
CONTROLEUR
VDO
MEMOIRE
CONTROLEUR
CLAVIER
La structure du processeur (composants de base)
Pointeur de programme
Registre d’instruction
Registre d’état
R
E
G
I
S
T
R
E
S
Logique de
commande
(décode et
exécute les
instructions)
UAL
Unité Arithmétique et
Logique
Les registres sont de petites mémoires spécialisées
13
Cycle de base d’un processeur (Central Processing Unit) en quatre grandes étapes
Le pointeur de prg donne l’adresse
de l’instruction à traiter
Placement de
l’instruction dans
registre d’instruction
Extraction d’une instruction de la
mémoire centrale
Incrémentation du
pointeur de prg
Décodage de l’instruction par
l’unité de commande
Type de l’instruction
(Voir « Les types
d’opérations »)
Opérandes de l’instruction
Sont situées dans un
emplacement mémoire
centrale (elles sont les
ressources du processus)
Dans l’instruction, le bit
définissant le type
d’opération varie en fonction
du constructeur du CPU
Exécution de l’instruction
L’exécution peut conduire à stocker
un résultat en mémoire centrale
Si une interruption ou un déroutement était survenu pendant le cycle, le processeur la traite à
ce moment, sinon, la valeur du pointeur de programme permet de passer à l’instruction
suivante.
S’il n’y a plus de processus en attente, le processeur « cycle à vide ». C’est ce qu’on appelle
une boucle inactive ou d’attente active.
14
Les types d’opérations effectuées par le processeur :
- Le mouvement : Déplace le contenu d’un emplacement mémoire (ou d’un registre) vers un
autre.
- Le calcul : Une ou plusieurs valeurs d’opérandes sont envoyées à l’UAL qui effectue le
calcul.
- Le branchement conditionnel : Si une condition de branchement est vérifiée, le pointeur de
programme est réinitialisé pour pointer sur (contenir) l’adresse mémoire de branchement
demandée dans l’instruction.
- Le branchement inconditionnel : Idem mais la condition sera toujours vraie.
- L’appel de procédure :
1. Enregistre la valeur contenue dans le pointeur de programme dans une zone mémoire
centrale.
2. Réinitialise le pointeur de programme pour qu’il pointe vers l’adresse mémoire de début
de la procédure appelée
3. Exécute les instructions de la procédure
4. Va chercher la valeur du pointeur de programme stockée en mémoire centrale.
5. Reprend le processus à l’endroit où elle l’avait stoppé.
L’appel de
procédure saute à
l’emplacement
mémoire du début
de la procédure
Instruction 1
Instruction 2
Instruction 3
Instruction 4
Instruction 5
Appel de procédure
Instruction 6
Instruction 7
Instruction 8
Procédure Instruction 1
Procédure Instruction 2
Procédure Instruction 3
Procédure Instruction 4
Fin de la procédure
La dernière ligne de la
procédure appellée est
une instruction de
branchement « lire le
compteur de prg
stocké en mémoire
centrale »
- Les entrée / Sorties : Envoie les informations à sortir aux périphériques de sortie et reçoit
celles émises par les périphériques d’entrée.
15
C) Historique des S.E. (cf. A.Tanenbaum):
Au 19e siècle :
les premiers ordinateurs étaient entièrement mécaniques ils ne possèdent pas encore de
système d’exploitation (à part Ada Lovelace, nièce de Lord Byron, travaillant pour Babbage).
1945-1955 :
La première génération d’ordinateurs utilise des tubes à vide (lampes) remplacés plus tard par
des relais mécaniques. Cependant, le S.E. n’est pas encore né.
-
Utilisation du langage machine absolu
-
Il n’existe pas de langage d’assemblage
-
Les programmes codés le sont pour résoudre des problèmes de sinus et de logarithmes.
A l’apparition des cartes perforées, la situation ne change pas : toujours aucun S.E.
1955-1965 :
La deuxième génération d’ordinateurs a marqué l’histoire pas l’avènement des transistors. Les
calculs gagnent en fiabilité.
Les systèmes fonctionnent par « jobs ». Les programmes sont manuscrits en assembleur ou
Fortran et transcrits en langage machine sur des cartes perforées.
1) Les cartes contenant le lot de jobs sont lues et encodées sur bande par un gros
ordinateur spécialisé dans ce type de tâche.
2) Des ordinateurs spécialisés dans le calcul sont chargés de lire et exécuter les jobs
contenus sur la bande par lots entiers. Cette action s’effectue grâce à un S.E.
embryonnaire. Les résultats sont transcrits sur une autre bande (la bande-résultat)
3) La bande-résultat était montée sur une imprimante qui avait pour seule activité
l’impression off line des résultats.
Le langage utilisé pour l’écriture de ces jobs sont la base sur laquelle furent écrits les langages
modernes de gestion de jobs et d’interprétation de commandes.
-
Ce système servait surtout aux calculs scientifiques et aux ingénieurs
-
C’est l’avènement des S.E. (FMS Fortran Major System et IBSYS)
16
1965-1980 :
La troisième génération présente :
-
Des circuits intégrés et non plus des transistors
-
La compatibilité des machines entre elles apparaît (chez IBM, elles utilisent le même
jeu d’instructions)
-
Le S.E. d’exploitation OS/360 d’IBM est lancé mais il doit prendre en compte la
variété des travaux demandés (lecture rapide des données codées ET calcul rapide).
C’est donc un système complexe et lourd à gérer.
-
La M.A.J. d’OS/360 aboutit au concept de multiprogrammation qui permet
d’optimiser le temps d’utilisation de la C.P.U. Pendant l’attente de réponse d’une E/S,
le processeur se voit confier un autre job au lieu de cycler à vide (système de partition
mémoire).
-
Suppression, donc, des opérateurs humains pour la gestion des bandes…
-
Ces systèmes batchs sont adaptés aux calculs intensifs/ de grande masse mais ne
possèdent pas une grande rapidité d’exécution. Donc TEMPS PARTAGE est mis en
place (illusion du multi-tâches) et chaque utilisateur possède un terminal.
-
Les jobs lourds (édition des payes, de la comptabilité) sont privilégiés par rapport aux
tâches légères (compilation/exécution d’un programme pour test par un programmeur)
-
MULTICS (Multiplex Information and Computing System)
-
Avènement des micro-ordinateurs en 1961 DEC PDP – 7.
-
MULTICS et les DEC PDP – 7 donnent naissance à un S.E. basé sur le principe
d’UNIX.
Remarque : Beaucoup de S.E. basés sur UNIX et incompatibles entre eux voient le jour à
cette période. Ceci conduit à une grande hétérogénéité des S.E. produits.
Conséquence : L’I.E.E.E. (Institute of Electric and Electronic Egeneering) propose un
standard : POSIX sur lequel devraient se baser les concepteurs de S.E. Ce standard définit les
appels system minimum à prendre en compte lors de l’élaboration d’un S.E.)
-
Andrew TANENBAUM conçoit MINIX (Micro UNIX) dans un but éducatif.
-
Linus TORVALDS conçoit Linux d’après MINIX pour qu’il soit utilisé en production,
comme l’est Windows.
17
1980-Aujourd’hui :
La quatrième génération, celle des ordinateurs personnels (ou micro ordinateurs), débute dabs
les années 80.
-
Bill GATES collabore avec IBM pour leur PC.
o Il achète DOS pour 50000 $.
o Il crée Microsoft améliore DOS avec l’aide de Patterson, un des pères de DOS.
MS DOS voit le jour.
o Il a l’idée de vendre MS DOS avec chaque machine.
-
L’IHM apparaît :
C’est L’Interface Homme-Machine.
L’histoire de l’IHM :
-
60’s : 1ère IHM (fenêtre, icône, menu, souris) par Doug HENGELBART
-
Xerox utilise
-
Un des inventeurs d’APPLE reprend l’idée de l’IHM=>LISA (échec, trop cher)
-
LISA=>M.A.J.=>Le Machintosh d’Apple (Succès)
-
MAC influence MS=>Windows qui, au départ, n’est pas un S.E mais un interpréteur
de commandes pour MSDOS (de 1985 à 1995)
-
1995 Win95 est un S.E. (MSDOS est encore utile pour le démarrage et es anciennes
commandes système)
-
1998 : Win98 (équivalent de Win95)
Remarque : Il existe encore du code en Assembleur Intel 16 bits sur des machines en 32
bits
-
Win NT est développé en parallèle avec Win95 pour essayer de remplacer MSDOS
(NT est un vrai S.E. 32 bits
-
=>la version WinNT 4.0 fait un succès en entreprise
-
=>la version Win NT 5 (2000) est presque entrée dans les foyers de particuliers (en
parallèle avec Me qui n’est qu’un autre Win 98) puis XP
-
En parallèle, UNIX (spécialisé station de travail et serveur réseau) se spécialise sur
machines à processeur RISC (processeurs à jeu d’instruction limité, une instruction
par cycle du CPU, plus de registres, …).
-
Xwindows est l’IHM (rudimentaire) d’UNIX, complété par Motif. Son apparence est à
peu près MacOS et Windows.
18
III. Typologie des S.E.
A) Classification selon les machines
1) Les S.E. pour mainframes
Un exemple est l’OS/390 (descendant de l’OS/360) qui assure trois types de services :
-
le traitement batch (traitement statistiques lourds, comptabilité, …etc.)
-
le traitement transactionnel (réservation de places de concerts, …etc)
-
Le traitement en temps partagé (plusieurs personnes travaillent sur le même processeur
en même temps)
Ce type de S.E. fonctionne très bien en temps que serveurs Web
Exemples : IBM: MVS (Multiple Virtual Storage ) d’IBM le plus répandu, VM, DOS/VSE,
TPF (Transaction Processing Facility),: GCOS (General (Electric) Comprehensive Operating
Supervisor) de Bull.
2) Les S.E. serveurs
-
Fonctionnent sur :
o de gros micro-ordinateurs,
o des stations de travail
o des mainframes.
-
Permettent de :
o Servir plusieurs utilisateurs en même temps
o Partager les ressources matérielles et logiciels entre les utilisateurs
-

Service d’impression

Service de fichiers

Service Web
- Exemple : UNIX, Windows 2000 et 2003 Serveur, Linux.
3) Les S.E. personnels
-
Interface conviviale
-
Prévus pour faire fonctionner les logiciels bureautiques et les fonctions orientées
Internet.
-
Exemple : Windows 98 et assimilés, Windows 2000, XP, Mac OS, Linux
19
4) Les S.E. temps réel
-
S.E. temps réel « dur » : permettent de répondre à des contrainte de délais d’exécution
à 0 souplesse, synchronisation d’actions parfaite.
-
S.E. temps réel « mou » : gère des tâches à tolérance un peu supérieure au temps réel
« dur »
Exemple audionumérique et multimédia avec les OS VxWork (employé par la NASA
pour les missions spatiales Pathfinder, Stardust, ainsi que pour les deux rovers martiens
Spirit et Opportunity) et QNX.
5) Les S.E. embarqués
-
Equipent les assistants numériques personnels (P.D.A.)
-
Exemple PalmOS, EPOC, WindowsSE
6) Les S.E. pour Smart Cards (cartes intelligentes)
-
Ne savent généralement accomplir qu’une seule action (en évolution)
-
Parfois gèrent la multiprogrammation (<> BATCH), possèdent parfois une zone de
stockage (~ un disque dur) et des entrées/sorties ainsi qu’un système de sécurité
B) Selon les services rendus
1) mono/multi tâches :
Multi-tâches : capacité du système à exécuter plusieurs processus simultanément.
Exemple : effectuer une compilation et consulter le fichier source du programme
correspondant.
Exemples : UNIX, OS/2 d’IBM et Windows.
2) mono/multi-utilisateurs :
Multi-utilisateurs : capacité à gérer un panel d’utilisateurs accédant simultanément aux
mêmes ressources matérielles.
Exemples : UNIX, MVS, Gcos ...
20
C) Selon leur architecture
1) Systèmes centralisés :
 L’ensemble du système est entièrement présent sur la machine considérée.
 Les machines éventuellement reliées sont vues comme des entités étrangères disposant
elles aussi d’un système centralisé.
 Le système ne gère que les ressources de la machine sur laquelle il est présent.
Exemples : UNIX, même si les applications réseaux (FTP, Mail ...) se sont développées.
2) Systèmes répartis (distributed systems) :
 Les différentes abstractions du système sont réparties sur un ensemble (domaine) de
machines (site).
 Le système d’exploitation réparti apparaît aux yeux de ses utilisateurs comme une
machine virtuelle monoprocesseur même lorsque cela n’est pas le cas.
 Avec un système réparti, l’utilisateur n’a pas à se soucier de la localisation des
ressources. Quand il lance un programme, il n’a pas à connaître le nom de la machine qui
l’exécutera.
 Ils exploitent au mieux les capacités de parallélisme d’un domaine.
 Ils offrent des solutions aux problèmes de la résistance aux pannes.
D) Selon leur capacité à évoluer
1) Systèmes fermés (ou propriétaires) :
 Extensibilité réduite : Quand on veut rajouter des fonctionnalités à un système fermé, il
faut remettre en cause sa conception et refaire une archive (système complet).
Exemples : UNIX, MS-DOS ...
 Il n’y a aucun ou peu d’échange possible avec d’autres systèmes de type différent, voir
même avec des types identiques.
C’est le cas entre UNIX, BSD …
2) Systèmes ouverts :
 Extensibilité accrue : Il est possible de rajouter des fonctionnalités et des abstractions
sans avoir à repenser le système et même sans avoir à l’arrêter sur une machine.
 Cela implique souvent une conception modulaire basée sur le modèle « client-serveur ».
 Cela implique aussi une communication entre systèmes, nécessitant des modules
spécialisés.
21
E) Selon l’architecture matérielle qui les supporte
1) Architecture monoprocesseur (temps partagé ou
multiprogrammation) :
Ressource processeur unique : Il a fallu développer un mécanisme de gestion des processus
pour offrir un (pseudo) parallélisme à l’utilisateur : c’est la multiprogrammation ; il s’agit
en fait d’une commutation rapide entre les différents processus pour donner l’illusion d’un
parallélisme.
Exemple : Windows
2) Architecture multiprocesseur (parallélisme) :
On trouve une grande variété d’architecture multiprocesseur :
SIMD (Single Instruction Multiple Data) : Tous les processeurs exécutent les mêmes
instructions mais sur des données différentes.
MIMD (Multiple Instructions Multiple Data) :
Chaque processeur et complètement indépendant des autres et exécute des instructions
différentes sur des données différentes.
Pipeline : Les différentes unités d’exécution sont mises en chaîne et font chacune partie du
traitement à effectuer.
Exemple : Des systèmes dérivés de Linux
3) Architecture faiblement ou fortement couplée.
Architecture fortement couplée : Ce sont principalement des architectures à mémoire
commune.
Architecture faiblement couplée : Ce sont des architectures où chaque processeur possède
sa propre mémoire locale ; c’est le cas d’un réseau de stations.
Architecture mixte : Ce sont des architectures à différents niveaux de mémoire (commune et
privée).
Remarque : Il n’y a pas de système universel pour cette multitude d’architectures. Les
constructeurs de supercalculateurs ont toujours développés leurs propres systèmes.
Aujourd’hui, compte tenu de la complexité croissante des systèmes d’exploitation et du coût
inhérent, la tendance est à l’harmonisation notamment via le développement de systèmes
polyvalents tels que les systèmes répartis.
22
IV. Les étapes du démarrage d’un S.E.
Mémoire en jeu
Niveau
logiciel
Routines
BIOS (Basic Input
Ouput System : Prg
dédié aux E/S)
ROM ou RAM Flash
0
BIOS
RAM Flash et CMOS
0
0
BIOS
1
Enregistrement
d’Amorçage
(Boot Record) du
périphérique
d’amorçage
RAM Flash
et Secteur d’Amorçage
(Boot Sector) du
périphérique
d’amorçage.
Secteur d’Amorçage de
la Partition Active
RAM Flash
Partition Active du
périphérique
d’amorçage choisi
2
Enregistrement
d’Amorçage de la
Partition Active
BIOS
0
3
S.E.
Actions réalisées
Vérifie la RAM (Random
Access Memory), le clavier.
Vérifie les périphériques en
passant par les bus ISA et
PCI.
=> une table est crée
contenant les périphériques,
leurs adresses et leurs
interruptions.
Recherche et détermination
du périphérique d’amorçage
dans la liste stockée en
mémoire CMOS.
Recherche su secteur
d’amorce du périphérique
Exécution de l’enregistrement
d’amorce du périphérique
Lecture de la table de
partition située à la fin du
secteur d’amorce)
Recherche d’un programme
d’amorcage sur la partition
dite « Active ».
Ce programme copie en
mémoire le 1er secteur de la
partition active.
Lit le S.E. (le charge en
mémoire) à partir du 1er
secteur de la partition active
récupéré précédemment.
Consulte le BIOS pour
vérifier si chaque
périphérique à son pilote
(sinon, demande à
l’utilisateur).
Le S.E. prépare le différents
processus permettant le
fonctionnement de
l’ordinateur (exemple :
interpréteur de commandes).
23
V. Conclusion
Un système d’exploitation permet de:
Gérer les ressources matérielles
Offrir aux applications utilisateur un accès simplifié aux fonctions
de haut niveau (C’est une machine étendue).
S’il est doté d’une IHM, il offre une convivialité dans l’utilisation
de la machine.
24
LEXIQUE
A) Micro-noyau
Il est généralement difficile de modulariser un micro-noyau. Le noyau du système lui-même
s'occupe des canaux de communication (échange de messages) entre les modules du mode
utilisateur pour les tâches fonctionnelles. Dans la plupart des cas, le noyau est programmé
dans des langages de haut niveau tels que le C ou le C++. Un autre atout des micro-noyaux est
leur portabilité sur d'autres plate-formes, comme par exemple sur les assistants personnels. En
particulier, son extensibilité en fait la meilleure solution pour les systèmes massivement
parallèles. C'est par exemple typiquement le cas pour BeOS et Minix.
Le noyau proprement dit contient seulement les fonctionnalités les plus importantes telles que
la gestion des processus (tâches & threads), l'ordonnanceur, la gestion de la mémoire virtuelle
et les mécanismes de communication inter-processus (IPC).
Avantages: flexible, petit, organisé avec recul, évolutivité facilité
Désavantages: léger temps de latence des appels système dû aux couches, programmation des
canaux extensible
La Carnegie Mellon University développa entre 1985 et 1994 un micro-noyau qui est toujours
utilisé dans beaucoup de systèmes d'exploitation. Le projet Mach en est la référence. NeXT
OS, OSF/1, OS/2 et beaucoup d'autres encore s'en inspirèrent. Les plupart des
implémentations s'inspirent de la conception typique du noyau Mach. Le noyau de
NEXTSTEP bénéficie de quelques extensions. IBM utilise déjà la version 3.0 du micro-noyau
de Mach pour son Workplace OS. Une autre abstraction est le noyau Windows NT, appelé
Executive, qui mélange une architecture micro-noyau et un modèle en couches.
B) Noyau monolithique
Le noyau monolithique est constitué par un unique fichier exécutable, dans lequel sont réunis
tous les composants liés au système. Les pilotes et la gestion des processus, de la mémoire et
des systèmes de fichiers se retrouvent dans un gros noyau. Dans quelques cas, les modules
sont chargeables dynamiquement, par ex. le réseau ou le pilote SCSI. Des systèmes comme
MS-DOS, Multics, Unix et Linux sont typiquement à noyau monolithique.



pas de protection des pages mémoire
mode privilégié du processeur pour le noyau
des parties individuelles peuvent être chargés, par ex. les pilotes sous forme de
modules
C) BIOS
Basic Input Output System. Le matériel de tout ordinateur doit pouvoir coopérer avec les
logiciels par une interface (moyen de communication). Le BIOS est un petit système de
lancement permettant à votre ordinateur de lancer les autres logiciels à partir d'un lecteur de
disquettes ou d'un disque rigide. Le BIOS est responsable du démarrage de l'ordinateur en
fournissant un jeu d'instructions de base. Il effectue toutes les tâches nécessaires lors du
démarrage: l'auto-test de démarrage et le lancement d'un système d'exploitation à partir d'une
25
disquette ou du disque rigide. De plus, il fournit une interface avec le matériel de l'ordinateur
au système d'exploitation sous la forme d'une librairie d'interruptions. Par exemple, chaque
fois qu'une touche du clavier est enfoncée, le processeur utilise une interruption du BIOS pour
lire la touche. C'est le même principe pour les autres composantes d'entrées/sorties (ports
séries et parallèles, cartes vidéo, cartes de son, contrôleurs de disque, etc.). Certains vieux PC
ne sont pas capables de communiquer avec les nouvelles composantes matérielles parce que
leur BIOS ne les supporte pas; le système d'exploitation ne peut alors utiliser une interruption
du BIOS pour communiquer avec ce matériel; ce problème peut être résolu en remplaçant le
BIOS par un plus récent, qui supporte le nouveau matériel ou en installant un pilote (driver)
pour ce matériel.
D) CMOS
Complementary Metal Oxide Semiconductor. Pour effectuer ses tâches, le BIOS a besoin de
connaître plusieurs paramètres, soit la configuration du matériel de votre ordinateur. Ces
informations sont conservées dans un petit espace mémoire (64 octets), appelé mémoire
CMOS, ou simplement CMOS. L'alimentation du CMOS est assurée par une petite pile, ainsi
son contenu est préservé même si on coupe l'alimentation du PC. Donc, on retrouve une pile
et une petite quantité de mémoire sur la carte mère, qui ne perd jamais (ou presque...) ses
informations. Cette mémoire faisait partie autrefois de l'horloge du processeur, maintenant
elle fait partie d'un circuit intégré. CMOS est le nom d'une technologie qui a la caractéristique
de consommer très peu d'énergie, ainsi la pile de l'ordinateur peut durer très longtemps.
De nos jours il n'y a plus de piles sur les cartes mères des ordinateurs, mais un accumulateur
(NiCad dans la plupart des cas). L'accumulateur est rechargé chaque fois que l'ordinateur est
en marche. Si votre CMOS est alimenté par une pile, assurez-vous qu'elle est en bonne
condition et qu'elle ne coule pas, car cela pourrait endommager la carte mère. Si la pile est
défectueuse, votre CMOS perdra ses informations et donc la configuration du matériel et cela
pourrait affecter le fonctionnement de votre ordinateur. Dans les vieux PC et PC/XT
monolithiques, l'information sur la configuration du matériel est fournie par de microinterrupteurs (DIP switch) sur la carte mère ou les cartes de périphériques. Certaines cartes
mères possèdent une technologie appelée Dallas Nov-Ram, cela élimine le besoin d'avoir une
pile : une cellule de lithium ayant une espérance de vie de 10 ans est collée dans la puce.
E) L’IEEE
C’est l’Institut d’Ingénierie Electrique et Electronique (Institute of Electric and Electronical
Engeenering) qui travail sur des standards de connectiques et de mémoires (entre autres).
26
F) Serveur (informatique)
Un serveur est un ordinateur ou un programme informatique qui partage des ressources -comme ses périphériques et ses disques durs -- avec d'autres ordinateurs clients sur un réseau
informatique. Il est possible pour un ordinateur d'être client et serveur en même temps.
Le serveur communique avec les clients à l'aide de protocoles de communication, comme par
exemple TCP/IP, qui est le protocole le plus utilisé sur l'Internet.
Les termes client et serveur viennent du temps où les utilisateurs accédaient aux serveurs par
des terminaux généralement alphanumériques et par la suite avec quelques capacités
graphiques. Cette époque a laissé aux gens la notion de serveurs puissants supportant des
clients faibles et ne pouvant presque rien faire. Aujourd'hui, alors qu'il existe des ordinateurs
portables beaucoup plus puissants que les grands mainframes des années 1970, et qui peuvent
être utilisés en tant que clients pour naviguer sur le Web, ceci peut prêter à confusion.
Mais il est aussi possible de rapprocher le sens informatique des termes client et serveur du
sens des mêmes mots en français : par exemple, dans un restaurant, un serveur vous sert les
plats que vous, le client, avez demandés - en informatique, un serveur répond aux requêtes
effectuées par les clients.
G) Station de travail
Une station de travail désigne généralement un ordinateur puissant à la disposition d'un
utilisateur et relié à un réseau.
Le terme a principalement connu le succés au milieu des années 80 avec l'arrivée
d'ordinateurs qui représentaient à peu près le maximum de capacité informatique que l'on
pouvait mettre à la disposition d'un utilisateur unique.
Ces ordinateurs étaient sensiblement plus puissants que les PC disponibles à ce moment-là,
comportaient un écran beaucoup plus confortable (souvent de 17 ou 19 pouces et de haute
résolution, le plus souvent en noir et blanc; parfois en couleur si le service en avait les
moyens), ainsi qu'une connexion réseau considérée comme « performante » à l'époque (10
mb/s!!!).
Certaines sociétés se sont véritablement constituées en répondant aux besoins de ce marché
particulier. Par exemple :

Apollo (racheté depuis par HP)

Sun Microsystems

Silicon Graphics devenue aujourd'hui SGI après le rachat de Cray
IBM fit une entrée remarquée sur le marché, bien que tardive, avec ses puissantes stations
RS/6000 (15 janvier 1990).
Avec l'augmentation régulière de la puissance de calcul, des cartes graphiques et des capacités
des PC de haut de gamme, la distinction s'est progressivement estompée. Une station de
travail n'est plus aujourd'hui (2004) qu'une machine UNIX qui tourne sur une plateforme
d'architecture autre qu'Intel-AMD, en général munie d'un écran de grande taille 21", 23" ou
davantage - Sony fabrique des écrans de 28") et de haute résolution (2048x1536 étant le bas
de gamme).
Les utilisateurs naturels des stations de travail étaient et restent des power users (« utilisateurs
de puissance », pourrait-on traduire) qui ont des besoins extrêmes comme les applications de
Conception Assistée par Ordinateur en 3D (avec moteurs de rendu genre OpenGL), ou plus
récemment les applications de conception graphique et vidéo.
27
Téléchargement