Initier aux principaux concepts reliés aux systèmes d'exploitation des ordinateurs. Étudier les concepts fondamentaux des systèmes d'exploitation, à l'aide d'exemples pratiques et simulés. Introduction à Linux et aux commandes de base dans le terminal. Gestion des processus sous Linux.
Historique et composantes principales des systèmes d'exploitation. Gestion des processus : définition et concept, modèles de processus, états des processus, modes d'exécutions du CPU, clonage en Linux. Threads : définition et concept, multithreading, avantages, threads niveau utilisateur et niveau kernel. Synchronisation : situation de course, exclusion mutuelle, mécanismes de synchronisation, sémaphores, problèmes classiques de synchronisation. Interblocage : diagrammes de trajectoire des ressources, graphe d'allocation des ressources, gestion, prévention et détection des interblocages. Ordonnancement : long-terme, moyen-terme (swapping) et court-terme (dispatcher), priorités, politiques d'ordonnancement, ordonnancement multiprocesseur et multicœur. Mémoire : concepts-clés, partitionnement simple et dynamique, mémoire virtuelle, pagination, segmentation, traduction des adresses, tables de page. Gestion de la mémoire : algorithmes de remplacement des pages. Systèmes de fichiers et entrées/sorties : gestion de la mémoire secondaire, DMA, accès aux disques. Illustration pratique et application des notions en C++.
Préalable(s): (8INF259)
Formule pédagogique : Magistral et/ou formation à distance
0711 | Programme court de premier cycle en informatique pour étudiants en séjour d'études |
6596 | Baccalauréat en développement de jeux vidéo |
7833 | Baccalauréat en informatique |
7943 | Baccalauréat en génie informatique |
Groupe 01 (CHICOUTIMI JOUR) - OUVERT
du | mardi | 27-08-2024 | au | mardi | 10-12-2024 | de | 08:00 | à | 10:45 | Local: | P0-4030 | |
du | jeudi | 29-08-2024 | au | jeudi | 12-12-2024 | de | 08:00 | à | 10:45 | Local: | P1-6150 | (travaux dirigés) |