But du cours
L'objectif de ce cours est de fournir les connaissances de bases sur les systèmes d'exploitation, leur utilisation, les différents utilitaires et sur les scripts d'automatisation des tâches.
Acquis d'apprentissage visés
Déployer et administrer manuellement des services
Prérequis
Pas de pré-requis
Programme
- Modes d’exploitation et fonctions d’un système d’exploitation
- Les processus : représentation, opérations, processus légers (threads Unix et Java), processeur : commutation d’états, interruptions.
- Synchronisation et concurrence : le problème d’exclusion mutuelle, sémaphore, moniteur, problèmes classiques d’exclusion mutuelle et de synchronisation, programmation concurrente en CSP, Java.
- Gestion de l’information : édition des liens, pile d’exécution.
- Gestion de la mémoire centrale : gestion par zones, pages, segments.
- Gestions des fichiers : mode d’accès séquentiel, accès direct, hash-coding.
- La gestion des utilisateurs : Login, commandes de base, Groupes et identification des utilisateurs
- Le système de gestion des fichiers : les concepts, les protections, principales commandes pour la gestion des fichiers et des répertoires, la gestion des périphériques disques.
- La gestion des utilisateurs et des processus : comprendre la gestion des droits et des priorités sous Unix, états et gestion courante des processus.
- Commandes avancées : Redirections, piping, Sed, awk, regexp ....
- Le shell : Les différents shells, Les variables d’environnement, L’écriture de script.
- Exploitation en réseau : X11, commandes réseau standard (traceroute, ping, nmap, ...).
Modalités d'évaluation
Contrôles continus et évaluations pratiques.
Bibliographie
- Operating Systems: Three Easy Pieces. Remzi H Arpaci-Dusseau, Andrea C Arpaci-Dusseau (2020)
- Operating System Concepts (Tenth Edition). Abraham Silberschatz, Peter B. Galvin, Greg Gagne (2018)
Supports
Diaporamas et fiches de travaux dirigés.