Systmes dExploitation - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Systmes dExploitation

Description:

3 sujets de 4,5 heures. 1 valuation. Objectif du cours. Objectifs. Acqu rir des notions : ... Fiabiliser/s curiser/administrer l'ex cution des traitements. ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 25
Provided by: gillesg1
Category:

less

Transcript and Presenter's Notes

Title: Systmes dExploitation


1
Systèmes dExploitation Machines Virtuelles
  • Architectures et Conception des logicielles de
    base pour les systèmes informatiques
  • Par Gilles Grimaud
  • Université des Sciences et Technologies de Lille
  • http//www.lifl.fr/grimaud/Cours

2
Format de lenseignement
  • 13 x 1h30 de cours
  • Et 12 x
  • 1h30 TD dont 1 CC et
  • 1h30 TP
  • 3 sujets de 4,5 heures
  • 1 évaluation

3
Objectif du cours
  • Objectifs
  • Acquérir des notions
  • darchitecture des systèmes dexploitation
  • dexploitation des matériels informatiques
  • de sécurité fournies par les systèmes
  • du rôle/activité des couches logicielles de base.
  • Maîtriser les principes fondateurs des systèmes
    dexploitation en vue de
  • Savoir utiliser les outils logiciels fournis
  • Savoir concevoir des composants système.

4
Rôles et fonctions dun système dexploitation
  • Un Système informatique est un ensemble cohérent
    de matériels et de logiciels destinés à assurer
    le traitement automatique dinformations.
  • Un tel système
  • est relié au monde extérieur à laide de circuit
    daccès (écran, imprimante, clavier, scanner,
    capteurs, liaison réseau, )
  • gère linformation (stockage, désignation,
    recherche, mise en forme, )
  • cadre et opère la transformation de linformation
    adaptés aux rôle du système informatique
    (exécution de programmes variés selon les
    besoins, )
  • ? Les supports fondamentaux de linformatique
    sont les mécanismes de mémoires, les
    mécanismes de traitement, les mécanismes de
    communication.

5
Du circuit électronique au document Web
  • Vers des modèles de plus en plus abstraits
  • Une montre à quartz est un système informatique
  • il stocke la date courante
  • Il transforme cette information au cours du temps
  • Il communique le résultat à lutilisateur du
    système.
  • Un serveur Web est un système informatique
  • Il exploite un système de fichiers, ou une base
    de données
  • pour produire un document spécifique
  • quil retransmet au client qui le lui a demandé.

Quartz
additionneurs
Bascules
Bascules
traitement
mémoire
communication
Cristaux liquides
Bascules
Internet
B.D.
ServletPhp
communication
traitement
mémoire
Fichier
6
Fonctions dun système dexploitation
  • Avec des prétentions variables en fonction des
    différents besoin, les systèmes dexploitation
    assurent fondamentalement trois tâches
  • Gérer le matériel
  • Fournir une abstraction du matériel
  • Fiabiliser/sécuriser/administrer lexécution des
    traitements.

7
Petite Histoire des systèmes dexploitation
Les débuts
1ers Systèmes
Temps partagé
Systèmes graphique
micro noyaux
Exo noyaux
SDS 930
Multics
Unix
Solaris
Linux
ST76
MS-DOS
MS-Windows
McOS- X -
MacOS
TOS
Workbench
Chorus
MAC
X-kernel
VM Ware
1945
1955
1965
2003
1975
1985
1995
8
Quelques paradigmes pour la conception système
  • Liaison
  • Déf. relier une ressource (éventuellement
    matérielle) à un symbole. Permettre la
    manipulation de la ressource au travers de leur
    symbole.
  • Objet permettre la manipulation symbolique des
    ressources, leurs partage entre plusieurs
    applications.
  • Exemple liaison entre nom de fichier est un
    flux.
  • Abstraction
  • Déf. abstraire, cacher, la complexité dune
    ressource (éventuellement matérielle) en
    proposant une interface logicielle simplifiée
  • Objet réduire la complexité apparente du
    système informatique.
  • Exemple bibliothèques de bases.
  • Virtualisation
  • (Virtuel qui pourrait être mais qui nest
    pas.)
  • Déf. Remplacer laccès a un matériel réel
    par laccès à un matériel qui pourrait être mais
    qui nest pas
  • Objet exposer un matériel réel ou imaginaire
    et néanmoins le gérer.
  • Exemple Système de mémoire virtuelle, Machines
    Virtuelle.

9
clefs pour la programmation des systèmes
dexploitation
  • 1. Programmation en couchePrincipe de
    programmation par bibliothèques
  • Appel de routines systèmeUn système
    dexploitation peut être représenté au minimum
    comme un ensemble de bibliothèques logicielles
    qui fournissent des fonctions plus simple à
    manipuler que le matériel.
  • Les systèmes dexploitation peuvent ce résumer à
    un ensemble de procédures fournies une bonne fois
    pour toutes pour simplifier lutilisation du
    matériel.
  • Exemple Un système de fichier.

