Quizz exam Unix

Fermé
Mat2049 - Modifié par Mat2049 le 11/02/2011 à 14:35
 BobyCharlton - 12 févr. 2011 à 16:53
Bonjour à tous,

je voudrai demander de l'aide à tous les spécialistes UNIX.
Voila, lundi prochain jai un exam "système d'exploitation et UNIX" et afin de réussir au mieux mon exam, jessaye de faire le sujet de l'année précédente. N'ayant aucune correction je ne suis donc pas sur de mes réponses.

C'est sur ce point que la communauté de CCM pourrait m'aider.
Je vous fourni donc le questionnaire et si des spécialistes dans ce domaine ont quelques minutes ça serait énorme! Je pourrai comparer vos réponses aux miennes

Trêve de blabla voila l'exam :

Exam 2009-2010

Question 1
Soient les 2 affirmations suivantes :
(1) Parler de processus ou de programme est rigoureusement équivalent.
(2) Quand un processus ne reçoit pas sa part du temps processeur, on parle de « famine ».
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 2
Soient les 2 affirmations suivantes :
(1) LINUX, UNIX proposent exactement les mêmes fonctionnalités.
(2) L'utilitaire qui permet d'afficher des lignes correspondant à un motif donné s'appelle grep
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 3
Un utilisateur fait quelques chmod pour se détendre... puis il tape ls -l qui renvoie :
- rw- r-- r-- 1 dupont users sep 10 14:55 fic1.c
- rwx -w- -w-- 1 dupont users sep 10 14:55 F5
Considérons les 2 affirmations suivantes:
(1) Pour obtenir les droits du fichier fic1.c, il a fait un chmod 644 fic1.c
(2) Pour obtenir les droits du fichier F5, il a fait un chmod 722 F5
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 4
On est dans le répertoire /home/bleu/vert, et on exécute la commande cp ../../bleu/toto .
Que se passe-t-il ?
a) il s'affiche un message d'erreur;
b) le fichier toto du répertoire /home/bleu/vert est copié dans le répertoire courant, sous le nom "toto";
c) le fichier toto du répertoire /home/bleu est copié dans le répertoire courant, sous le nom "toto";
d) le fichier toto du répertoire /home/bleu/vert est copié dans le répertoire courant, sous le nom ".";

Question 5
Soient les 2 affirmations suivantes :
(1) Les sémaphores permettent de remédier à tous les problèmes d'interblocage
(2) Un processus zombi a les caractéristiques suivantes :
- processus terminé (donc il ne consomme plus de temps CPU)
- son père en a pris connaissance
- le processus continue à occuper un emplacement dans la table des processus.
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 6
Un mini-ordinateur dispose de trois cases mémoires numérotées de 1 à 3. Au démarrage, ce dernier fait
référence aux 5 pages virtuelles (A, B, C, D, E) suivantes dans cet ordre:
A A B E D B E E C D E C B A
(une page qui est mise en gras+italique+souligné comme la page B indique que cette page va subir une
modification et pas seulement une référence comme c'est le cas pour les autres pages).
Remarque: dans tous les algorithmes, on supposera que la périodicité de la mise à jour des bits R est effectuée
tous les 20 défauts de page.
Le nombre de défauts de pages si le mini-ordinateur utilise l'algorithme de type FIFO est de:
a) 9
b) 10
c) 11
d) autre

Question 7
Même question que l'exercice précédent si on utilise l'algorithme NRU:
a) 9
b) 10
c) 11
d) autre

Question 8
Même question que l'exercice précédent si on utilise l'algorithme LRU:
a) 9
b) 10
c) 11
d) autre

Question 9
Même question que l'exercice précédent si on utilise l'algorithme de la seconde chance:
a) 9
b) 10
c) 11
d) autre

Question 10
Soient les 2 affirmations suivantes :
(1) Le propriétaire effectif est toujours différent du propriétaire réel.
(2) Les simples quotes 'contenu' neutralisent toujours le contenu.
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 11
On tape les 2 lignes suivantes :
expr a + 1 1> sortie 2> /dev/null
i=0 ; i=i+1 ; echo i vaut:$i
Choisir la bonne affirmation:
a) il y aura quelque chose dans le fichier /dev/null et l'ordinateur va afficher i vaut:1
b) il y aura quelque chose dans le fichier /dev/null et l'ordinateur va afficher autre chose que i vaut:1
c) il n'y aura rien dans le fichier /dev/null et l'ordinateur va afficher i vaut:1
d) il n'y aura rien dans le fichier /dev/null et l'ordinateur va afficher autre chose que i vaut:1

