Vous êtes sur la page 1sur 4

ECOLE NATIONALE DES SCIENCES DE L'INFORMATIQUE : : : : Int.

Sys et Util de base Devoir Surveill 2 heures non autoriss

ANNEE UNIVERSITAIRE 2009/10 : 10 Avril 2010 : : 6 : CLASSE :

NOM & PRENOM :

Questions 1 (10 points 1,5*4+4*1)


1. - Quelles sont les principales activits dun systme dexploitation relatives la gestion des processus? allouer de la mmoire aux processus qui en ont besoin rcuprer la mmoire utilis par un processus Allouer le microprocesseur aux diffrents processus qui en ont besoin 2. Quelles sont les principales activits dun systme dexploitation relatives la gestion de la mmoire ? rpartition de la mmoire disponible entre les diffrents processus actifs et lensemble des utilisateurs prsents (notion de scurit rciproque des tches), localisation maintien des donnes pour chaque processus, maintien de lintgrit de certains espaces rservs (zones mmoires utilises pour les entres/sorties par exemple), gestion de la pagination de la mmoire, utilisation de mmoire virtuelle. 3. Dans les langages symboliques (langages dassemblage), il existe des dclaratives, qui ne sont pas proprement parler des instructions - elles n'engendrent pas de code binaire excutable- mais servent plutt titre pour les diffrents utilitaires qui vont traiter le programme source afin de produire un programme objet excutable". Pour illustrer cette phrase prsenter trois directives de votre choix et monter pour chacune d'elles son rle, sa porte dans la chane de production de l'objet (assemblage, dition de liens, chargement, excution), la forme sous laquelle elle est transmise d'un utilitaire au suivant. Orig segment IMPORT/EXPORT systme : chargement Assemenleur Editeur de liens

4. Expliquer les diffrentes faons dcrire une liste de commandes avec le Bourne shell. ; excution squentielle & excution asynchrone | tube && excution de la partie droite conditionne par un code de retour nul de ce qui prcde; de priorit plus forte que & et ; || excution de la suite conditionne par un code de retour non nul de ce qui prcde; priorit plus forte que && 5. Expliquez, en donnant des exemples adquats en shell, ce quest une redirection dentre/sortie standard. Par dfaut un processus lit partir du standard input et crit dans le standard output et crit ses erreurs sur la sortie derreur. Pour devier lentre/sortie on utilise la redirection : ls > out.txt 2>erreur Lister le contenu du rpertoire courant dans le fichier out.txt

cat <input.txt >output.txt

Lit partir de input.txt et crit dans output.txt

