Séquence de démarrage : de l’initialisation aux processus utilisateur.
Abstractions fournies par le système : accès au matériel, répartition équitable des ressources, accès aux fichiers (dont open, read, write et close).
Liens entre système d’exploitation et applications : adressage physique et virtuel, notion de pagination, MMU, interruptions, appels systèmes, gestion des processus (dont fork, wait, waitpid), gestion du temps (ticks et implémentation du temps partagé).
Isolation et interaction entre les processus : espace mémoire d’une application, communication entre applications (pipe, mmap).
Concurrence : modèles de cohérence (forte, faible, PRAM et au relâchement) et d’équité. Construction des mutex et sémaphores à partir des instructions atomiques test and set. Schéma lecteurs rédacteurs.
Émulation et virtualisation : types d’hyperviseurs (natif, hébergé) et conteneur.