Explore les écueils de concurrence primitives, d'exclusion mutuelle et de synchronisation dans les systèmes d'exploitation, en mettant l'accent sur les variables de condition et les sémaphores.
Couvre les bases de la programmation parallèle, y compris la concurrence, les formes de parallélisme, la synchronisation et les modèles de programmation tels que PThreads et OpenMP.
Explore l'importance de la synchronisation sans verrouillage pour obtenir une faible latence dans les systèmes distribués et discute des solutions pratiques pour la génération d'identificateurs uniques et les files d'attente de messagerie.
Explore les mécanismes de synchronisation évolutive pour de nombreux systèmes d'exploitation de base, en mettant l'accent sur les défis de la gestion de la croissance des données et des régressions dans le système d'exploitation.
Couvre l'abstraction des threads dans les systèmes informatiques, en se concentrant sur la concurrence, le parallélisme et la gestion des threads à l'aide de l'API POSIX.
Couvre les primitives de verrouillage nécessaires pour empêcher les conditions de course dans la programmation multithread, en se concentrant sur l'exclusion mutuelle et les opérations atomiques.
Explore le parallélisme dans la programmation, en mettant l'accent sur les compromis entre la programmabilité et la performance, et introduit la programmation parallèle en mémoire partagée à l'aide d'OpenMP.
Explore la synchronisation sans verrouillage pour des performances et une évolutivité dans les systèmes distribués, couvrant la génération d'identifiants uniques, les files d'attente de messagerie et les lectures RDMA atomiques.
Explore le concept de verrouillage pour l'exclusion mutuelle dans le système d'exploitation, couvrant les conditions de race, le parallélisme, les instructions atomiques, la prévention de l'impasse et les meilleures pratiques.
Explore la cohérence de la mémoire, la cohérence, la faible cohérence et la cohérence séquentielle, en soulignant l'importance de la cohérence au niveau du langage et de la programmation sans course aux données.