TD2-SYSTEME

publicité
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.
Téléchargement