Académique Documents
Professionnel Documents
Culture Documents
Machine virtuelle
• cacher la complexité sous une interface«plus jolie»
• fournir certains services de base aux applications
• IHM, stockage persistant, accès internet, gestion du temps
• permettre la portabilité des programmes
• pouvoir lancer un même exécutable sur différents matériels
Gestionnaire de ressources
• Partager chaque ressource entre les applications
• exploiter «au mieux» les ressources disponibles
• assurer la protection des applications (et du système)
Pr. Ayache | Chapitre 1: généralités 7
Pourquoi apprenons-nous le système
d'exploitation ?
Administrateurs Développeurs
Réseaux Développeurs
• Compilation
• Network Monitoring • System Call
• Intrusion Detection Systems • Management du
• Distributed/ Parallel Computing Stockage
• Virtualization • Processus
• Containerization Administrateurs Spécialiste en
Réseaux OS Cyber sécurité
Individuels
• Input/output Security Specialists
• File Management • Forensics: dead, live
• Access Control Individuels • Access Control Lists
• Ease of Usage • Deadlocks
• Transparency • Antiviruses/Malwares
• Memory Dumping
Pr. Ayache | Chapitre 1: généralités 8
Buts d’un SE
ACTIVITIES PERCENTAGES
Quizzes 15%
TP/ TD 25%
Chapitre 1: Généralités
Application 1 Application 2
Kernel
Hardware
et c’est vraiment cette formule qui est donnée dans les livres :
System bus
I/O bus
USB disk network
controller controller adapter
U S B bus
network
disk
mouse keyboard
MIMO
DMA
IRQ
• Périphériques d’entrées-sorties
• clavier, souris, disque, GPU, réseau, etc
• Pannes matérielles
• température excessive, coupure de courant, etc
• Minuteur système, ou en VOSystem Timer
• interruptions périodiques, typiquement 100Hz ou 1000Hz
• permet à l’OS depercevoir le passage du temps
• bonus : permet au noyau dereprendre la mainsur les
• Évènements logiciels exceptionnels
• erreursfatales : division par zéro, instruction invalide, etc
• trappesvolontaires : appels système (cf diapos suivantes)
• fautes de pages : constatées par la MMU.
Exemples :
• read(), write(), fork(), gettimeofday()...
• plusieurs centaines en tout sous Linux
Pr. Ayache | Chapitre 1: généralités 48
Appel système : déroulement
Application
syscalls
jeu restreint
d’instructions
Kernel
jeu complet
d’instructions
C P U en C P U en
mode utilisateur mode superviseur
Processus 1 Processus 2
VM 1 VM 2
Kernel
Architecture
Hardware
Remarques :
• le noyau donne un numéro unique à chaque processus
• attribué à la création du processus. ne change jamais ensuite.
• le type pid_test (en général) synonyme de int
Remarques :
• l’exécution ne «revient jamais» d’un appel à exit()
• exit(n) équivalent à un return n depuis le main()
• le «exit status» n est transmis au processus parent
• convention : 0=OK, 1–255=erreur
Remarques :
• sous unix : créer un processus ƒ= changer de programme
• fork()duplique le processus qui a invoqué le syscall
• processus d’origine =«parent», nouveau =«enfant»
• duplicationde la machine virtuelle userland
• CPU virtuel : les deux processus s’exécutenten concurrence
• mémoire virtuelle : chacun s’exécute dans unespace privé