ISIMA 1e année (ZZ1) 2e semestre     Université Blaise Pascal
Systèmes d'Exploitation     Année universitaire 2015-2016

Modalités : Interdiction de tout document, téléphone et autre dispositif numérique.   Ecrire et rédiger très lisiblement et soigneusement.   Le sujet contient trois exercices indépendants sur deux pages.   Pour les deux derniers exercices, préciser dans un commentaire du script les numéros des questions auxquelles vous avez répondu.
Durée : une heure.


SYSTEMES D'EXPLOITATION   –   EXAMEN DE PREMIERE SESSION   –   mardi 14 juin 2016

Exercice 1 (cours de systèmes)
Qu'appelle-t-on BOM, à quoi cela sert-il ?
Quel problème cela peut-il poser quand un document produit sous un système d'exploitation est utilisé sous un autre système ?

Exercice 2
Sous Shell Unix/Linux, créer un script affichant un menu et gérant les actions associées, comme précisé ci-dessous.
  1. Le menu à afficher est :
    -- MENU --
    0 : quitter
    1 : saisir un nom
    2 : chercher des fichiers
    3 : compter le nombre de lignes d'un fichier
    4 : compter le nombre de motif dans un fichier
    Votre choix ?
  2. L'utilisateur devra choisir une saisie entre 0 et 4, toute autre saisie sera ignorée.
  3. Le script réalisera alors l'instruction correspondante :
  4. Après l'action correspondant à un choix autre que 0, le script doit réafficher le menu.
  5. Comment ferait-on pour que l'action 1 du menu soit contenu dans un script séparé qui soit appelé par le script principal ?
    N.B. On ne demande pas d'intégrer cette question dans le script.

Exercice 3
Sous Windows PowerShell, créer un script répondant aux questions suivantes. Ce script utilisera chaque fois que possible les alias de commandes semblables aux commandes de Shell Unix.
  1. Le script utilisera trois paramètres ; s'il y en a moins il affichera, avant de terminer, le message :   trois paramètres attendus !
    Sinon, le premier paramètre sera placé dans une variable nommée jour, le second dans mois, et le troisième dans annee. Les paramètres excédentaires seront ignorés.
  2. Le script effectuera les vérifications de conformité (utiliser selon besoin read-host) sur les trois variables précitées :
    jour compris entre 1 et 31,
    mois compris entre 1 et 12, et jour jusqu'à 28 ou 30 ou 31 selon le mois,
    annee de 0 à 9999.
       N.B. Pour simplifier, on ignorera la possibilité du 29 février pour les années bissextiles.
  3. S'il y a une erreur, le script affichera précisément sa nature. Il affichera ensuite un menu donnant à l'utilisateur la possibilité de modifier les trois variables jusqu'à obtention d'une date valide.
    N.B. On ne demande pas de modifier seulement une ou deux valeurs fautives, mais toujours les trois ensemble.
  4. Quand la date est conforme, le script affichera cette date sous la forme   date: 14/5/2016.
  5. Comment ferait-on pour contrôler que la variable jour est bien de type entier ?
    N.B. On ne demande pas d'intégrer cette question dans le script.