\thumb

\begin{qcm}{Connaître le cours}{5} % titre , temps
Pour chaque question, 4 propositions de réponses sont faites. Une seule est correcte. Laquelle ?
\begin{questions}
\item Un processeur peut atteindre 3,5 GHz. Cela correspond à combien de cycles d'horloge par seconde ?

\choix \numprint{3500000000}

\choix \numprint{3500000}

\choix \numprint{3500000000000}

\choix \numprint{3500}

\item \resetchoix Dans l'architecture de Von Neumann, l'UAL est généralement représentée par :

\choix un \og N \fg{} 

\choix un \og V \fg{} 

\choix un \og C \fg{} 

\choix un \og U \fg{} 

\item\resetchoix Une UAL ne peut pas :

\choix faire des additions

\choix calculer des puissances entières de nombres entiers

\choix faire des racines carrées

\choix faire des opérations logiques

\item\resetchoix Dans le protocole TCP/IP, il y a :

\choix 3 couches

\choix 4 couches

\choix 5 couches

\choix 7 couches
\end{questions}
\end{qcm}

\begin{corrige}
\begin{questions}
\item Réponse \choix[a]. Une fréquence de 3,5 GHz correspond à $3,5\times10^9$ cycles d'horloge, soit \numprint{3500000000}.

\item Réponse \choix[b]. La représentation conventionnelle d'une UAL est un \og V \fg. 

\item Réponse \choix[c]. Une UAL ne peut pas faire des racines carrées car elle ne peut faire que des additions, soustractions, multiplications (donc les calculs de puissances entières sont possibles) et divisions.

\item Réponse \choix[b]. Dans le protocole TCP/IP, il y a 4 couches :  \og Accès\linebreak réseau \fg, \og Internet \fg, \og Transport \fg{} et \og Application \fg.
\end{questions}
\end{corrige}

%%% 2

\begin{vf}{Connaître le cours}{5} % titre , temps
Indiquer si les propositions suivantes sont vraies ou fausses.
\begin{questions}
\item Dans l'architecture de Von Neumann, l'unité de commande donne les ordres aux autres parties.

\item Une carte réseau possède une adresse IP.

\item Le réseau d'un établissement scolaire comme un lycée est un réseau PAN.

\item La topologie en étoile est la topologie réseau la plus répandue. 
\end{questions}
\end{vf}

\begin{corrige}
\begin{questions}
\item La proposition est \textit{vraie}. Des 4 parties, l'unité de commande agit comme le cerveau de la machine : c'est elle qui décide ce qui doit être fait. Elle donne donc les ordres.

\item La proposition est \textit{fausse}. Une carte réseau possède une adresse MAC, mais pas une adresse IP.

\item La proposition est \textit{fausse}. Un réseau PAN est un réseau que l'on peut retrouver chez soi par exemple, mais pas dans une structure à la taille d'un lycée. Il s'agit plutôt d'un réseau LAN.

\item  La proposition est \textit{vraie}. En effet, la topologie en étoile est facile à mettre en place et un dysfonctionnement d'un poste n'entraîne pas le plantage du réseau tout entier, ce qui constitue un avantage majeur de cette topologie.
\end{questions}
\end{corrige}

%%% 3

\begin{exo}{IPv4 et IPv6}{\null}{1}{5} 
\begin{questions}
\item Quel est le format d'une adresse IPv4 ?

En déduire le nombre total d'adresses IPv4 possibles.

\item Même question avec une IPv6.
\end{questions}
\end{exo}

\begin{corrige}
\begin{questions}
\item Une adresse IPv4 est composée de 4 octets, et représentée par 4 nombres décimaux de 0 à 255 séparés par un point.

Il y a donc 256 possibilités pour le chaque nombre, soit un total de $256^4=\numprint{4294967296}$ IPv4 possibles.

\item Une IPv6 est composée de 16 octets, soit 128 bits. Il y a 2 possibilités pour chaque bit (0 ou 1).

Il y a donc $2^{128}\approx3,4\times10^{38}$ IPv6 possibles.
\end{questions}
\newpage
\end{corrige}

