![]() |
Architecture des ordinateurs et SEépreuve de substitutionL2S3 SPI - 8/1/2021 - P. Trau |
Durée : 1h. Unique document autorisé : une page A4 recto-verso. Calculatrice autorisée (mémoires vidées). Aucun échange entre étudiants ne sera toléré (pas même gomme ou ou stylo). Téléphones, tablettes et autres objets communicants interdits (même pour regarder l'heure). Toute réponse non justifiée (par un calcul intermédiaire, des chiffres soulignés, ou quelques mots) ne rapporte aucun point.
1) Soit V=C0CA en hexa. Traduisez le en binaire, puis octal, puis décimal.
2) Soient X=129 et Y=24, tous deux en décimal. Transformez les en binaire, et posez la division X/Y (en binaire). N’allez pas plus loin que 4 chiffres après la virgule.
3) Ecrivez en Python les quelques lignes de programme qui, à partir de deux variables entières i et j (supposées déjà initialisées), modifie j de la manière suivante :
j'appelle "bit 0" le bit de poids faible (le plus à droite, correspondant aux unités), le bit de poids fort se note donc "bit 15" (le plus à gauche, correspondant à 215). Evidemment, vous utiliserez des masques, décalages et opérations booléennes. Il est inutile d’afficher (par print) les valeurs intermédiaires, et surtout pas de les afficher en binaire.
4) Les droits d’accès à un fichier sont en général représentés par N bits d’un entier. 4a) vous rappelez-vous combien vaut N, et ce que représentent ces N bits (inutile de se rappeler dans quel ordre ils sont). 4b) en général, on affiche ces droits en octal. Devinez-vous pourquoi ? (éventuellement donnez quelques exemples)
5) Qu’est-ce qu’une URL ? Détaillez tout ce qui peut la composer.
6) Certains systèmes stockent les nombres en big-endian, d’autres en little-endian. Cela signifie que les octets sont rangés en ordre inverse. Ecrivez une fonction qui reçoit en argument un entier (supposé 32 bits, inutile de le vérifier, appelons le i), retourne un entier j tel que son 1er octet est le 4ème de i, son 2ème est le 3ème de i, son 3ème le 2ème de i, et son 4ème le 1er de i. Cette fonction sera très utile pour transférer une donnée entre 2 ordinateurs différents.
7) Posez la multiplication de V par 10d (posée en binaire, bien sûr). N’oubliez pas les retenues ! Puis donnez le résultat en hexa.
8) Qu'est-ce qui différencie les différents SE (Systèmes d'Exploitation) et qu'est-ce qu'ils font tous ? Citez les SE que vous connaissez, avec pour chacun UNE de ses spécificités (la plus importante d'après vous, si vous en connaissez plusieurs).
Patrick TRAU, avril 2022