Question 12
Soient les affirmations suivantes :
(1) Pour rendre un fichier de script exécutable, il faut placer l'indication #!/bin/sh sur la première ligne
(2) Pour rendre un fichier de script exécutable, il faut changer ses droits avec la commande chmod.
(3) Pour rendre un fichier exécutable, il faut le placer dans un répertoire nommé bin
Il y en a :
a) 0 de correctes
b) 1 de correcte
c) 2 de correctes
d) 3 de correctes

Question 13
On fait un ls -l qui renvoie ceci :
f1.txt f2.c f3.mat
ensuite, on lance le script essai suivant :
#!/bin/bash
echo $#
set ls
echo $#
set='f1.txt f2.c'
echo $#
par :
./essai f1.txt f2.c f3.mat
On obtient :
a) 3 puis 3 puis 2
b) 3 puis 2 puis 2
c) 3 puis 1 puis 1
d) autre chose est affiché à l'écran

Question 14
Soit le script essai suivant :
#!/bin/bash
i=1
for variable
do
./$1
let i=i+1
echo $i
done
qu'on appelle par:
./essai essai
a) il n'affiche rien
b) il se plante tout de suite
c) il affiche 1 puis 2 puis 3
d) autre comportement

Question 15
Soient les affirmations suivantes :
(1) La notion d'IDLE est très pratique pour voir si quelqu'un a travaillé de manière récente sur une machine
(2) La commande suivante ne pourra jamais fonctionner :
cat fic1.c | ./fic2.c
quoique l'on mette dans ces fichiers.
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 16
Soient les affirmations suivantes:
1) Vous travaillez en TP de compilation. Il y a un répertoire intitulé :
/home/depots/depot_profs/dept_info/dschang/TP_COMPIL que vous souhaitez recopier chez vous
(ainsi que tous les sous répertoires). La bonne commande à exécuter est:
cp -r /home/depots/depot_profs/dept_info/dschang/TP_COMPIL .
2) Les messages d'erreur du type « perror » du Langage C peuvent être ré-aiguillés par 1>.
3) Dans le cas du vfork, le fils ne partage pas l'espace d'adressage du père.
Combien d'affirmations sont correctes ?
a) 0
b) 1
c) 2
d) 3

Question 17
Soient les affirmations suivantes :
(1) Pour faire un double test, on fait par exemple:
if test -e $1 && test -f $1
(2) L'ENIAC utilisait UNIX.
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 18
Lorsqu'on demande l'exécution d'une commande nommée "truc" depuis l'interpréteur de commandes, ce
dernier cherche la commande dans :
a) certains répertoires système (comme /bin, /usr/bin etc), puis dans le répertoire courant;
b) le répertoire courant puis dans les répertoires indiqués par la variable PATH;
c) les répertoires indiqués par la variable PATH;
d) les répertoires indiqués par la variable PATH, puis le répertoire courant;

Question 19
On suppose que fichier est un fichier texte classique.
Soient les affirmations suivantes :
(1) Un tube permet de connecter la sortie standard d'un processus vers l'entrée standard d'un autre processus
(2) Un tube permet de lancer plusieurs processus indépendants en parallèle
(3) La commande ls < fichier est correcte
(4) La commande cat | fichier est correcte
(5) La commande cat < fichier est correcte
(6) La commande fichier | cat est correcte
Combien d'affirmations sont correctes ?
a) 0
b) 1
c) 2
d) 3

Question 20
On suppose que le fichier de nom « fichier_non_existant.txt » n'existe pas sur le disque dur. Soit le
script suivant :
#!/bin/bash
expr 12 + 12
echo $?
ls -l fichier_non_existant.txt 2> /dev/null
if test $? -ne 0
then
echo ok pas existant
fi
echo $?
Il renvoie :
a) 24 puis 0 puis ok pas existant puis 0
b) 0 puis 0 puis ok pas existant puis 0
c) 24 puis 0 puis 0
d) autre chose est affiché à l'écran

Question 21
Un répertoire intitulé Mon_Repertoire contient des fichiers, des répertoires et des liens.
Soient les 2 affirmations suivantes :
(1) La commande ls -il renverrait toujours des numéros d'i-nodes uniques.
(2) Le type pid_t s'apparente au type long int du Langage C.
a) L'affirmation (1) est correcte et l'affirmation (2) est correcte.
b) L'affirmation (1) est correcte et l'affirmation (2) est incorrecte.
c) L'affirmation (1) est incorrecte et l'affirmation (2) est correcte.
d) L'affirmation (1) est incorrecte et l'affirmation (2) est incorrecte.

Question 22
On suppose que le fichier de nom « fichier_non_existant.txt » n'existe pas sur le disque dur. Soit le
script essai suivant que l'on appelle par ./essai 1 23 4
#!/bin/bash
more fichier_non_existant.txt 2> /dev/null; echo ok
echo $?
shift
echo $1
Le script va afficher :
a) ok puis 0 puis 2
b) ok puis une autre valeur que 0 puis 23
c) autre chose sera affiché