%%% 4

\begin{exo}{Routeur domestique}{\null}{1}{5} 
Trouver l'adresse IP du routeur de votre domicile.
\end{exo}

\begin{corrige}
Sous Windows, à l'aide de la commande \texttt{ipconfig/all}, on recherche la ligne \og Passerelle par défaut \fg: c'est ici que l'on va trouver l'adresse IP du routeur (de la box Internet). 

Sous Linux, on peut utiliser la commande \texttt{ip route|grep default}; l'adresse IP du routeur se trouve après le mot \textit{via}).

Sous macOS, on peut utiliser la commande \texttt{route -n get default}; l'adresse IP du routeur se trouve après le mot \textit{gateway}.

En effet, les objets connectés de votre domicile sont tous connectés à votre box (au routeur domestique)	afin que ce dernier régisse les interactions entre eux et les connexions Internet (accès aux pages web, affichage de la télé, imprimantes,...).
\end{corrige}

%%% 5

\begin{exo}{La commande chmod sous Linux}{\null}{2}{10} 
\nathanLive{Plus d'explications sur la commande chmod en vidéo avec}
\label{video:ch5-chmod}

Sous Linux, il existe trois types de groupes :
\begin{itemize}
\item propriétaire;
\item groupe du propriétaire;
\item autre.
\end{itemize}

Pour chaque fichier, il y a 3 types de droits :
\begin{itemize}
\item \textit{r} : droit de lecture (\og r \fg{} pour \textit{read});
\item \textit{w} : droit d'écriture (\og w \fg{} pour \textit{write});
\item \textit{x} : droit d'exécution (\og x \fg{} pour... la consonance !).
\end{itemize}

À chaque fichier, on attribue un triplet de 3 bits représentant le droit de chaque groupe. Par exemple, \og 111 101 100 \fg{} signifie que :
\begin{itemize}
\item le propriétaire a tous les droits (111 = 7 en décimal);
\item le groupe a le droit de lecture et d'exécution (101 = 5 en décimal);
\item les autres ont le seul droit de lecture (100 = 4 en décimal).
\end{itemize}

Pour donner ces droits, on peut utiliser la commande \textit{chmod} ainsi :
\begin{center}
\texttt{chmod 754 monfichier.sh}.
\end{center}
\begin{questions}
\item Quelle ligne de commande un propriétaire souhaitant donner tous les droits à tout le monde doit-il écrire ?
\item Que doit-il écrire pour se donner tous les droits sans en donner un seul aux autres ?
\item Il écrit : \texttt{chmod 123 fichier.ext}; quels droits a-t-il donné ?
\end{questions}
\end{exo}

\begin{corrige}
\begin{questions}
\item \rput(-1.1,0.1){\nathanliveVidWithoutText}Si tous les droits sont à donner à tout le monde, cela se traduit par le\linebreak triplet binaire 111 111 111, soit 777 en décimal. 

Le propriétaire du fichier devra alors taper :
\begin{center}
\texttt{chmod 777 fichier.ext}
\end{center}

\item Si lui seul a tous les droits, cela se traduit par le triplet binaire\linebreak 111 000 000, soit 700 en décimal. Il devra donc taper :
\begin{center}
\texttt{chmod 700 fichier.ext}
\end{center}

\item Le nombre décimal 123 correspond au triplet binaire 001 010 011. Il s'est donc donné le seul droit d'exécution, puis a donné le droit d'écriture à son groupe, et enfin a donné les droits d'exécution et d'écriture à tous les autres... ce qui n'est pas très malin!
\end{questions}

\begin{Remarque}
pour modifier de façon plus rapide les droits, on peut utiliser la manière symbolique : \texttt{chmod [ugoa]$\pm$[rwx]}, le premier argument étant une des lettres entre les crochets.
\begin{itemize}
\item \og u \fg{} pour \textit{user}  : le propriétaire;
\item \og g \fg{} pour \textit{group} : le groupe;
\item \og o \fg{} pour \textit{others} : les autres;
\item \og a \fg{} pour \textit{all} : tout le monde.
\end{itemize} 
Ainsi, en écrivant \texttt{chmod u+w fichier.ext}, il se redonne le droit d'écriture. En écrivant \texttt{chmod o-w, o-x, o+r}, il enlève les droits d'exécution et d'écriture, et ajoute les droits de lecture.
\end{Remarque}
\newpage
\end{corrige}

%%%

\begin{exo}{Ordinateur virtuel et mémoire}{\null}{2}{10} 
On imagine un ordinateur ultra simplifié d'une mémoire centrale constituée d'un tableau de 32 cellules, chacune d'elles étant constituée d'un octet. Chaque instruction est constituée d'un code opération sur 3 bits et d'une partie adresse sur 5 bits.

On dispose du tableau d'instructions suivant :

\Par

\begin{center}
\begin{tabular}{|Zc|Zc|}
\tabulartitle\hline
Instruction & Effet\\
\hline
LD X & Lit le contenu de la cellule X (ACC $\leftarrow$ M[X])\\
\hline
STO X & Enregistre dans la cellule X (M(X] $\leftarrow$ ACC)\\
\hline
ADD X & Ajoute le contenu de la cellule X (ACC $\leftarrow$ ACC+M[X])\\
\hline
SUB X & Soustrait le contenu de la cellule X\\
\hline
JMP ADR & Saute à l'adresse ADR (CO $\leftarrow$ A)\\
\hline
JMPZ ADR & Saute à l'adresse ADR si nul\\
\hline
JMPP ADR & Saute à l'adresse ADR si positif\\
\hline
JMPN ADR & Saute à l'adresse ADR si négatif\\
\hline
\end{tabular}
\end{center}

\Par

On considèrera qu'un programme commence à l'adresse 8, les adresses de 0 à 7 étant réservées au stockage des données.
\begin{questions}
\item Que fait le programme suivant :
\begin{center}
\begin{tabular}{|Zc|Zc|}
\tabulartitle\hline
Adresse & Contenu\\
\hline
0 & 48\\
\hline
1 & 37\\
\hline
... & ...\\
\hline
8 & LD 0\\
\hline
9 & SUB 1\\
\hline
10 & STO 2\\
\hline
11 & END\\
\hline
\end{tabular}
\end{center}

\item On suppose qu'une valeur est dans la case mémoire 0, et une autre dans la case mémoire 1.

\'Ecrire un programme qui lit celle de la case mémoire 1, qui la compare à celle de la case mémoire 0 et si elle est plus grande, l'écrit dans la case mémoire 2.

\item \'Ecrire un programme qui lit une valeur $x$ dans la case mémoire 0, et qui calcule le plus grand exposant $n$ tel que $2^n<x$ pour le stocker en case mémoire 2.
\end{questions}
\end{exo}

\begin{corrige}
\begin{questions}
\item Le programme commence par lire la donnée dans la cellule 0 (donc 48), puis soustrait le contenu de la cellule 1 ($48-37=11$), et enfin stocke le résultat (11) dans la cellule 2.

\item On a le programme suivant :
\begin{center}
\begin{tabular}{|Zc|Zc|Zc|}
\tabulartitle\hline
Adresse & Contenu & Interprétation\\
\hline
0 & $x$ & \\
\hline
1 & $y$ & \\
\hline
$\vdots$ & $\vdots$ & \\
\hline
8 & LD 1 & Lit $y$\\
\hline
9 & SUB 0 & Calcule $y-x$\\
\hline
10 & JMPP 12 & Si $y-x>0$, va en 13\\
\hline
11 & JMPZ 12 & Si $y-x=0$, va en 13\\
\hline
12 & JMPN 14 & Si $y-x<0$, va en 14\\
\hline
13 & STO 2 & Stocke le résultat en 2\\
\hline
14 & END & Fin du programme\\
\hline
\end{tabular}
\end{center}
\end{questions}
\end{corrige}

\thumb
\AfficheCorrige