Université Lyon 1
Arqus
Accueil  >>  Système d'exploitation
  • Unité d'enseignement : Système d'exploitation
Nombre de crédits de l'UE : 3
Code APOGEE : INF3046L
    Responsabilité de l'UE :
LOUVET NICOLAS
 nicolas.louvetuniv-lyon1.fr
04.72.43.16.56
 gregoire.pichonuniv-lyon1.fr
ZARA FLORENCE
 florence.zarauniv-lyon1.fr
04.72.43.19.75
 nicolas.louvetuniv-lyon1.fr
    Contact scolarité :
LOUVET NICOLAS
 nicolas.louvetuniv-lyon1.fr
04.72.43.16.56
    Type d'enseignement
Nb heures *
Cours Magistraux (CM)
7.5 h
Travaux Dirigés (TD)
6 h
Travaux Pratiques (TP)
16.5 h

* Ces horaires sont donnés à titre indicatif.

    Pré-requis :
  • Être à l'aise avec l'utilisation de la ligne de commande (Shell) sous GNU/Linux.
  • Être à l'aise en algorithmique et avec la programmation en C/C++.
  • Savoir utiliser un compilateur C/C++ en ligne de commande, et utiliser GNU Make.
Pour les étudiants du portail Maths-Info, et plus généralement de Lyon 1, il est recommandé d'avoir suivi :
  • l'UE "Unix" en L1,
  • l'UE "Algorithmique programmation impérative, initiation" en L1,
  • l'UE "Algorithmique, programmation et structures de données" en L2 .
    Compétences attestées (transversales, spécifiques) :
  • Choisir une structure de données pertinente.
  • Dérouler un algorithme.
  • Programmer un logiciel implémentant une spécification fonctionnelle et technique.
  • Décrire les éléments constitutifs d’un ordinateur et de son système d’exploitation (Unix et Windows).
  • Programmer de petites applications multi-processus ou multi-threads.
  • Distinguer les modèles importants pour la programmation système (par exemple fork-join, producteurs-consommateurs, lecteurs-rédacteurs).
  • Analyser et interpréter les résultats produits par l'exécution d’un programme.
  • Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur.
  • Travailler sur une machine distante.
  • Interpréter (à la main et via un programme) un code écrit dans un langage.
    Programme de l'UE / Thématiques abordées :
Le système d'exploitation est l'interface entre le matériel et les applications informatiques. Il est donc crucial que les futurs informaticiens connaissent les différentes fonctions que doit remplir un système d'exploitation, et sachent les exploiter au mieux, que ce soit en tant qu'utilisateur, administrateur, ou programmeur.

Nous aborderons les notions de base des systèmes d'exploitation : système de fichiers, processus, communication entre processus et gestion de la mémoire. Ces notions seront à chaque fois appliquées, soit au travers des primitives de programmation POSIX en C, soit via l'utilisation d'outils en ligne de commande. Les étudiants travailleront sous GNU/Linux, comme modèle de système Unix ; nous prendrons aussi quelques exemples issus du système Windows.

Pour entrer dans plus de détails, nous aborderons dans l'UE les points suivants :
  • Présentation des ressources, notion de protection et de mode noyau ou utilisateur.
  • Les différents types de fichiers, les primitives pour les manipuler, et des exemples de systèmes de fichiers.
  • La notion de processus, la création, la terminaison et le recouvrement de processus.
  • Des méthodes de communication entre processus :  variables d'environnement, signaux, tubes.
  • Les sockets et le modèle client-serveur, comme méthode de communication entre processus distants.
  • Des notions sur la gestion virtuelle de la mémoire par pagination.
Date de la dernière mise-à-jour : 22/11/2021
SELECT MEN_ID, `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`, `PAR_ID` FROM parcours INNER JOIN ue_parcours ON PAR_ID_FK=PAR_ID INNER JOIN mention ON MEN_ID = PAR_MENTION_FK WHERE PAR_ACTIVATE = 0 AND UE_ID_FK='16372' ORDER BY `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`