"depot M311"
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
///************************************************/
|
||||
///* imprimer : Ce programme illustre le principe */
|
||||
///* du partage de temps de LINUX ... */
|
||||
/**************************************************/
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
void imprimer (int unNombre, char unCar)
|
||||
{
|
||||
int i;
|
||||
for (i=0; i<unNombre; i++) printf ("%c", unCar);
|
||||
}
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int nb, res;
|
||||
assert (argc == 2);
|
||||
nb = atoi (argv[1]);
|
||||
res = fork();
|
||||
if (res == -1)
|
||||
{
|
||||
perror ("fork");
|
||||
exit (1);
|
||||
}
|
||||
if (res == 0)
|
||||
{
|
||||
imprimer (nb, '/');
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
imprimer (nb, '*');
|
||||
return 0;
|
||||
}
|
||||
}
|
@@ -1,37 +0,0 @@
|
||||
///***************************************************/
|
||||
///* s_critique : Ce programme illustre le blocage */
|
||||
///* du partage de temps de LINUX avec un semaphore. */
|
||||
///***************************************************/
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
void imprimer (int unNombre, char unCar)
|
||||
{
|
||||
int i;
|
||||
for (i=0; i<unNombre; i++) printf ("%c", unCar);
|
||||
}
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/// FINIR ///
|
||||
|
||||
int nb, res;
|
||||
assert (argc == 2);
|
||||
nb = atoi (argv[1]);
|
||||
res = fork();
|
||||
if (res == -1)
|
||||
{
|
||||
perror ("fork");
|
||||
exit (1);
|
||||
}
|
||||
if (res == 0)
|
||||
{
|
||||
imprimer (nb, '/');
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
imprimer (nb, '*');
|
||||
return 0;
|
||||
}
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
///******************************************************************/
|
||||
///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */
|
||||
///* Module M311 Theme IPC POSIX */
|
||||
///******************************************************************/
|
||||
///* shm_add.c : voir enonce */
|
||||
///* UTILISATION : commande nom_segment */
|
||||
///* Utiliser ls -l /dev/shm et rm /dev/shm/... */
|
||||
///******************************************************************/
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
int main (int argc, char * argv[]) {
|
||||
int fd;
|
||||
int * compteur;
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
///
|
||||
/// A TERMINER ...
|
||||
///
|
||||
return EXIT_SUCCESS;
|
||||
}
|
@@ -1,41 +0,0 @@
|
||||
//******************************************************************/
|
||||
///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */
|
||||
///* Module M311 Theme IPC POSIX */
|
||||
///******************************************************************/
|
||||
///* shm_create.c : creation d'un nouveau segment de memoire de la */
|
||||
///* taille d'un entier et initialisation a zero */
|
||||
///* UTILISATION : commande nom_segment */
|
||||
///* Utiliser ls -l /dev/shm et rm /dev/shm/... */
|
||||
///******************************************************************/
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
int main (int argc, char * argv[])
|
||||
{
|
||||
int fd;
|
||||
int * compteur;
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
fd = shm_open("applejack", O_CREAT | O_RDWR, 0777);
|
||||
|
||||
if(fd == -1) {
|
||||
perror("shm_open");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
///
|
||||
/// A TERMINER
|
||||
///
|
||||
return EXIT_SUCCESS;
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
//******************************************************************/
|
||||
///* IUT NICE-COTE D'AZUR - Departement INFORMATIQUE - R. CHIGNOLI */
|
||||
///* Module M311 Theme IPC POSIX */
|
||||
///******************************************************************/
|
||||
///* shm_excl.c : voir enonce */
|
||||
///* UTILISATION : commande nom_segment */
|
||||
///* Utiliser ls -l /dev/shm et rm /dev/shm/... */
|
||||
///******************************************************************/
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
int main (int argc, char * argv[]) {
|
||||
int fd;
|
||||
int * compteur;
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "Syntaxe : %s nom_segment\n", argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
///
|
||||
/// A TERMINER
|
||||
///
|
||||
return EXIT_SUCCESS;
|
||||
}
|
@@ -1,43 +0,0 @@
|
||||
///*************************************************************/
|
||||
///* shm_sem : memoire partagee et semaphores */
|
||||
///* SYNTAXE shm_sem */
|
||||
///* */
|
||||
///* a) le p<>re cr<63>e un fils avec fork */
|
||||
///* b) le fils cr<63>e une nouvelle m<>moire partag<61>e pouvant */
|
||||
///* contenir 10 caract<63>res */
|
||||
///* c) le p<>re <20>crit <20> BONJOUR <20> dans cette m<>moire partag<61>e */
|
||||
///* d) le fils affiche le contenu de la m<>moire partag<61>e */
|
||||
///* */
|
||||
///* Version initiale : avec shm mais sans sem */ */
|
||||
///* Version finale : avec shm et avec sem */
|
||||
///* */
|
||||
///* NOTE : POUR SIMPLIFIER, le choix des noms pour les IPC */
|
||||
///* est libre ...Les conflits eventuels doivent <20>tre d<>tectes */
|
||||
///* et donne lieu <20> un message et l'arret du programme */
|
||||
///*************************************************************/
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
int main(int argc)
|
||||
{
|
||||
/// FINIR ///
|
||||
int res;
|
||||
assert (argc == 1);
|
||||
res = fork();
|
||||
if (res == -1)
|
||||
{
|
||||
perror ("fork");
|
||||
exit (1);
|
||||
}
|
||||
if (res == 0)
|
||||
{
|
||||
/// FINIR ///
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// FINIR ///
|
||||
return 0;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user