<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<question type="category">
  <category>
    <text>$course$/QCM de NSI/Première/Systèmes d'exploitation</text>
  </category>
  <info format="html">
    <text><![CDATA[<p>Rôle d'un système d'exploitation : gestion des<br/>
processus, gestion de la mémoire, gestion des<br/>
fichiers et des périphériques, rôle du noyau,<br/>
principaux systèmes (Linux, Windows, macOS,<br/>
Android, iOS).</p>]]></text>
  </info>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q01 : Définition d'un système d'exploitation</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un <strong>système<br/>
d'exploitation</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le terme anglais correspondant<br/>
est <em>Operating System</em>. Quelques<br/>
exemples courants : Linux,<br/>
Windows, macOS, Android, iOS,<br/>
ChromeOS. Tout appareil<br/>
informatique en est doté.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type particulier de processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un système d'exploitation est<br/>
un logiciel ; le processeur<br/>
est un composant matériel.<br/>
Les deux notions sont<br/>
distinctes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une mémoire électronique de l'ordinateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un système d'exploitation est<br/>
un logiciel, et non un<br/>
composant matériel. La<br/>
mémoire est une notion<br/>
distincte.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un logiciel fondamental qui gère le matériel et fournit des services aux applications (gestion des fichiers, des processus, de la mémoire, des périphériques)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est l'<strong>intermédiaire</strong><br/>
entre le matériel et les<br/>
applications. Sans système<br/>
d'exploitation, chaque<br/>
programme devrait gérer<br/>
lui-même chaque détail du<br/>
matériel.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un logiciel d'application comme un traitement de texte</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un système d'exploitation est<br/>
plus fondamental qu'une<br/>
application. C'est lui qui<br/>
fait fonctionner les<br/>
applications, et non<br/>
l'inverse.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q02 : Exemples de systèmes d'exploitation</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lequel des noms suivants<br/>
désigne un <strong>système<br/>
d'exploitation</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>On distingue plusieurs grandes<br/>
familles de systèmes : les<br/>
systèmes de type Unix (Linux,<br/>
macOS, BSD), Windows, et les<br/>
systèmes mobiles (Android,<br/>
reposant sur Linux ; iOS,<br/>
reposant sur Darwin/Unix).<br/>
Tous partagent les mêmes<br/>
fonctions de base.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Microsoft Word</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Microsoft Word est une<br/>
application de traitement de<br/>
texte, qui fonctionne<br/>
au-dessus d'un système<br/>
d'exploitation, mais qui<br/>
n'en est pas un.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Linux</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Linux est un noyau de<br/>
système d'exploitation<br/>
libre, à la base de<br/>
nombreuses distributions<br/>
comme Ubuntu, Debian, Fedora,<br/>
ou encore Android.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Firefox</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Firefox est un navigateur<br/>
Web, donc une application,<br/>
et non un système<br/>
d'exploitation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Excel</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Excel est un tableur, donc<br/>
une application, et non un<br/>
système d'exploitation.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q03 : Notion de processus</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un <strong>processus</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Il faut bien distinguer la<br/>
notion de <strong>programme</strong> (un<br/>
fichier sur le disque) de<br/>
celle de <strong>processus</strong> (une<br/>
instance en cours d'exécution).<br/>
Sous Linux, on utilise les<br/>
commandes <code>ps</code> ou <code>top</code> pour<br/>
afficher la liste des<br/>
processus ; sous Windows, on<br/>
ouvre le Gestionnaire des<br/>
tâches.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une fonction Python</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une fonction est une partie<br/>
d'un programme, mais un<br/>
processus correspond à<br/>
l'exécution complète d'un<br/>
programme, avec toutes ses<br/>
ressources.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un fichier stocké sur le disque</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un fichier sur disque est<br/>
statique. Un processus, lui,<br/>
est dynamique : c'est un<br/>
programme effectivement en<br/>
cours d'exécution.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un programme en cours d'exécution, accompagné de sa mémoire, de ses ressources et de son contexte</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un même programme peut être<br/>
lancé plusieurs fois, et<br/>
chaque lancement crée un<br/>
nouveau processus<br/>
indépendant.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type particulier de mémoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un processus utilise de la<br/>
mémoire, mais il n'est pas<br/>
lui-même un type de<br/>
mémoire.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q04 : Gestion de la mémoire</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi le système<br/>
d'exploitation gère-t-il la<br/>
<strong>mémoire</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le mécanisme clé est celui de<br/>
la <strong>mémoire virtuelle</strong>.<br/>
Chaque processus voit un<br/>
espace mémoire continu qui<br/>
lui est propre, alors que cet<br/>
espace est en réalité projeté<br/>
sur la mémoire physique par<br/>
le système d'exploitation<br/>
(techniques de segmentation<br/>
ou de pagination).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour nettoyer la mémoire chaque jour</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le système d'exploitation<br/>
n'effectue aucun nettoyage<br/>
régulier programmé. Il<br/>
alloue et libère la<br/>
mémoire au fil des besoins<br/>
des processus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Pour allouer de la mémoire à chaque processus, isoler les processus entre eux pour la sécurité, et partager efficacement la mémoire vive disponible</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Sans isolation, un processus<br/>
pourrait lire ou écrire<br/>
dans la mémoire d'un autre<br/>
processus, ce qui créerait<br/>
des bugs et des failles de<br/>
sécurité majeures. Le<br/>
système d'exploitation<br/>
empêche précisément cela.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour augmenter la capacité physique de la mémoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La capacité physique de la<br/>
mémoire est fixée par le<br/>
matériel. Le système<br/>
d'exploitation peut<br/>
simuler une mémoire plus<br/>
grande grâce au mécanisme<br/>
de mémoire virtuelle, mais<br/>
il ne change pas la<br/>
capacité physique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour rendre la mémoire plus rapide d'accès</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La rapidité de la mémoire<br/>
est une caractéristique<br/>
matérielle. Le rôle du<br/>
système d'exploitation est<br/>
d'organiser son<br/>
utilisation, et non de<br/>
modifier ses performances<br/>
intrinsèques.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q05 : Système de fichiers</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que permet un <strong>système de<br/>
fichiers</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Quelques exemples de systèmes<br/>
de fichiers : NTFS (Windows),<br/>
ext4 (Linux), APFS (macOS),<br/>
FAT32 (clés USB), exFAT (gros<br/>
volumes). Chacun possède ses<br/>
propres caractéristiques,<br/>
comme la taille maximale ou<br/>
la journalisation.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>D'envoyer des courriels</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>L'envoi de courriels relève<br/>
des protocoles réseau<br/>
comme SMTP, et n'a aucun<br/>
rapport avec un système<br/>
de fichiers.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>De compresser les données stockées</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Certains systèmes de<br/>
fichiers peuvent<br/>
compresser les données,<br/>
mais ce n'est pas leur<br/>
fonction principale. Leur<br/>
rôle premier est<br/>
l'organisation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>De jouer de la musique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La lecture de musique est<br/>
une fonction d'application,<br/>
sans rapport avec un<br/>
système de fichiers (qui<br/>
se contente de stocker les<br/>
fichiers concernés).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>D'organiser les données stockées sur un support (disque dur, disque à mémoire flash) sous forme de fichiers et de dossiers</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Sans système de fichiers,<br/>
un disque ne serait qu'une<br/>
longue suite d'octets. Le<br/>
système de fichiers<br/>
structure ces octets en<br/>
noms, chemins, hiérarchies,<br/>
permissions et dates.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q06 : Accès aux périphériques</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment un programme accède-t-il<br/>
à un <strong>périphérique</strong> comme une<br/>
imprimante, une caméra ou un<br/>
microphone ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Sous Unix, on adopte le<br/>
principe « tout est fichier » :<br/>
les périphériques sont<br/>
accessibles par<br/>
l'intermédiaire de fichiers<br/>
spéciaux situés dans le<br/>
dossier <code>/dev</code>, comme<br/>
<code>/dev/sda</code> pour un disque ou<br/>
<code>/dev/audio</code> pour la sortie<br/>
audio.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Directement, en parlant au matériel</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette approche serait<br/>
impraticable : chaque<br/>
programme devrait connaître<br/>
le détail de chaque modèle<br/>
de matériel existant.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En débranchant et en rebranchant l'appareil</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le débranchement n'a aucun<br/>
rapport avec l'accès<br/>
logiciel à un<br/>
périphérique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Par l'intermédiaire d'une carte mémoire amovible</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une carte mémoire est<br/>
elle-même un<br/>
périphérique, mais elle<br/>
n'a aucun rapport avec<br/>
l'accès à d'autres<br/>
périphériques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Par l'intermédiaire du système d'exploitation, qui fournit une interface uniforme grâce à des pilotes</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le pilote traduit les<br/>
appels génériques du<br/>
système d'exploitation en<br/>
commandes spécifiques au<br/>
matériel. C'est un<br/>
mécanisme d'abstraction<br/>
très puissant.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q07 : Noyau d'un système d'exploitation</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce que le <strong>noyau</strong> d'un<br/>
système d'exploitation ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Linus Torvalds a créé le noyau<br/>
Linux en $1991$. Une<br/>
distribution complète comme<br/>
Ubuntu ou Debian ajoute de<br/>
nombreux outils autour de ce<br/>
noyau : interpréteur de<br/>
commandes, bibliothèques,<br/>
gestionnaire de paquets,<br/>
interface graphique.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le centre du processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette description évoque<br/>
plutôt le « cœur » d'un<br/>
processeur multi-cœurs,<br/>
notion matérielle sans<br/>
rapport avec le noyau d'un<br/>
système d'exploitation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une partie du processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le noyau est un logiciel,<br/>
et non un composant<br/>
matériel du processeur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La partie centrale et privilégiée du système d'exploitation, qui contrôle directement le matériel et fait l'interface avec les applications</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le noyau s'exécute en<br/>
<strong>mode noyau</strong>, qui dispose<br/>
de toutes les permissions.<br/>
Les applications, elles,<br/>
s'exécutent en <strong>mode<br/>
utilisateur</strong>, avec des<br/>
permissions limitées.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une application graphique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le noyau n'a pas<br/>
d'interface graphique.<br/>
C'est au contraire un<br/>
composant logiciel de bas<br/>
niveau, sans interaction<br/>
directe avec<br/>
l'utilisateur.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q08 : Exécution multitâche</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment un système<br/>
d'exploitation parvient-il à<br/>
exécuter <strong>plusieurs programmes<br/>
en même temps</strong> sur un<br/>
processeur monocœur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Vocabulaire associé :<br/>
l'<strong>ordonnanceur</strong> est le<br/>
composant du noyau qui décide<br/>
quel processus s'exécute à<br/>
chaque instant. Plusieurs<br/>
stratégies existent : tour de<br/>
rôle, priorité, etc.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Cette exécution simultanée est techniquement impossible</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est précisément ce que<br/>
réalise tout système<br/>
d'exploitation moderne,<br/>
comme expliqué dans la<br/>
bonne réponse.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Par commutation rapide de contexte : le système alterne entre les processus toutes les quelques millisecondes, donnant l'illusion d'un parallélisme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>On parle de<br/>
<strong>partage de temps</strong>.<br/>
Avec plusieurs cœurs, on<br/>
ajoute en plus du<br/>
<strong>vrai</strong> parallélisme.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En ignorant tous les programmes sauf un</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette description correspond<br/>
au mode monotâche, qui<br/>
n'existe plus depuis<br/>
longtemps dans les systèmes<br/>
d'exploitation modernes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En les fusionnant en un seul</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Aucune fusion n'est<br/>
réalisée. Les programmes<br/>
restent indépendants ;<br/>
c'est leur exécution qui<br/>
est entrelacée.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q09 : Permissions sur les fichiers</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi un système<br/>
d'exploitation gère-t-il des<br/>
<strong>permissions</strong> sur les fichiers ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Sous Unix, la commande<br/>
<code>chmod</code> modifie les<br/>
permissions, et la commande<br/>
<code>chown</code> change le<br/>
propriétaire d'un fichier.<br/>
Une notation classique des<br/>
permissions est <code>rwxr-xr--</code>,<br/>
où chaque triplet décrit les<br/>
droits du propriétaire, du<br/>
groupe et des autres<br/>
utilisateurs.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour ranger les fichiers par couleur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Les permissions sont une<br/>
notion de sécurité, sans<br/>
rapport avec un<br/>
quelconque classement<br/>
esthétique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour compresser les fichiers</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La compression est une<br/>
autre fonctionnalité,<br/>
gérée séparément des<br/>
permissions.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour gagner de l'espace de stockage</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Les permissions occupent<br/>
une place négligeable et<br/>
n'ont aucun rapport avec<br/>
l'économie d'espace.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Pour la sécurité : limiter qui peut lire, écrire ou exécuter chaque fichier (utilisateur propriétaire, groupe, autres utilisateurs)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette gestion empêche un<br/>
utilisateur d'accéder aux<br/>
fichiers d'un autre, ou<br/>
d'altérer les fichiers<br/>
système. Elle est<br/>
indispensable sur les<br/>
serveurs partagés entre<br/>
plusieurs utilisateurs.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q10 : Systèmes d'exploitation mobiles</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quels sont aujourd'hui les<br/>
<strong>deux principaux systèmes<br/>
d'exploitation mobiles</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Android et iOS dominent<br/>
quasiment tout le marché.<br/>
Tous deux dérivent<br/>
d'ancêtres de la famille<br/>
Unix, à travers des couches<br/>
d'abstraction différentes.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Windows et macOS</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Ce sont des systèmes<br/>
d'exploitation pour<br/>
ordinateurs de bureau,<br/>
pas pour téléphones<br/>
mobiles.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Android et iOS</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Android domine largement<br/>
le marché (environ $70 \%$<br/>
des parts de marché<br/>
mondiales) ; il repose<br/>
sur un noyau Linux. iOS,<br/>
d'Apple, occupe environ<br/>
$28 \%$ du marché ; il<br/>
repose sur Darwin, lui-même<br/>
dérivé d'Unix.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Symbian et BlackBerry OS</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Ces systèmes ont quasi<br/>
disparu du marché<br/>
aujourd'hui. Ils étaient<br/>
dominants dans les<br/>
années $2000$, mais ont<br/>
été éclipsés par Android<br/>
et iOS.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Linux et BSD</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Linux est le <strong>noyau</strong><br/>
d'Android, mais Android<br/>
n'est pas qu'un Linux :<br/>
c'est tout un système<br/>
mobile bâti par-dessus.<br/>
Quant à BSD, son usage<br/>
sur mobile reste très<br/>
marginal.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q11 : Mémoire virtuelle</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce que la <strong>mémoire<br/>
virtuelle</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le mécanisme clé est la<br/>
<strong>pagination</strong> : la mémoire<br/>
est divisée en pages<br/>
(typiquement de quatre<br/>
kibioctets). Le système<br/>
d'exploitation maintient<br/>
pour chaque processus une<br/>
table des pages qui projette<br/>
les adresses virtuelles sur<br/>
les adresses physiques.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>De la mémoire qui n'existerait pas vraiment</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La mémoire virtuelle est<br/>
un mécanisme bien réel,<br/>
qui repose sur une<br/>
correspondance entre des<br/>
adresses logiques et des<br/>
adresses physiques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un mécanisme par lequel chaque processus voit un espace mémoire propre et continu, projeté par le système d'exploitation sur la mémoire physique (avec parfois extension sur le disque, le fichier d'échange)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Ce mécanisme permet<br/>
l'<strong>isolation</strong> entre<br/>
processus et autorise<br/>
l'utilisation de plus de<br/>
mémoire que la mémoire<br/>
physique disponible (au<br/>
prix d'un ralentissement<br/>
quand le système doit<br/>
échanger des données<br/>
entre la mémoire et le<br/>
disque).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une mémoire partagée à travers le réseau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La mémoire virtuelle est<br/>
une notion locale à une<br/>
machine, sans rapport<br/>
avec le réseau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une partition cachée sur le disque dur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le fichier d'échange<br/>
(<em>swap</em>) est<br/>
effectivement stocké sur<br/>
le disque, mais il ne<br/>
constitue qu'une petite<br/>
partie du concept de<br/>
mémoire virtuelle.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q12 : Ordonnanceur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel composant du système<br/>
d'exploitation décide <strong>quel<br/>
processus</strong> s'exécute à un<br/>
moment donné ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les critères classiques d'un<br/>
ordonnanceur sont l'équité,<br/>
la priorité, la latence<br/>
(temps de réaction<br/>
perçu par l'utilisateur) et<br/>
le débit. Le compromis<br/>
entre ces critères dépend<br/>
du type de système<br/>
d'exploitation : temps réel,<br/>
serveur, bureau ou<br/>
embarqué.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le pilote</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un pilote sert à faire la<br/>
médiation avec le<br/>
matériel, et non à<br/>
choisir quel processus<br/>
s'exécute.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>L'ordonnanceur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est un composant clé du<br/>
noyau. Plusieurs<br/>
stratégies existent :<br/>
tour de rôle,<br/>
priorité, etc. Sous<br/>
Linux, l'ordonnanceur en<br/>
place est appelé<br/>
<em>Completely Fair<br/>
Scheduler</em>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La table de hachage</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une table de hachage est<br/>
une structure de<br/>
données utilisée<br/>
notamment par les<br/>
dictionnaires Python,<br/>
sans rapport avec<br/>
l'ordonnancement des<br/>
processus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le gestionnaire de fichiers</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le gestionnaire de<br/>
fichiers se charge de<br/>
l'organisation des<br/>
fichiers sur le disque,<br/>
pas de l'ordonnancement<br/>
des processus.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q13 : Interpréteur de commandes</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un <strong>interpréteur<br/>
de commandes</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Sous Linux ou macOS,<br/>
l'interpréteur le plus<br/>
courant est Bash, suivi de<br/>
Zsh ou Fish. Sous Windows,<br/>
on dispose de l'invite de<br/>
commande historique, de<br/>
PowerShell, ou du<br/>
sous-système Linux pour<br/>
Windows. Les scripts<br/>
écrits dans ces<br/>
interpréteurs permettent<br/>
d'automatiser de nombreuses<br/>
tâches répétitives.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un programme qui constitue une interface en mode texte entre l'utilisateur et le système d'exploitation, par exemple Bash, Zsh ou PowerShell</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>L'utilisateur tape des<br/>
commandes (<code>ls</code>, <code>cd</code>,<br/>
<code>cp</code>, etc.) que<br/>
l'interpréteur exécute.<br/>
Cet outil est très<br/>
puissant pour<br/>
l'automatisation, grâce<br/>
aux scripts.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un protocole réseau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette description peut<br/>
évoquer le protocole SSH<br/>
(<em>Secure Shell</em>), mais<br/>
un interpréteur de<br/>
commandes est un<br/>
programme local, et non<br/>
un protocole réseau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un fichier exécutable quelconque</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un interpréteur de<br/>
commandes est bien un<br/>
programme, mais c'est un<br/>
programme particulier,<br/>
dédié à l'interprétation<br/>
des commandes saisies<br/>
par l'utilisateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type particulier de mémoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un interpréteur de<br/>
commandes est un<br/>
programme, et non un<br/>
type de mémoire.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q14 : Linux et logiciel libre</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle particularité<br/>
distingue <strong>Linux</strong> des autres<br/>
grands systèmes<br/>
d'exploitation ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le logiciel <strong>libre</strong> au<br/>
sens des quatre libertés<br/>
de la <em>Free Software<br/>
Foundation</em> est plus<br/>
contraint que le simple<br/>
logiciel à code source<br/>
ouvert. Les deux notions<br/>
se confondent souvent dans<br/>
la pratique. Cette<br/>
ouverture favorise<br/>
l'innovation collaborative.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il est plus rapide à l'exécution</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette affirmation est<br/>
imprécise et n'est pas<br/>
vraie de manière<br/>
universelle. La<br/>
performance dépend<br/>
fortement du contexte<br/>
d'utilisation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Il est libre et à code source ouvert : son code est librement consultable, modifiable et redistribuable, sous licence GPL</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est une différence<br/>
philosophique majeure.<br/>
Linux a été créé par<br/>
Linus Torvalds en<br/>
$1991$. Il est<br/>
aujourd'hui omniprésent :<br/>
serveurs,<br/>
super-calculateurs,<br/>
téléphones (via<br/>
Android), objets<br/>
connectés.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il fonctionne sans aucun matériel</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Comme tout système<br/>
d'exploitation, Linux<br/>
requiert du matériel<br/>
pour s'exécuter.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il ne possède pas de noyau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Au contraire : Linux est<br/>
précisément un noyau de<br/>
système d'exploitation.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q15 : Démarrage d'un ordinateur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que se passe-t-il quand on<br/>
<strong>démarre</strong> un ordinateur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Quelques chargeurs<br/>
d'amorçage connus : GRUB<br/>
(sous Linux) ou le<br/>
gestionnaire d'amorçage<br/>
Windows. La technologie<br/>
UEFI a remplacé l'ancien<br/>
BIOS sur les machines<br/>
modernes.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Rien de particulier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>De nombreuses étapes<br/>
s'enchaînent au<br/>
démarrage, comme<br/>
détaillé dans la<br/>
bonne réponse.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le système d'exploitation se met automatiquement à jour</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La mise à jour n'est pas<br/>
systématique au<br/>
démarrage. Elle peut<br/>
intervenir<br/>
ponctuellement, selon<br/>
les configurations.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le système d'exploitation s'éteint</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette interprétation est<br/>
contradictoire avec<br/>
l'idée même de<br/>
démarrage.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le BIOS (ou UEFI) initialise le matériel, puis charge le chargeur d'amorçage, qui charge le noyau du système, lequel démarre les services et l'interface utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette séquence en chaîne<br/>
va du BIOS au chargeur<br/>
d'amorçage, puis au<br/>
noyau, à l'<code>init</code> et<br/>
enfin à l'interpréteur<br/>
de commandes ou à<br/>
l'interface graphique.<br/>
Cette organisation<br/>
permet une grande<br/>
flexibilité (par<br/>
exemple, le démarrage<br/>
alternatif entre<br/>
plusieurs systèmes).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q16 : Appels système</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment une application<br/>
demande-t-elle un service au<br/>
noyau, par exemple pour lire<br/>
un fichier ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La distinction entre<br/>
application et noyau<br/>
repose sur des<br/>
permissions différentes.<br/>
L'appel système est un<br/>
« point de passage »<br/>
contrôlé qui élève<br/>
temporairement les<br/>
permissions, ce qui<br/>
garantit la sécurité<br/>
d'ensemble.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle envoie un courriel au noyau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette interprétation est<br/>
fantaisiste : aucun<br/>
mécanisme de<br/>
messagerie électronique<br/>
n'intervient ici.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle redémarre le système</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le redémarrage est une<br/>
opération extrême et<br/>
n'a aucun rapport avec<br/>
la demande d'un<br/>
service au noyau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle accède directement au matériel</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cet accès direct est<br/>
interdit par le<br/>
mécanisme d'isolation,<br/>
précisément pour des<br/>
raisons de sécurité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Par l'intermédiaire d'un appel système, qui fait passer brièvement l'exécution en mode noyau le temps de réaliser le service, puis revient en mode utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est une interface<br/>
contrôlée entre les<br/>
applications et le<br/>
noyau. Quelques<br/>
exemples : <code>read</code>,<br/>
<code>write</code>, <code>open</code> ou<br/>
<code>fork</code>. En Python, la<br/>
fonction <code>open</code> utilise<br/>
plusieurs de ces<br/>
appels en interne.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q17 : Système temps réel</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un système<br/>
d'exploitation <strong>temps réel</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Linux et Windows ne sont<br/>
<strong>pas</strong> des systèmes<br/>
d'exploitation temps réel.<br/>
Pour piloter un cœur<br/>
artificiel, par exemple,<br/>
on n'utilise pas Windows<br/>
en raison de son<br/>
imprévisibilité<br/>
ponctuelle.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un système qui garantit des temps de réponse prévisibles, indispensable pour l'embarqué critique : freinage automobile, avionique, contrôle industriel</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>On distingue le <strong>temps<br/>
réel dur</strong> (avec des<br/>
échéances strictes<br/>
impossibles à manquer)<br/>
et le <strong>temps réel<br/>
mou</strong> (au mieux).<br/>
Quelques systèmes<br/>
temps réel connus :<br/>
VxWorks, RTLinux,<br/>
FreeRTOS.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un système d'exploitation très rapide</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La rapidité brute<br/>
n'est pas le critère.<br/>
« Temps réel » signifie<br/>
surtout<br/>
<strong>prévisibilité</strong> des<br/>
délais d'exécution.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un système sans interface graphique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La présence ou non<br/>
d'une interface<br/>
graphique n'a aucun<br/>
rapport direct avec la<br/>
notion de temps réel.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un système qui affiche l'heure courante</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Tous les systèmes<br/>
d'exploitation affichent<br/>
l'heure courante. Ce<br/>
n'est pas la<br/>
caractéristique d'un<br/>
système temps réel.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q18 : Arborescence des fichiers</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment un <strong>système de<br/>
fichiers</strong> est-il<br/>
généralement organisé ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Vocabulaire associé : un<br/>
<strong>chemin absolu</strong> part de<br/>
la racine, par exemple<br/>
<code>/home/alice/doc.txt</code>,<br/>
tandis qu'un <strong>chemin<br/>
relatif</strong> part du dossier<br/>
courant, par exemple<br/>
<code>../doc.txt</code>.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Sous forme d'une table à deux dimensions</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une organisation en<br/>
table serait beaucoup<br/>
trop limitée pour des<br/>
milliers ou des<br/>
millions de fichiers.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>De manière aléatoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une organisation<br/>
aléatoire ne<br/>
permettrait pas de<br/>
retrouver un fichier<br/>
de manière fiable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Sous forme d'arbre, c'est-à-dire d'une hiérarchie de dossiers et de sous-dossiers, avec une racine</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Sous Linux et macOS,<br/>
on a une seule racine<br/>
notée <code>/</code>. Sous<br/>
Windows, on a une<br/>
racine par lecteur,<br/>
comme <code>C:\</code> ou <code>D:\</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Sous forme d'une grande liste plate</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette organisation<br/>
serait très difficile<br/>
à parcourir au-delà<br/>
de quelques dizaines<br/>
de fichiers.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q19 : Partage de ressources</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi deux processus ne<br/>
peuvent-ils pas écrire<br/>
<strong>simultanément</strong> dans le<br/>
même fichier sans<br/>
précaution ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La notion essentielle<br/>
est la<br/>
<strong>synchronisation</strong> :<br/>
lorsque plusieurs<br/>
processus ou plusieurs<br/>
fils d'exécution<br/>
accèdent à une ressource<br/>
partagée, il faut<br/>
sérialiser les accès<br/>
critiques pour garantir<br/>
la cohérence.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Parce que les écritures peuvent se mélanger, ce qui crée des courses critiques et conduit à des données corrompues</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Ces bugs sont<br/>
difficiles à<br/>
reproduire. Pour les<br/>
éviter, on utilise<br/>
des verrous (mutex,<br/>
verrous de fichier)<br/>
ou des structures<br/>
atomiques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que le disque dur ne le permet pas</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Techniquement, le<br/>
disque accepte les<br/>
écritures<br/>
successives. Le<br/>
problème est plutôt<br/>
d'ordre logique :<br/>
les écritures peuvent<br/>
se mélanger si elles<br/>
ne sont pas<br/>
coordonnées.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que c'est interdit par la loi</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette interprétation<br/>
juridique n'a aucun<br/>
rapport avec la<br/>
question technique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucun risque n'est associé à cette situation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Les risques de<br/>
corruption de<br/>
données sont au<br/>
contraire bien<br/>
réels, comme expliqué<br/>
dans la bonne<br/>
réponse.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q20 : Machine virtuelle</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'une <strong>machine<br/>
virtuelle</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Plusieurs variantes<br/>
existent : la machine<br/>
virtuelle complète<br/>
(qui simule l'intégralité<br/>
d'un ordinateur, donc<br/>
assez lourde) et le<br/>
<strong>conteneur</strong> (plus<br/>
léger, qui partage le<br/>
noyau de l'hôte). Docker<br/>
est l'outil de<br/>
référence pour les<br/>
conteneurs. L'informatique<br/>
en nuage moderne repose<br/>
largement sur ces<br/>
technologies.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un programme antivirus</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un antivirus protège<br/>
contre les logiciels<br/>
malveillants, ce qui<br/>
est sans rapport<br/>
avec la virtualisation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Une simulation d'un ordinateur complet (avec son propre système d'exploitation) à l'intérieur d'un autre, ce qui permet d'exécuter plusieurs systèmes sur une même machine physique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Les machines<br/>
virtuelles sont très<br/>
utiles pour le<br/>
développement, les<br/>
tests, la sécurité<br/>
et l'informatique en<br/>
nuage. Quelques<br/>
logiciels populaires :<br/>
VirtualBox, VMware,<br/>
KVM, Hyper-V.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un ordinateur qui n'existe pas réellement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette description est<br/>
imprécise. La machine<br/>
virtuelle est une<br/>
simulation, comme<br/>
détaillé dans la<br/>
bonne réponse.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une carte graphique particulière</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une carte graphique<br/>
est un composant<br/>
matériel, sans<br/>
rapport avec la<br/>
virtualisation<br/>
logicielle.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q21 : Fil d'exécution et processus</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la différence<br/>
entre un <strong>fil d'exécution</strong><br/>
et un <strong>processus</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le multithreading est<br/>
utile pour les calculs<br/>
parallélisables ne<br/>
nécessitant pas<br/>
d'isolation forte<br/>
(calcul scientifique,<br/>
animations). Le<br/>
multiprocessing convient<br/>
pour les services<br/>
isolés (serveurs Web,<br/>
bases de données).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un processus possède sa propre mémoire (forte isolation), tandis que plusieurs fils d'exécution d'un même processus partagent la mémoire (plus léger, mais aussi plus risqué)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Les fils d'exécution<br/>
permettent un<br/>
parallélisme fin<br/>
partageant les<br/>
données ; les<br/>
processus offrent<br/>
une forte isolation.<br/>
C'est un compromis<br/>
classique en<br/>
conception<br/>
logicielle.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un fil d'exécution est plus lent qu'un processus</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est en général<br/>
l'inverse : un fil<br/>
d'exécution est plus<br/>
léger qu'un<br/>
processus, car il<br/>
partage la mémoire<br/>
plutôt que d'avoir<br/>
la sienne propre.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le concept de processus n'existe que sous Linux</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Tous les systèmes<br/>
d'exploitation<br/>
modernes manipulent<br/>
des processus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune différence</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une distinction<br/>
importante existe<br/>
entre ces deux<br/>
notions, comme<br/>
expliqué dans la<br/>
bonne réponse.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q22 : Interruption</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'une<br/>
<strong>interruption</strong> dans un<br/>
système d'exploitation ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Il faut distinguer les<br/>
<strong>interruptions<br/>
matérielles</strong> (signalées<br/>
par les périphériques)<br/>
et les <strong>interruptions<br/>
logicielles</strong> (appels<br/>
système, erreurs<br/>
arithmétiques, etc.). Le<br/>
système d'exploitation<br/>
définit un<br/>
« gestionnaire » pour<br/>
chaque type<br/>
d'interruption.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une erreur fatale du programme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une erreur fatale<br/>
peut effectivement<br/>
déclencher une<br/>
interruption, mais le<br/>
terme « interruption »<br/>
recouvre aussi de<br/>
nombreux cas qui ne<br/>
sont pas des<br/>
erreurs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une coupure de courant</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une coupure de<br/>
courant peut être une<br/>
cause matérielle<br/>
d'arrêt, mais le<br/>
terme « interruption »<br/>
en informatique a un<br/>
sens plus large et<br/>
plus technique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La fin normale d'un programme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La fin normale<br/>
d'un programme n'est<br/>
pas appelée une<br/>
interruption.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un signal envoyé au processeur, par le matériel ou par un programme, qui suspend le travail en cours pour exécuter un gestionnaire approprié</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est un mécanisme<br/>
essentiel pour<br/>
réagir aux<br/>
événements (touche<br/>
appuyée, paquet<br/>
réseau reçu,<br/>
minuteur expiré, etc.)<br/>
sans avoir à les<br/>
surveiller en<br/>
permanence.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q23 : Permissions sous Unix</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Sous Unix, que signifie<br/>
la chaîne de permissions<br/>
<code>rwxr-xr--</code> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La commande <code>chmod</code><br/>
modifie les permissions :<br/>
<code>chmod 755 fichier</code> ou<br/>
<code>chmod u+x fichier</code> pour<br/>
ajouter le droit<br/>
d'exécution au<br/>
propriétaire. Cette<br/>
commande est très<br/>
utilisée dans la<br/>
pratique.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Tous les utilisateurs peuvent tout faire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette description est<br/>
inexacte. Les droits<br/>
sont précisément<br/>
spécifiés selon<br/>
l'utilisateur,<br/>
comme détaillé dans<br/>
la bonne réponse.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le propriétaire a les droits de lecture, d'écriture et d'exécution (<code>rwx</code>) ; le groupe a les droits de lecture et d'exécution (<code>r-x</code>) ; les autres utilisateurs ont seulement le droit de lecture (<code>r--</code>)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La chaîne se lit en<br/>
trois triplets, qui<br/>
correspondent aux<br/>
trois catégories<br/>
d'utilisateurs. La<br/>
notation octale<br/>
équivalente est<br/>
$754$ ($4$ pour la<br/>
lecture, $2$ pour<br/>
l'écriture, $1$ pour<br/>
l'exécution).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Tout le monde peut exécuter le fichier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le caractère <code>x</code><br/>
n'apparaît que pour<br/>
le propriétaire et<br/>
le groupe. Les<br/>
autres utilisateurs<br/>
ne peuvent pas<br/>
exécuter le<br/>
fichier.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Personne ne peut lire le fichier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le caractère <code>r</code><br/>
apparaît dans<br/>
chacun des trois<br/>
triplets : tous les<br/>
utilisateurs peuvent<br/>
lire le fichier.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q24 : Isolation des processus</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi l'<strong>isolation</strong><br/>
des processus est-elle<br/>
cruciale pour la sécurité ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Plusieurs couches<br/>
d'isolation existent :<br/>
la mémoire virtuelle, les<br/>
permissions sur les<br/>
fichiers, les espaces de<br/>
noms, les bacs à sable<br/>
(utilisés par exemple<br/>
dans les navigateurs),<br/>
les conteneurs Docker et<br/>
les machines virtuelles.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour faciliter la copie de fichiers</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>C'est plutôt<br/>
l'inverse :<br/>
l'isolation rend la<br/>
copie entre<br/>
processus plus<br/>
délicate, car elle<br/>
empêche l'accès<br/>
direct.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Pour empêcher qu'un programme malveillant ou simplement bogué accède à la mémoire ou aux fichiers d'autres processus, et puisse compromettre l'ensemble du système</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Si un processus de<br/>
navigation<br/>
compromis pouvait<br/>
lire les mots de<br/>
passe d'autres<br/>
applications, ce<br/>
serait<br/>
catastrophique. Le<br/>
système<br/>
d'exploitation<br/>
assure cette<br/>
isolation grâce à<br/>
la mémoire<br/>
virtuelle, aux<br/>
permissions, aux<br/>
espaces de noms et<br/>
aux conteneurs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour rendre les programmes plus rapides</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La rapidité n'est<br/>
pas le but de<br/>
l'isolation. Au<br/>
contraire, isoler<br/>
les processus a un<br/>
léger coût en<br/>
performance.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour économiser de l'électricité</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La consommation<br/>
électrique n'est<br/>
pas reliée à<br/>
l'isolation.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q25 : Synthèse</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Parmi les affirmations<br/>
suivantes sur les<br/>
systèmes d'exploitation,<br/>
laquelle est <strong>fausse</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Une maxime architecturale :<br/>
« tout passe par le<br/>
système d'exploitation ».<br/>
Ce principe d'indirection<br/>
est ce qui garantit la<br/>
sécurité, la portabilité<br/>
et la modularité des<br/>
programmes.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le rôle d'un système d'exploitation est de gérer les processus, la mémoire, les fichiers et les périphériques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette affirmation est<br/>
correcte. Ce sont<br/>
précisément les<br/>
missions principales<br/>
d'un système<br/>
d'exploitation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Une application accède directement au matériel sans passer par le système d'exploitation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette affirmation est<br/>
fausse (donc c'est la<br/>
bonne réponse). C'est<br/>
précisément l'inverse :<br/>
toutes les<br/>
applications passent<br/>
par le système<br/>
d'exploitation, via<br/>
les appels système,<br/>
pour accéder au<br/>
matériel. Cela<br/>
garantit l'isolation<br/>
et la sécurité de<br/>
l'ensemble.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La virtualisation permet d'exécuter plusieurs systèmes d'exploitation sur une même machine physique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette affirmation est<br/>
correcte. C'est l'une<br/>
des technologies<br/>
fondamentales de<br/>
l'informatique en<br/>
nuage actuelle.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Linux est un noyau de système d'exploitation libre</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette affirmation est<br/>
correcte. Linux a<br/>
été créé par Linus<br/>
Torvalds en $1991$<br/>
et est diffusé sous<br/>
licence GPL.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q26 : Mode utilisateur et mode noyau</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Un processeur moderne distingue deux modes d'exécution :<br/>
le <strong>mode utilisateur</strong> et le <strong>mode noyau</strong>. Quelle est<br/>
la différence essentielle entre les deux ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Cette séparation des privilèges est l'un des piliers<br/>
de la sécurité moderne. Elle empêche par exemple<br/>
qu'un navigateur compromis prenne le contrôle de la<br/>
carte réseau ou efface les fichiers d'autres<br/>
utilisateurs. Le passage du mode utilisateur au mode<br/>
noyau passe par les <strong>appels système</strong>, contrôlés<br/>
par le noyau.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le mode noyau permet d'accéder à toutes les ressources matérielles, tandis que le mode utilisateur restreint l'accès à la mémoire et aux périphériques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le mode noyau donne au système<br/>
d'exploitation un contrôle total sur la machine<br/>
(mémoire, processeur, périphériques). Le mode<br/>
utilisateur, au contraire, isole chaque application<br/>
dans une « bulle » contrôlée, ce qui empêche un<br/>
programme défaillant d'endommager le système ou<br/>
d'autres programmes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le mode noyau ne fonctionne que sur Linux</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la distinction utilisateur/noyau existe sur<br/>
tous les systèmes d'exploitation modernes (Linux,<br/>
Windows, macOS, BSD). C'est une caractéristique du<br/>
processeur, pas du système d'exploitation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le mode utilisateur n'est utilisé que pour les jeux vidéo</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : tous les programmes ordinaires (navigateur,<br/>
traitement de texte, console Python) tournent en<br/>
mode utilisateur. Le mode noyau est réservé au<br/>
système d'exploitation lui-même.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le mode noyau est plus rapide que le mode utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la différence ne tient pas à la vitesse,<br/>
mais au niveau de privilèges. Les mêmes instructions<br/>
s'exécutent à la même cadence, quel que soit le<br/>
mode.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q27 : Couches logicielles d'un système</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans quel ordre se superposent les couches logicielles<br/>
d'un système informatique typique, du plus bas niveau<br/>
(matériel) au plus haut niveau (utilisateur) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Cette organisation en couches (parfois appelée<br/>
« pile logicielle ») est ce qui permet aux mêmes<br/>
applications de tourner sur des matériels différents :<br/>
seules les couches inférieures sont à adapter. Elle<br/>
permet aussi à plusieurs applications de partager les<br/>
ressources sans se gêner.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Matériel, applications utilisateur, bibliothèques, noyau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le noyau ne se trouve pas au-dessus des<br/>
applications. Il en est au contraire le support :<br/>
il s'intercale entre le matériel et tout le reste.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Matériel, noyau du système d'exploitation, bibliothèques et services, applications utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : c'est le modèle en couches usuel.<br/>
Le noyau dialogue directement avec le matériel ;<br/>
les bibliothèques s'appuient sur le noyau via les<br/>
appels système ; les applications appellent les<br/>
bibliothèques. Chaque couche masque la complexité<br/>
de la précédente.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Noyau, matériel, applications utilisateur, bibliothèques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le noyau ne se situe pas en dessous du<br/>
matériel. C'est l'inverse : le matériel est la<br/>
couche la plus basse, le noyau s'exécute dessus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Applications, noyau, matériel, bibliothèques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'ordre n'est pas cohérent. Les<br/>
applications utilisateur sont la couche la plus<br/>
haute, et les bibliothèques système se situent<br/>
entre le noyau et les applications.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q28 : BIOS, UEFI et système d'exploitation</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la <strong>différence</strong> entre le BIOS (ou son<br/>
successeur UEFI) et un système d'exploitation comme<br/>
Windows ou Linux ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le BIOS (ancien) et l'UEFI (moderne) constituent ce<br/>
qu'on appelle un <strong>firmware</strong>. Ils sont stockés dans<br/>
une puce de mémoire morte de la carte mère et restent<br/>
présents même quand le disque est vide. Sans eux, la<br/>
machine ne pourrait pas démarrer.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le BIOS/UEFI est un micrologiciel intégré à la carte mère qui initialise le matériel puis lance le système d'exploitation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : à la mise sous tension, c'est le<br/>
BIOS/UEFI qui prend la main. Il vérifie le matériel<br/>
(mémoire, périphériques) puis charge le démarreur<br/>
de système d'exploitation depuis le disque. Le<br/>
système d'exploitation prend alors le relais.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'UEFI est un système d'exploitation libre, comme Linux</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'UEFI est un micrologiciel, pas un<br/>
système d'exploitation. Il n'exécute pas<br/>
d'applications utilisateur et n'offre pas<br/>
d'interface graphique de bureau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune, il s'agit du même logiciel sous deux noms différents</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce sont deux logiciels distincts. Le BIOS<br/>
ou l'UEFI est un programme stocké en mémoire morte<br/>
sur la carte mère ; le système d'exploitation est<br/>
installé sur le disque et chargé au démarrage.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le BIOS/UEFI remplace le système d'exploitation sur les serveurs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le BIOS/UEFI ne remplace jamais le système<br/>
d'exploitation. Sur un serveur comme sur un poste<br/>
de travail, son rôle se limite au démarrage et à<br/>
quelques services bas niveau.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Systèmes d'exploitation — Q29 : Rôle d'un pilote</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que désigne-t-on par <strong>pilote</strong> (en anglais <em>driver</em>)<br/>
dans un système d'exploitation ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Quand on branche une nouvelle imprimante ou une<br/>
nouvelle carte graphique, il est parfois nécessaire<br/>
d'installer un pilote dédié. Les systèmes modernes<br/>
embarquent des centaines de pilotes génériques pour<br/>
reconnaître automatiquement la plupart des<br/>
périphériques courants.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un programme qui exécute les calculs scientifiques en parallèle</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce serait plutôt une bibliothèque de<br/>
calcul (BLAS, NumPy, etc.). Un pilote a une mission<br/>
très différente : faire le lien entre le système et<br/>
un périphérique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un programme spécialisé permettant au système d'exploitation de communiquer avec un périphérique matériel précis</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : chaque modèle de périphérique<br/>
(carte graphique, imprimante, capteur) parle un<br/>
dialecte spécifique. Le pilote traduit les<br/>
requêtes générales du noyau dans ce dialecte<br/>
particulier. Sans pilote, le matériel n'est pas<br/>
reconnu.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La cadence d'horloge du processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la cadence d'horloge est une grandeur<br/>
physique mesurée en hertz. Un pilote est un<br/>
logiciel, pas une fréquence.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La personne qui utilise l'ordinateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : en informatique, le terme « pilote »<br/>
(<em>driver</em>) désigne un module logiciel, pas une<br/>
personne. La personne qui utilise l'ordinateur<br/>
est appelée « utilisateur ».</p>]]></text>
    </feedback>
  </answer>
</question>

</quiz>