10
Les systèmes dexploitation une clef pour la
tour de Babel ?
Application PHP
Application
Interprète PHP
Serveur Web
Socket TCP
Logiciel de base
abstraction
Routage IP
administration
Pilote Ethernet
gestion
Carte réseau
Matériel
11
Le système dexploitation Support pour
applications
Application 2
Application 1
Application 3
Support dexécution des applications
Logiciel Pilote 2
Logiciel Pilote 1
Matériel 2
Matériel 1
12
Principes de la programmation des systèmes
dexploitation
  • 2. Intégration de lasynchronisme La plus
    part du temps les programmes attendent un
    événement extérieur saisie dun mot au clavier,
    réception dun message via le réseau, signal de
    fin dimpression de limprimante
  • Entrelacer lexécution des programmesUn système
    dexploitation doit donner la main à un autre
    programme lorsquun programme est en attende.
  • Les systèmes dexploitation peuvent définir un
    ensemble de procédures de tel sorte quune
    application soit endormie la main lorsquelle
    attend quelque choses et quelle soit réveillée
    lorsque les données sont reçues. Des tampons
    démission et de réception permettent de
    temporiser les réveils et les endormissement des
    applications qui utilisent une ressource
    particulière.
  • Exemple Un gestionnaire daccès à un disque dur.

13
Principes de la programmation des systèmes
dexploitation
  • 3. Programmation par cadre de travail On ne
    vous dit plus quelles procédures le système met à
    votre disposition, mais quand et pourquoi le
    système appellera vos procédures pour que votre
    programme fonctionne !
  • Appel en RetourUn système dexploitation peut
    définir la manière.
  • Les systèmes dexploitation peuvent définir un
    ensemble de procédures que le programmeur
    dapplication doit définir et qui sont appelée
    lorsquun événement relatif à une application se
    produit.
  • Exemple Un système de gestion de fenêtre
    graphique.

14
Le système dexploitation Cadre de travail pour
applications
Cadre de travail
Application 1
Application 2
Support dexécution des applications
Pilote 2
Pilote 1
Matériel 2
Matériel 1
15
le microprocesseur
  • Rappel sur le fonctionnement dun ?processeur
    (RISC)
  • Lire une opération
  • Décoder
  • Lire les données entrantes
  • Exécuter lopération
  • Ecrire les données sortantes

16 Registres indifférenciés PC n15 LR n14
(SP n13) Les opérations machines Unité
Arithmétique Logique CCCC 00 I Op(4) S Rn(5)
Rd(5) ImmRmLSL(12)Op AND, EOR, SUB, RSB,
ADD, ADC, SBC, RSC, TST, TEQ, CMP, CMN, ORR, MOV,
BIC, MVNI 0 ? Immediate I 1 ? Register
ShiftS 0 ? dont set CC I 1 ? Set Condition
Code Accès mémoire CCCC 01 IPUBWL Rn(5) Rd(5)
ImmRmLSL(12) I 0 ? Immediate I 1 ?
Register Shift P 0 ? Post P 1 ? pre U
0 ? down U 1 ? up B 0 ? Word B 1 ? Byte
W 0 ? no WriteBack W 1 ? WriteBack L 0 ?
LOAD L 1 ? STORE Flot de contrôle CCCC 1010
Offset(24) ou CCCC 0001 0x2FFF1 RnBL offset,
BX Rn Traitement des signaux matériels
déroutement pour les interruptions et
exceptions.
Clk
données
32
ARM7 TDI
IT
adresses
32
7
16
Gérer le microprocesseur
  • Charger un programme
  • Copier en mémoire centrale lensemble des mots
    mémoires qui constituent les opérations
    (machines) qui compose le programme à charger.
  • Reloger les adresses mémoires du programme sil
    contient des _at_ particulières.
  • Exécuter un programme
  • Brancher ou sauter sur la première
    instruction du programme chargé.
  • Partager le temps dexécution entre programmes
  • Utiliser les signaux interruptions basé sur le
    temps pour donner successivement la main à
    différents programmes

Signaux dhorloge
Prog. n2
Prog. n2
Prog. n1
Prog. n1
?-proc
Interruption
Interruption
Interruption
Ordonnanceur
Ordonnanceur
Ordonnanceur
17
Sabstraire du microprocesseur
  • Exécuter un programme cest faire pointer le
    registre pointeur de programme sur la
    première instruction machine. Au fur et à mesure
    des cycles dhorloges, le programme sexécute.
  • Comment un programme écrit en C, en PhP ou en
    Java fait dans ce contexte pour sexécuter sur un
    microprocesseur ?
  • Trois techniques de base pour sabstraire du
    langage machine
  • les compilateurs
  • Convertir le fichier source en code machine
  • les interpréteurs
  • Exécuter un programme machine qui décode et
    exécute le source
  • les machines virtuelles
  • Définir un nouveau format de machine (virtuelle),
    puis compiler vers ce format puis décoder et
    exécuter ce format.

