Flashcards : Introduction à la concurrence — 41 cartes

Toutes les cartes

1Question

Qu'est-ce que la programmation concurrente ?

Réponse

Exécuter plusieurs processus sur un même ordinateur en organisant ressources et synchronisation.

2Question

Quelle formule donne le nombre de scénarios possibles pour n acteurs et p actions ?

Réponse

S=(n×p)!(p!)nS=\frac{(n\times p)!}{(p!)^n}

3Question

Qu'est-ce qu'un processus en informatique ?

Réponse

Une abstraction représentant un programme en cours d'exécution avec son contexte.

4Question

Quelles parties du contexte d'exécution un processus comprend-il ?

Réponse

La mémoire, les registres et les descripteurs d'entrées-sorties.

5Question

Qu'est-ce qu'un thread dans un processus ?

Réponse

Une unité d'exécution avec ses propres registres et pile.

6Question

Quelle ressource un thread partage-t-il avec les autres threads du même processus ?

Réponse

La mémoire.

7Question

Quels sont les trois états de base d'un processus ou thread ?

Réponse

Actif, en attente et prêt.

8Question

Qu'est-ce qu'une dépendance en programmation ?

Réponse

Un état de données ou de contrôle devant être atteint avant l'exécution d'une partie du programme.

9Question

Qu'exigent les Conditions de Bernstein pour l'exécution parallèle de deux sous-programmes ?

Réponse

Que leurs ensembles d'écritures soient disjoints et qu'aucune écriture ne recouvre une lecture de l'autre.

10Question

Qu'est-ce que l'atomicité en informatique ?

Réponse

La propriété d'une séquence d'opérations qui se comporte comme une opération indivisible.

11Question

Que garantit l'exclusion mutuelle dans un programme multithread ?

Réponse

Qu'un seul thread est dans une section critique à un instant donné.

12Question

Qu'est-ce qu'une condition de course en programmation parallèle ?

Réponse

Un résultat dépend de l’ordre relatif d’arrivée à un point critique.

13Question

Quelles conditions réunies peuvent provoquer un interblocage selon Coffman 1971 ?

Réponse

Exclusion mutuelle, attente avec conservation, absence de préemption, attente circulaire.

14Question

Qui a défini l'interblocage en 1971 ?

Réponse

Edward G. Coffman, Jr.

15Question

Quelle exigence différencie la vivacité de la famine ?

Réponse

La vivacité exige un progrès régulier ou une fin des threads.

16Question

Qu'est-ce que la famine dans le contexte des threads ?

Réponse

Un thread cesse de progresser à cause des autres.

17Question

Qu'est-ce qu'un sémaphore entier selon Dijkstra ?

Réponse

Une primitive de synchronisation avec un compteur entier et une file de threads bloqués.

18Question

Quelles opérations manipulent un sémaphore entier ?

Réponse

Init, P et V.

19Question

Que fait l'opération Init(n) sur un sémaphore ?

Réponse

Elle initialise le compteur à n et vide la file.

20Question

Que réalise l'opération P sur un sémaphore ?

Réponse

Elle décrémente le compteur et bloque le thread si le compteur devient négatif.

21Question

Que réalise l'opération V sur un sémaphore ?

Réponse

Elle incrémente le compteur et débloque un thread en attente si nécessaire.

22Question

Qu'est-ce qu'un verrou en synchronisation ?

Réponse

Un mécanisme où lock acquiert l'accès et unlock le libère, bloquant les autres threads.

23Question

Quelles sont les trois étapes de la recherche de la concurrence ?

Réponse

Identifier les tâches concurrentes, décomposer les données, décrire les dépendances.

24Question

Qu'est-ce qu'un pipeline en algorithmique ?

Réponse

Un pipeline relie des étapes de calcul selon un schéma de communication fixe.

25Question

Que permet l'exécution simultanée dans un pipeline rempli ?

Réponse

Les étapes s’exécutent simultanément sur des données différentes.

26Question

Comment fonctionne le patron fork-join ?

Réponse

Il commence avec un thread, crée des threads supplémentaires, puis les rejoint avant de poursuivre.

27Question

Quel rôle joue le thread maître dans le patron master-worker ?

Réponse

Il gère une file de tâches à distribuer aux travailleurs.

28Question

Que font les threads travailleurs dans le patron master-worker ?

Réponse

Ils prennent une tâche, l’exécutent, puis en cherchent une autre jusqu’à la fin.

29Question

Dans quels domaines la concurrence apparaît-elle notamment ?

Réponse

Dans les systèmes d’exploitation, systèmes distribués, interfaces utilisateur et calcul scientifique.

30Question

Pourquoi les affectations de x et y doivent-elles précéder le calcul de z dans z=x+y ?

Réponse

Parce que les valeurs de x et y doivent être définies avant leur lecture pour calculer z.

31Question

Comment se comporte une implémentation thread-safe avec plusieurs threads ?

Réponse

Elle se comporte correctement.

32Question

Comment se comporte une implémentation non thread-safe avec plusieurs threads ?

Réponse

Elle peut se comporter de manière incorrecte et imprévisible.

33Question

Qu'est-ce qu'un livelock en informatique ?

Réponse

Un cycle infini où le programme s’exécute sans progresser.

34Question

Qu'est-ce que le non-déterminisme dans les systèmes parallèles ?

Réponse

Une propriété où résultat ou ordre d’exécution peuvent varier sans problème.

35Question

Qu'est-ce qu'un mutex ?

Réponse

Un sémaphore booléen avec un protocole d'héritage de priorité.

36Question

Comment fonctionne l'héritage de priorité dans un mutex ?

Réponse

La priorité du détenteur augmente à celle du thread en attente plus prioritaire jusqu'à libération.

37Question

Que décrit un patron de conception selon Christopher Alexander ?

Réponse

Un problème récurrent et le cœur d’une solution réutilisable.

38Question

Dans quel ouvrage Christopher Alexander a-t-il défini le patron de conception ?

Réponse

A Pattern Language.

39Question

Comment le patron SPMD utilise-t-il l'identifiant appelé rang ?

Réponse

Le rang influence le chemin d’exécution des copies du programme.

40Question

Que lance le patron SPMD ?

Réponse

Plusieurs copies d’un même programme avec des vues différentes des données.

41Question

Qu'est-ce que la coordination événementielle en algorithmique ?

Réponse

Des tâches s’exécutent concurremment en réponse à des événements dans une file.

Teste-toi avec le QCM

Teste tes connaissances avec un QCM de 20 questions sur Introduction à la concurrence.

1. Que caractérise la programmation concurrente dans un système informatique ?

2. Deux acteurs exécutent chacun trois actions séquentielles. Combien de scénarios d’entrelacement différents sont possibles ?

Faire le QCM →

Consultez la fiche

Révisez le cours complet dans la fiche de révision de Introduction à la concurrence.

Voir la fiche →

Cours similaires

Crée tes propres flashcards

Importe ton cours et l'IA génère des flashcards en 30 secondes.

Générateur de flashcards