6. Expliquez le rle dun tube entre deux commandes. Donnez un exemple dutilisation de ce tube, puis son quivalent en nutilisant que des redirections. Les tubes sont utiliss pour relier 2 commandes entre elles. La sortie standard de la commande `a gauche du symbole sera utilise comme entre standard de la commande de droite. who|wc l who>temp ;wc l <temp ;rm temp

7. Quelle est la diffrence entre "Multiprogrammation" et "Multitches". Quelle est la motivation pour le dveloppement de ces 2 aspects? La multiprogrammation est le fait quon peut lacer une application alors quune autre est en attente. Lun aprs lautre Un systme multitaches permet dexcuter plusieurs applications dune manire pseudo-parallle (Partage du microporcesseur sur les diffrents processus). simultanment La motivation est lutilisation optimale des ressources et en particulier du microprocesseur. 8. Expliquez comment sous Bourne shell, il est possible denrichir son environnement et comment on peut transmettre des variables denvironnement entre des appels de shell. En agissant sur les variables prdfinies (HOME, PATH, PS1, ) et en dfinissant dautres variables dont les valeurs peuvent tre exporter aux autres processus en utilisant la commande export.

Exercice 1 (5 points ):
Lensemble des questions qui suivent supposent la squence suivante dune session de travail. $ ls - l /usr drwxr-xr-x root drwxr-xr-x public drwxr-xr-x oms $ pwd /usr/bin $ ls -l -rwxr-xr-x root -rwxr-xr-x root -rwxr-xr-x root $ cd ../public ; ls drwxr-xr-x public drwxr-xr-x pubic $ ls prog add.c getprnt cmd makset.c common prio.p dodash.c temp ex.c temp1 fileset.p temp2 $ cat prog/cmd ls *.c rm temp? ls tem* cat x* |wc -l $ cat prog/getprnt bin public oms

wc grep who prog doc temp3aa temps trans.c xindex.c xlate.c

ls /usr/bin > temp0 pr temp0 > /dev/lp rm temp0 $ exit 1) Construire larborescence du systme telle quelle apparait dans cette session. |--usr |--bin |--wc |--grep |--who |--public |--prog |--add.c |--cmd |--common |--dodash.c |--ex.c |--fileext.p |--getprnt |--makset.c |--prio.p |--temp |--temp1 |--temp2 |--temp3aa |--temps |--trans.c |--xindex.c |--xlate.c |--doc |--oms 2) Lutilisateur public peut-il crer un fichier sous le rpertoire /usr/bin ? Peut-il modifier le fichier /usr/bin/grep ? Lutilisateur public ne peut pas modifier le rpertoire /usr/bin . Le propritaire du rpertoire est lutilisateur root et le groupe de root ainsi que les autres utilisateurs nont pas le droit dcriture sur le rpertoire. Lutilisateur public ne peut pas modifier le fichier /usr/bin/grep . Le propritaire du fichier est lutilisateur root et le groupe de root ainsi que les autres utilisateurs nont pas le droit dcriture sur le fichier. 3) Quel est leffet des commandes suivantes excutes squentiellement si on est lutilisateur public et lon se trouve dans le rpertoire prog ?
chmod +x cmd bash cmd & ./cmd

Lutilisateur public reoit le droit dexcution de la commande cmd. La commande cmd sexcute 2 fois en parallle. Chaque excution aura pour effet de :

Lister les fichiers add.c, dodash.c, ex.c, makset.c, trans.c, xindex.c, xlate.c Suppression des fichiers temp1, temp2, temps sils existent toujours Lister les fichiers temp, temp3aa Afficher le total des nombres de ligne des fichiers xindex.c et xliate.c

3) Peut-on rcrire autrement le script /usr/public/prog/getprnt dont les commandes ne forment quun tout de point de vue smantique ? Si oui, comment ? ls /usr/bin | pr > /dev/lp 5) Lutilisateur oms veut crer un fichier .profile dans lequel il y a : - une dfinition de lmulation de son terminal en mode xterm, - une description du chemin de recherche aux fichiers excutables, - une demande daffichage la date du jour, - une demande de la liste des utilisateurs connects la machine. Quelles sont les commandes contenues dans ce fichier ? TERM=xterm export TERM PATH=/usr/bin:/usr/public/prog export PATH date who

Exercice 2 (5 points):
Ecrire un script en shell qui permet de traiter ses arguments dappel qui sont supposs ntre que des fichiers ordinaires. Le script doit considrer tous les cas d'exceptions (au moins un argument d'appel, les arguments sont des fichiers ordinaires) pour retourner les bons messages derreur. Il doit par ailleurs afficher le nombre de lignes que contient chacun des fichiers traits ainsi que le nombre total de lignes trouv pour l'ensemble de ces fichiers.
#! /bin/sh if [ $# -eq 0 ] then echo "il faut donner au moins un fichier comme paramtre" else totalligne=0 for file in $* do if [ -f $file ] then nrligne=`wc -l $file | cut -d' ' -f1` totalligne=`expr $totalligne + $nrligne` echo "le fichier $file contient $nrligne ligne(s) " else echo "le paramtre $file n'est pas un fichier ordinaire" fi done echo "Le total de nombre de ligne est $totalligne" fi