18
Sabstraire du microprocesseur Lexemple dUnix
et du langage C
Fichier code C example.c
Fichier assembleurexample.s
Contenu binaire géré
int foo(int i) int main( int argc,
char argv) int i i 3 i foo(i)
int foo(int i) return i 1
main STR lr,sp,-4! MOV R0,3 BL foo
MOV R0,0 LDR lr,sp,4 BX lr foo ADD
R0,R0,1 BX lr
E5 2D E0 04 E3 A0 00 03 EB FF FF FC E3
A0 00 00 E4 9B E0 04 E1 2F FF 1E E2 80 00
01 E1 2F FF 1E
compilation
assemblage
19
Les mémoires
  • On peut qualifier les supports de mémoires
    disponibles selon trois critères

Type daccès
Vitesse daccès
adressage
Registres Mem interne
L / E
immédiat
interne
RAM
L / E
Rapide (1 Mot / 7 ns)
bus
ROM
L
1 Mot / 120 ns
bus
CD ROM, DVD
L
512 octets / 73 ?s 1
interface
EEPROM, FlashRAM
L / E 2
1 Mot / 80 ns
bus
M-RAM, Fe-RAM
L / E
Rapide ( 1 Mot / 26 ns)
bus
Disques, Disque Dur
L / E
4096 octets / 520 ?s 1
interface
Opto-magnétique
L / E
Lent
interface
1 latence importante2 écriture avec délais
important 64 Octets / 5ms
20
Gérer les mémoires
  • Gérer les registres
  • Stratégie doptimisation du code généré
    (compileur)
  • Gérer les mémoires derrière le bus
  • Système de cache (matériel)
  • Virtualisation de la mémoire (MMU).
  • Gérer les mémoires derrière une interface
  • Système de cache (logiciel)
  • Mapping de la mémoire externe derrière la mémoire
    virtuelle.

21
Sabstraire des mémoires
  • Il existe un grand nombre de dabstractions
    utilisées pour exploiter la mémoire.
  • Abstraction de ladressage
  • Système de fichier, base de données, mémoire
    objet,
  • Abstraction des méthodes daccès
  • Lecture et écriture avec contrôle daccès,
  • Gestion du polymorphisme, externalisation,
  • Mémoire fiable, mémoires transactionnelles,
  • Abstraction des méthodes dallocations
  • Allocation et déallocation dynamique,
    déallocation implicite (ramasse miette).

22
Sabstraire des mémoires Lexemple des
systèmes de fichiers
  • Un disque dur un ensemble de secteurs de taille
    fixe (e.g. 512 octets)

X 4 octets
Magic Number
X 32 octets
Volume Name
X 32 octets
Fomater ID
Secteur Boot
X 32 octets
Fomat Date
SuperBloc (MBR)
X 4 octets
FAT Size
X 4 octets
FAT
First Dir Block
X 4 octets
CheckSum val

Unused space
Secteur utilisable

1110000110001011100011101010111011100
Un secteur utilisable peut être Un secteur
I-node Un secteur data
V1,2,3,4
Type i-node
V5,6,7,8
size

Direct 1

indirect
indirect 2
23
Sabstraire des mémoires Lexemple des
systèmes de fichiers
  • Un disque dur un ensemble de secteurs de taille
    fixe (e.g. 512 octets)

Files Data
Files Data
Files Data
Files Data
Files Data
Files Data
24
Plan (prévisionnel) du cours
  • Introduction au cours de système
  • Partie I Système et mémoires
  • 2. Gestionnaire de la mémoire persistante
    (système de fichiers).
  • 3. Virtualisation de la mémoire de travail
    (allocateur/ dé allocateur).
  • Abstraction de la mémoire de travail
    (gestionnaire de mémoire objet).
  • Mémoire transactionnelle (un exemple de propriété
    non fonctionnel).
  • Partie II Système et microprocesseur
  • 6. Gestion du microprocesseur (Chargement,
    édition de lien, initialisation, exécution).
  • 7. Abstraction du microprocesseur (Compilateur,
    Interpréteur, Machine Virtuelle).
  • Mécanisme de partage de la ressource ?proc et
    dordonnancement des taches.
  • Problèmes dordonnancement, ordonnancement temps
    réel et exclusion mutuelle.
  • Partie III Architecture et sécurité des
    systèmes dexploitation
  • Isolation par adressage/dynamique (MMU)
    Isolation par typage/Statique (JVM).
  • Architecture des systèmes dexploitation.
  • Partie IV Exploitation des systèmes Unix
Write a Comment
User Comments (0)
About PowerShow.com