Noyau, shell, syscall Flashcards
(52 cards)
Quels sont les deux modes d’exécution d’un CPU ?
Mode utilisateur et mode superviseur
Quel mode d’exécution est utilisé par les applications ?
Mode utilisateur
Quel mode d’exécution est utilisé par le noyau ?
Mode superviseur
Pourquoi existe-t-il un mode utilisateur et un mode superviseur ?
Sécurité et stabilité du système
Quelles sont les limitations du mode utilisateur ?
Accès restreint au matériel et aux instructions privilégiées
Comment un programme utilisateur peut-il exécuter une instruction privilégiée ?
En effectuant un appel système (syscall)
Comment un programme repasse-t-il du mode superviseur au mode utilisateur ?
Via l’instruction de retour d’interruption (RETI)
Pourquoi une application ne peut-elle pas accéder directement à la mémoire du noyau ?
Pour éviter les failles de sécurité et l’instabilité du système
Quel est le mode d’exécution par défaut au démarrage d’un ordinateur ?
Mode superviseur
Quelles instructions permettent de passer en mode superviseur ?
Syscall, INT (x86), SWI (ARM)
Quel est le risque si une application pouvait exécuter des instructions en mode superviseur ?
Risque de corruption du système ou de compromission de la sécurité
Que se passe-t-il si un programme en mode utilisateur tente d’exécuter une instruction privilégiée ?
Une exception est levée par le CPU
Quel mécanisme permet de revenir au mode utilisateur après un syscall ?
Le noyau utilise une instruction de retour d’interruption
Qu’est-ce qu’une trappe (trap) ?
Une interruption logicielle pour appeler le noyau
Pourquoi utilise-t-on des trappes en OS ?
Pour exécuter du code en mode superviseur depuis une application
Quelle est la différence entre une trappe et un appel système ?
Une trappe est une interruption logicielle, un syscall est une trappe volontaire
Donne un exemple de trappe involontaire.
Division par zéro
Donne un exemple de trappe volontaire.
Un appel système (syscall)
Pourquoi une trappe force-t-elle un passage en mode superviseur ?
Pour que le noyau puisse gérer l’événement
Quelle est la relation entre syscall et trappe ?
Un syscall est un type de trappe utilisé volontairement
Quelle est la principale différence entre un syscall et une exception ?
Un syscall est volontaire, une exception est une erreur
Quel est le rôle d’une trappe dans la gestion des erreurs ?
Permet au noyau de traiter une exception et éviter un crash
Quelle instruction est utilisée pour revenir d’une trappe ?
RETI
Quels sont les principaux composants d’un ordinateur ?
CPU, RAM, bus, périphériques