Les concepts - Université de Reims Champagne

publicité
Université de Reims Champagne-Ardenne
Introduction aux systèmes d'exploitation
F. Nolot
DESS – IAS : 2004­2005
1
Université de Reims Champagne-Ardenne
Introduction aux systèmes d'exploitation
Définition
F. Nolot
DESS – IAS : 2004­2005
2
Université de Reims Champagne-Ardenne
Qu'est qu'un système d'exploitation ?
Gérer tous les périphériques
Fournir une interface simplifiée avec le matériel
Système
Réservation
bancaire
Compilateur
Éditeurs
Navigateur
web
Interpréteur
commandes
Système d'exploitation
Application
Programme
système
Langage machine
Micro-architectures
Matériel
Périphériques systèmes
F. Nolot
DESS – IAS : 2004­2005
3
Université de Reims Champagne-Ardenne
Fonctionnement et rôle
Le S.E. est la portion du logiciel qui fonctionne en mode noyau : dit aussi
super-viseur)
Protégé de toute modification par l'utilisateur au moyen de dispositifs
matériels
Son rôle
Extension de la machine
Gestion des ressources
Exemple : lire et écrire sur une disquette
Piloter par un contrôleur qui comprends les commandes par
l'intermédiaire d'instruction en langage machine
Pour lire ou écrire : jusque 13 paramètres doivent être fourni
selon les contrôleurs, retour de jusque 23 champs de statut
Lire, écrire, déplacement du bras, formatage, init, détection
Pour l'utilisateur : une disquette = ensemble de fichiers
F. Nolot
DESS – IAS : 2004­2005
4
Université de Reims Champagne-Ardenne
Gestion des ressources
Exemple : 3 programmes qui impriment en même temps sur une seule
imprimante
Mauvaise gestion provoquerait un mélange des impressions
Le système d'exploitation permet d'éviter ce résultat chaotique
Stockage des documents et envoie au fur et à mesure
Exemple : plusieurs utilisateurs sur un même ordinateur simultanément
Il faut gérer et protéger les accès en mémoire
Le S.E. Doit
Savoir qui utilise une ressource
Autoriser ou refuser l'accès à une telle ressource
Mesurer l'utilisation par chaque application de chaque ressource
Résoudre les conflits d'accès entre les différents programmes et
utilisateurs
F. Nolot
DESS – IAS : 2004­2005
5
Université de Reims Champagne-Ardenne
Le multiplexage
Le S.E. doit gérer les ressources sur 2 dimensions
Le temps
L'espace
Dans le temps :
1 CPU et plusieurs programmes concurrents
Chacun son tour
Pendant combien de temps et dans quel ordre ?
Le S.E. Décide
Dans l'espace :
Libération d'une partie des ressources
Gestion de la mémoire alloué
F. Nolot
DESS – IAS : 2004­2005
6
Université de Reims Champagne-Ardenne
Introduction aux systèmes d'exploitation
Historique
F. Nolot
DESS – IAS : 2004­2005
7
Université de Reims Champagne-Ardenne
Historique (1)
Premier ordinateur numérique conçu par Charles Babbage (1792-1871)
Jamais fonctionné correctement car technologie mécanique de
l'époque insuffisante
Mais intuition d'un besoin de logiciel
Engagé une jeune femme Ada Lovelace, 1er programmeur au monde
1945-1955 : tubes à vide et tableaux d'interrupteurs
Howard Aiken, John Von Neumann, J. Presper Eckert, William
Mauchey et Konrad Zuse ont créé les 1er moteurs à calcul
Utilisation d'un langage machine absolu
Aucun langage connu (y compris l'assembleur), utilisation de tableau
d'interrupteurs
Années 50 : apparition des cartes perforées
F. Nolot
DESS – IAS : 2004­2005
8
Université de Reims Champagne-Ardenne
Historique (2)
1955-1965 : transistors et systèmes par lots
Appelées maintenant mainframes (ordinateurs centraux)
Fonctionnement :
Soumission d'un job en 4 étapes
Fortran ou assembleur puis carte perforée
Apport les cartes pour soumission
Opérateur introduit les cartes et récupère le résultat
Si fortran nécessaire, obligation de charger avant le compilateur
Problème : beaucoup de temps de perdu à attendre
Systèmes par lots : le système de batch
Une machine peu onéreuse fait la lecture des cartes et le stockage sur
bande magnétique
Bande magnétique (avec tous les jobs) sur calculateur qui enregistre les
résultats sur bande
Impression des résultats off-line
F. Nolot
DESS – IAS : 2004­2005
9
Université de Reims Champagne-Ardenne
Historique (3)
1965-1980 : 2 types d'architectures incompatibles
Ordinateurs dont l'unité de données était le mot
Ordinateurs dont l'unité de données était le caractère
IBM produit une série de machine compatible au niveau logicielle
Apparition d'une technique fondamentale : la multiprogrammation
Classiquement un job actif s'arrête pour attendre une entrée-sortie
(E/S ou I/O)
Solution :
partitionne la mémoire pour chaque job
Quand un job attend une E/S, un autre utilise le CPU
Approche d'une occupation CPU de 100%
La multiprogrammation : être capable de faire fonctionner un
autre programme quand le premier est en attente (I/O par exemple)
F. Nolot
DESS – IAS : 2004­2005
10
Université de Reims Champagne-Ardenne
Historique (4)
2ième innovation : la notion de spool ( Simultaneous Peripherical
Operation On Line)
Stockage sur bande au fur et à mesure de l'entrée des cartes
Problème : quand plusieurs utilisateurs se servent d'une même machine,
le CPU est monopolisé par un seul utilisateur, les autres doivent
attendre !
Nécessité du temps partagé : être capable de partager le temps
processeur entre plusieurs utilisateurs
Concept décrit par Bob Bemer en 1957 dans un article de la revue
Automatic Control Magazine.
Le projet MAC (Multi Access Computer), dirigé par John McCarthy au
MIT fut une des premières (voire la première) implémentation
F. Nolot
DESS – IAS : 2004­2005
11
Université de Reims Champagne-Ardenne
Le multitâche
Permet d'exécuter plusieurs programmes, apparemment simultanément, sur un
même ordinateur
Obtenu par alternance rapide de l'exécution de différents processus
Le multitâche coopératif :
Forme simple de multitâche
Chaque processus doit explicitement permettre à une autre tâche de
s'exécuter
Utilisé jusque Windows 3.11 et Mac OS 9
Problème : si un processus de rend plus la main à un autre processus, le
système est complètement planté !
Le multitâche préemptif
Le processus signale au système que le processus en cours peut être mis en
pause
Le système sauvegarde les états du processus et donne la main à un autre
F. Nolot
DESS – IAS : 2004­2005
12
Université de Reims Champagne-Ardenne
Les systèmes
En 1974 : Intel sort le 8080, 1er processeur 8bits avec comme système
CP/M (Control Program for Microcomputers)
En 1980, IBM sort l'IBM PC
Recherche d'un système d'exploitation pour leur machine
Choix du Basic de Bill Gates mais il leur recommande d'aller voir
Digital Research (qui possède les droits de CP/M). Ces derniers
refusent !
Seattle Computer Products possède un système : le DOS (Disk
Operationg System)
Achat du DOS, modification par son créateur Tim Paterson, qui donne
naissance au MS-DOS en 1981
En 1983, IBM PC/AT avec le processeur 80286. Le mode texte change
grâce aux recherches de Dong Engelbart sur les IHM (Interface Homme
Machine) graphique
F. Nolot
DESS – IAS : 2004­2005
13
Université de Reims Champagne-Ardenne
Les systèmes (2)
Repris par Xerox puis par Steve Jobs qui construit Apple avec un IHM
graphique
Une machine sous le nom de Lisa mais trop chère
Ensuite le Macintosh fait succès
Microsoft présente ensuite Windows, surcouche de MS-DOS jusque
Windows 3.11, système 16bits
Jusque Windows 3.11, MS-DOS est indispensable, c'est le S.E !
Windows 95, 98 et ME (Millenium Edition) toujours basés sur MS-DOS
En parallèle, développement de Windows NT (New Technology),
système totalement 32bits, conçu par David Cutler
Il faut attend Windows NT 4 pour le succès des versions NT
Ensuite en 2000, Windows 2000 : objectif réunir Windows 98 et NT
F. Nolot
DESS – IAS : 2004­2005
14
Université de Reims Champagne-Ardenne
Les Windows
F. Nolot
DESS – IAS : 2004­2005
15
Université de Reims Champagne-Ardenne
Et Linux ?
Année 1991, un étudiant finlandais, Linus Torvald achète un PC et étudie
la programmation du processeur Intel 80389.
Les limites de MS-DOS le plonge dans le système Minix, clone d'Unix
Les limites de Minix le pousse à reprogrammer certaine partie
Il diffuse son travail en Août 1991, le système Linux est né. Mais
utilisable qu'avec Minix
F. Nolot
DESS – IAS : 2004­2005
16
Université de Reims Champagne-Ardenne
Introduction aux systèmes d'exploitation
Les types de systèmes
F. Nolot
DESS – IAS : 2004­2005
17
Université de Reims Champagne-Ardenne
Les types de S.E.
Systèmes pour mainframes
Destinés à la gestion de grande quantité d'E/S
Accent mis sur la capacité, gestion optimale de plusieurs jobs en
même temps avec beaucoup d'E/S
3 types de service
Batch : exécution sans interaction avec l'utilisateur
Transactionnel : gestion permanente d'un très grand nombre de
petites requêtes concurrentes
Temps partagé : plusieurs utilisateurs exécutent des
programmes en même temps sur une même machine
Systèmes pour les serveurs
Doivent impérativement être stables et pouvoir fonctionner 24h/24h
F. Nolot
DESS – IAS : 2004­2005
18
Université de Reims Champagne-Ardenne
Les types de S.E.
Systèmes pour multi-processeurs
Gestion efficace de plusieurs processeurs en même temps
Systèmes personnels
L'ordinateur de Monsieur tout le monde
Systèmes temps réel
2 types de temps réel
Temps réel dur : une action doit absolument être faite à un
instant (ou dans un certain délai)
Temps réel mou (QNX et VxWorks) : admissible de dépasser
occasionnellement certains délais
Systèmes embarqués : PalmOS, Windows CE (Consumers Electric)
Systèmes SmartCard : les systèmes sur les JavaCard
F. Nolot
DESS – IAS : 2004­2005
19
Téléchargement