Bonjour,

Voilà mon problème et merci à ceux qui me répondront :
Je dois faire un programme en c utilisant des sémaphores pour synchroniser l'affichage alternée à l'écran de 2 processus.

Donc si j'ai bien compris :
Les sémaphores doit protéger l'accès à l'écran.
La ressource partagée est dans ce cas l'écran.

Pour le partage d'un segment de mémoire, le processus père créer le segment de mémoire ensuite pour accéder à ce segment tous processus doit s'y attacher et se détacher après. Enfin le processus créateur du segment le détruira.

Maintenant si je veux par exemple créer un segment de mémoire partagée contenant un entier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
        int *cpt;
        ...
	// Création de segment mémoire patagée
	if((idshm = shmget(cle, sizeof(int), IPC_CREAT | 0666)) == -1)
		die("shmget");
 
	// Attachement
	if((cpt = (int *) shmat(idshm, NULL, 0)) == NULL)	// Renvoie l'@ du segment partagé attacher
		die("shmat");
        ...
Les processus accèdent à la ressource partagée en utilisant *cpt.

Ma question est comment créer une ressource partagée qui est l'écran?

Merci.