Programme des cours 2024-2025
BINV1060-1  
Introduction aux systèmes d'exploitation
  • Introduction à Linux
  • OS : théorie
Durée :
Introduction à Linux : 24h Pr
OS : théorie : 24h Th
Nombre de crédits :
Bachelier en informatique, orientation développement d'applications (Bachelier en informatique, orientation développement d'application)5
Nom du professeur :
Introduction à Linux : Anthony LEGRAND
OS : théorie : Grégory SERONT
Coordinateur(s) :
Anthony LEGRAND, Grégory SERONT
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au deuxième quadrimestre
Unités d'enseignement prérequises et corequises :
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement :
Ce cours technique propose une introduction aux systèmes d'exploitation (OS). La compréhension des mécanismes internes et des commandes des OS permet à l'informaticien :
 
- d'écrire des programmes plus performants en tenant compte des impacts au niveau de l'OS des actions du programme ;
- d'aborder la programmation concurrente dans les unités d'enseignement avancées de programmation du bloc 2 ;
- d'aborder la programmation système dans les activités d'apprentissage de Linux du bloc 2.
- d'utiliser un système Linux en ligne de commande, de manipuler les fichiers et les processus, d'utiliser les commandes de base afin d'effectuer des traitements, et de créer des scripts.
- de visualiser (en partie) l'état et le fonctionnement internes de l'OS en lien avec les commandes shell
Introduction à Linux
  • Le système de fichiers
  • Le shell Bash
  • Les commandes de bases
  • La gestion des processus
  • L'écriture de scripts bash
     
OS : théorie
  • Les appels systèmes
  • Les processus
  • La gestion des entrées sorties
  • La gestion de la mémoire
  • Les systèmes de fichiers
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
Théorie des systèmes d'exploitation

  • Décrire le fonctionnement interne d'un système d'exploitation en ce qui concerne :
             - Les processus
             - La gestion des entrées sorties
             - La gestion de la mémoire
             - Les systèmes de fichiers

  • Déterminer l'impact des actions de l'utilisateur d'un OS ou d'un programme sur l'état interne de l'OS pour les actions suivantes :
             - Lancement d'un programme en ligne de commande
             - Création, lecture/écriture d'un fichier
             - Lecture sur un périphérique
             - Lecture/écriture mémoire en présence de mémoire virtuelle

  • Calculer la performance des opérations suivantes en fonction des caractéristiques du matériel, des algorithmes utilisés et des paramètres de l'OS (taille des caches, taille des blocs disques, quantum de temps d'ordonnancement, etc) :
                     - Lecture sur disque (avec et sans cache)
                     - Envoi de paquets à travers un réseau point à point
                     - Lecture/écriture mémoire en présence de mémoire virtuelle


Introduction à Linux

  • Utiliser les outils de base du shell bash (dont les redirections).
  • Utiliser les commandes de bases pour manipuler le système de fichiers Linux.
  • Gérer les droits d'accès des fichiers et répertoires.
  • Utiliser la commande find.
  • Utiliser la commande grep et les expressions régulières.
  • Gérer les processus utilisateurs.
  • Rédiger des scripts bash de base.
  • Concevoir un script bash avec des conditionnelles et des répétitives afin d'automatiser une tâche système.
 

Compétence(s) - Capacité(s):

CO2 - Collaborer à la conception, à l'amélioration et au développement de projets
CA2.c - Rechercher et utiliser les ressources adéquates

CO5 - Mobiliser les savoirs et les savoir-faire lors du développement d'applications
CA5.a - Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies
CA5.c - Utiliser et exploiter des méthodes de modélisation lors de la phase d'analyse pour traduire les besoins des utilisateurs, sous forme d'un cahier de charges Concevoir, implémenter, administrer et utiliser avec maîtrise un ensemble structuré de données

CO6 - Analyser les données utiles à la réalisation de sa mission en adoptant une démarche systémique
CA6.f - Soigner l'ergonomie des applications

 
Acquis d'apprentissage(s) terminaux visé(s):

- Acquis d'apprentissage terminaux : AAT1. Concevoir des solutions informatiques efficaces qui répondent à des problèmes en maitrisant les structures de données véhiculées. CA5.a ; CA5.c ; CA6.e * PROGRAMMATION (AAT1)

- Acquis d'apprentissage terminaux : AAT3. Administrer un système de réseau d'entreprise, ses utilisateurs, ses ressources matérielles et l'infrastructure informatique, en tenant compte des aspects sécurité ; CA2.c * Administration système (AAT3)

 
Introduction à Linux
 / 
Savoirs et compétences prérequis :
Activités d'apprentissage prévues et méthodes d'enseignement :
Activités          Intitulé de l'activité                             Volume horaire BINV1060 A       Théorie des systèmes d'exploitation                 24 BINV1060 B       Introduction à Linux                                       24
Introduction à Linux
Le cours se compose de séances de 2 heures données pendant 12 semaines. Les cours débutent par une brève introduction théorique. Les étudiants sont ensuite amenés à répondre à un questionnaire en testant leurs réponses sur un système Unix/Linux. Des solutions seront présentées en cours de séances.  
Mode d'enseignement (présentiel, à distance, hybride) :
Introduction à Linux
Présentiel: - exposés ex cathedra pour expliquer les principes théoriques. - exercices pratiques sur machine pour mettre en oeuvre la théorie.
OS : théorie
L'activité est constituée d'un cours théorique suivi immédiatement par des exercices « papiers ». Ceux-ci permettent de renforcer la contextualisation de la matière par des calculs de performances, et des dessins de structures de données. Il s'agit d'une séance de 2h durant 12 semaines.
 
Lectures recommandées ou obligatoires et notes de cours :
Introduction à Linux
Support(s):



  • Les diapositives du cours, les fiches d'exercices et leurs solutions seront publiées sur Moodle.
Référence(s):



  • Des références en ligne seront communiquées durant le cours.
OS : théorie
Support(s):
  • Power Point, photocopies distribuées aux cours.
Référence(s):
  • Systèmes d'exploitation d'A. Tanenbaum - Pearson - Dernière édition
Modalités d'évaluation et critères :
Responsable de l'évaluation: LEGRAND Anthony
 
Langue de l'évaluation: Français
 
Mode d'évaluation: Examen écrit (juin et septembre)

Pour chaque AcAp, l'évaluation sera basée sur un examen sur machine éventuellement accompagné d'un formulaire papier.
 
Pondération des évaluations:

OS: théorie  50%

Introduction à Linux  50%

La note de l'UE sera par défaut la moyenne géométrique pondérée des notes obtenues aux évaluations de chacune des AcAp.

Bien qu'elles abordent toutes deux le fonctionnement des systèmes d'exploitation, les activités d'apprentissage (Acap) BINV1060 A et BINV1060 B sont évaluées distinctement en raison de la nature différente des sujets abordés : le shell Linux d'une part et la théorie des systèmes d'exploitation d'autre part.

 

 

 
Introduction à Linux
Evaluation intégrée : cf. section Evaluation de l'UE

Une ou plusieurs activités préparatoires à l'examen seront organisées.
OS : théorie
Un examen écrit intégré de l'UE sera organisé (voir fiche de l'UE).
Stage(s) :
Remarques organisationnelles :
Lors du calcul de la moyenne arithmétique pondérée du PAE d'un étudiant, ainsi que du calcul de la moyenne arithmétique pondérée globale de son cursus, le poids associé à la note de la présente UE est son nombre d'ECTS.
Contacts :
anthony.legrand@vinci.be
gregory.seront@vinci.be
Introduction à Linux
anthony.legrand@vinci.be