TD2-SYSTEME-DEUST2 H. TSOUNGUI septembre 2012 Exo-0 Administration de base des users et groupes Exo-1 -Créez un fichier texte « fruits » comportant une liste de noms de 6 fruits. -Créez de même un fichier texte appelé « legumes » avec au moins 5 noms de légumes. 1) Triez les deux fichiers et dirigez la sortie vers fruits2 et legumes2, triés par ordre croissant. 2) Réalisez la concaténation des deux fichiers fruits et legumes et triez le résultat par ordre décroissant des noms. Exo-2 1)Dans votre répertoire de travail, créez un fichier texte appelé CLIENTS.DAT et contenant les données suivantes organisées en colonnes : FRED JEAN DARMON ZEPHYR FLEURQUIN D’ARTOIS AMORY Lille Avion Villejuif Senlis Anzin Valenciennes Marseille 3421 2089 765 1024 1283 1875 2338 2)Triez ce fichier sous LINUX sur le nom (première colonne) et sauvez le résultat dans le fichier nommé CLIENTS-1.DAT -Affichez le fichier résultat et vérifiez qu’il est correctement trié. 3)Triez le même fichier de départ sur le montant (3ème colonne) et redirigez la sortie vers CLIENTS-2.DAT -Affichez le fichier résultat et vérifiez qu’il est correctement trié. Exo-3 Ordonnancement des tâches/processus On considère trois processus P1, P2, P3 à exécuter dans un OS multi-tâches. Si P1 s’exécutait seul, il faudrait 58 ms, P2 nécessiterait 35 ms et P3 47 ms. L’OS hôte donne « la main » à chaque processus pendant 15 ms. L’ordre d’exécution est le suivant P3, P1 et P2. Le basculement d’un processus à un autre prend en moyenne 3 ms. 1)-Déterminer par ma méthode vue en cours, le temps moyen nécessaire à l’exécution complète des trois processus. Faire une représentation graphique du scénario. 2)-Comparer le résultat obtenu à la question précédente avec celui d’une exécution séquentielle(P3 puis P1 et enfin P2 avec la même durée de basculement). Exo-4 Gestion des processus Connectez-vous à linux en tant que root en tapant sudo –s dans un terminal. Fournissez le mot de passe requis. 1)Visualisez la liste des processus avec la commande top. -Combien de processus au total s’exécutent sur votre système ? Taper CTRL-C pour quitter. Vous aurez remarqué que chaque processus porte un numéro PID (process id). 2)Vous pouvez obtenir les mêmes résultats avec la commande ps aux | less (n’oubliez pas le ‘pipe’). Pour quitter, taper q après les deux-points. 3)Allez dans le sous-menu accessoires et lancez la calculatrice de gnome(gcalctool). -Affichez la liste de tous les processus dont le nom comporte la chaîne « calc » avec la commande ps aux|grep ... Notez le pid de ce processus. 4)Arrêtez l’exécution de la calculatrice avec la commande kill. 5)Recherchez un processus comportant la chaîne « proftp» dans son nom. S’il existe, arrêtez-le en utilisant kill. S’il n’existe pas, ajoutez-le en utilisant le gestionnaire de paquets synaptic ou la commande en ligne apt-get install proftp. 6)Installez le programme serveur « apache2 ». Vérifiez son fonctionnement avec la commande /etc/init.d/apache2 status.Testez-le avec un client http comme mozilla ou konqueror en pointant le navigateur sur http://localhost. Arrêtez le processus apache2 selon la méthode de votre choix. Exo-5 On considère l'exécution de 4 processus p1,p2,p3,p4 et on souhaite déterminer la durée d'exécution moyenne sachant que les durées individuelles sont p1 : 40ms, p2 : 60ms, p3 : 30ms, p4 : 45ms *Une perte de 5ms est liée au passage d'une tâche à une autre(en moyenne). 1)Déterminer la durée totale dans un système séquentiel(exécution des processus les uns après les autres) 2)Déterminer la durée totale moyenne si chaque tâche dispose d'un quantum de 30ms pour s'exécuter. On suppose que l’ordre d’exécution est le suivant : p3,p2,p1,p4 Exo-6 Ecrire un programme dans le langage de votre choix, recherchant le nombre de 5 sur a) un tableau de 2500 valeurs b) un tableau de 400 000 valeurs c) un tableau de 900 000 valeurs - Vous déterminerez dans chaque cas la durée de la recherche *Pour générer le tableau, faire un tirage aléatoire de nombres compris entre 0 et 9.