Département INFormatique 
 CSC4508/M2 : Concepts des systèmes d'exploitation et mise en œuvre sous Unix


   Évaluation



TÉLÉCOM SudParis 2ème année

TP Noté CSC4508/M2 du 18/06/13

(2ème session)

Corrigés

Modalités

Durée : 1 heure 30

Tous documents autorisés.

Les questions 1, 2 et 3 sont indépendantes. Aussi, n'hésitez pas à lire tout le sujet avant de commencer pour déterminer l'ordre dans lequel vous souhaitez traiter les questions.

Le barème est donné à titre indicatif des poids entre les différentes questions.

La « livraison » de votre travail en fin de TP noté se fera par remontée sous Moodle (rubrique « TP noté de 1 heure 30 ») du fichier d'extension tgz constitué de la manière suivante :

cd votreRepertoireDeTravailPourCSC4508M2
tar cvfz $USER.tgz ${USER}_TPNote2013Session2

Préparation

cd votreRepertoireDeTravailPourCSC4508M2
cp ~trahay_f/Cours/CSC4508/tPNote2013Session2.tgz .
tar xvfz tPNote2013Session2.tgz
mv TPNote2013Session2 ${USER}_TPNote2013Session2 cd ${USER}_TPNote2013Session2

Question 1: des chiffres et des lettres

L'application simple.c :
  • lit le flux de caractères arrivant sur l'entrée standard
  • sépare les chiffres et les lettres
  • effectue l'opération appropriée en fonction du type de caractère, à savoir :
    • sommer les chiffres
    • réaliser un spectre de fréquence pour les lettres
  • affiche le résultat obtenu
Pour cela, le programme est compsé de trois entités :
  • un distributeur (en charge de la répartition des caractères) ;
  • un additionneur (opérant sur les chiffres) ;
  • un compteur (opérant sur les lettres).
Adapter simple.c pour que les fonctions de distribution d'une part et d'additionneur et de compteur d'autre part soient chacune assurées par un thread.

Question 2: taille des fichiers C

On souhaite disposer d'une application permettant de compter le nombre de ligne des fichiers C d'un répertoire.

Compléter le programme ls_count.c pour que, si le répertoire courant contient les fichiers suivants :

Makefile client-serveur.h client.c mEtMme.txt serveur.c

le programme affiche :

$ ./ls_count
104 client.c
113 serveur.c

104 et 113 correspondant au nombre de lignes des fichiers client.c et serveur.c.



Page mise à jour le 17 juin 2013