Question 23
On dispose d'un répertoire ESSAI qui contient 5 fichiers essai1.txt, essai2.txt, essai3.txt,
essai4.txt et essai5.txt.
On dispose d'un script UNIX qui s'appelle mon_script, qui se trouve au même niveau que le répertoire ESSAI
et qui contient ceci :
#!/bin/bash
more fichier_non_existant.txt ; echo ok
echo $?
shift
echo $1
On se place juste au dessus du répertoire ESSAI et tape ensuite successivement les 2 commandes suivantes :
ls -ld ESSAI | wc -l (c'est bien sûr un "l")
more mon_script | grep ch | wc -l (c'est toujours un "l"...)
Le résultat affiché sera le suivant :
a) 1 puis 0
b) 5 puis 3
c) 1 puis 3
d) 1 puis autre chose

Question 24
Un répertoire TRUC contient 5 fichiers essai1.txt, essai2.txt, essai3.txt, essai4.txt et
essai5.txt. Le répertoire TRUC contient également un script mon_script, ainsi qu'un répertoire ESSAI.
On se place dans le répertoire TRUC et on tape ensuite la commande suivante :
ls *.* | wc -l (c'est bien sûr un "l")
Le résultat obtenu est :
a) 0
b) 5
c) 7
d) autre résultat

Question 25
Soit le programme suivant:
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
main() {
fork();
alarm(3);
sleep(4);
printf("Ok ici\n");
}
A l'exécution,
a) Le programme affiche 1 fois « Ok ici »
b) Le programme affiche 2 fois « Ok ici »
c) Autre comportement que les 2 précédents.

Question 26
Soit le programme suivant:
#include <stdlib.h>
#include <stdio.h>
main() {
int i;
i=0;
pid_t Valeur;
switch(Valeur=fork()){
case -1: perror("Création de processus");
exit(2);
case 0: /* on est dans le processus fils */
i=i+1;
exit(0);
default: /* on est dans le processus père */
fork();
sleep(10);
i=i+1;
}
printf("%d",i);
}

A l'exécution, le programme :
a) affiche rien
b) affiche 2
c) affiche 1 puis 2
d) affiche autre chose

Question 27
Soit le programme C suivant :
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void envoyer_une_alarme() {
printf("Attention, alarme !!!");
alarm(1);
return;
}
main() {
alarm(1);
signal(SIGALRM, envoyer_une_alarme);
while (1)
;
}
Le comportement de ce programme à l'exécution est le suivant :
a) il n'affiche rien.
b) il n'affiche rien puis tout d'un coup, un certain temps après, quelque chose s'affiche et ainsi de suite.
c) autre comportement que les 2 précédents

--- Dernière question, catégorie « Geeks »... oui, il en faut pour tous les goûts... ---

Question 28
Soit le programme suivant:
#include <stdlib.h>
#include <stdio.h>
main() {
/* toutes ces fourchettes vont finir par donner faim... */
fork();
fork();
fork();
printf("%ld\n",getppid());
}
Soient les 3 exécutions possibles suivantes:
6231
6230
6230
6229
6234
6229
6229
5639

6239
6238
6242
6237
6237
5639
6238
1

6245
5639
6246
1
6248
1
6247
1

Combien sont possibles ?
a) 0
b) 1
c) 2
d) 3
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
11 févr. 2011 à 13:57
Salut,

Je pourrai comparer vos réponses aux miennes
L'inverse eut été préférable ;-))
0
Ok je fini l'exam et j'envoie mes réponses
0
Quelques réponses :

Question 10
Soient les 2 affirmations suivantes :
Le propriétaire effectif est toujours différent du propriétaire réel. FAUX
Les simples quotes 'contenu' neutralisent toujours le contenu. VRAI

Question 12
Pour rendre un fichier de script exécutable, il faut placer l'indication #!/bin/sh sur la première ligne VRAI
Pour rendre un fichier de script exécutable, il faut changer ses droits avec la commande chmod. VRAI
Pour rendre un fichier exécutable, il faut le placer dans un répertoire nommé bin FAUX

Question 15
Soient les affirmations suivantes :
La notion d'IDLE est très pratique pour voir si quelqu'un a travaillé de manière récente sur une machine VRAI
La commande suivante ne pourra jamais fonctionner :
cat fic1.c | ./fic2.c
quoique l'on mette dans ces fichiers FAUX

Je galère vraiment! Personne pour me corriger ou répondre à une seule question ?
0
Je crois que les réponses aux questions 6,7,8 et9 sont 9,9,10,9
mais je ne suis plus très sur!
çà m'étonne qu'on ne t'ai pas encore répondu!
bon courage
0