Realizzare un programma C e Posix sotto Linux che con l'uso dei semafori Posix sincronizzi un processo padre ed un processo figlio che scrivono e leggono, rispettivamente, un numero intero alla volta da 1 a n, (dove n è passato da riga di comando) nella prima posizione di un file temporaneo opportunamente creato.
risposta:
- /*
- Realizzare un programma C e Posix sotto Linux che con l'uso
- dei semafori Posix sincronizzi un processo padre ed un
- processo figlio che scrivono e leggono, rispettivamente, un
- numero intero alla volta da 1 a n, (dove n è passato da riga di
- comando) nella prima posizione di un file temporaneo
- opportunamente creato
- */
- #include <stdlib.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <semaphore.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #define N 9
- sem_t sem1,sem2;
- int main(int arg, char **argv){
- int pid,file,i=4;
- char buff[2];
- sem_init(&sem1,1,1);
- sem_init(&sem2,1,0);
- //file = open("file.txt",O_RDWR);
- pid = fork();
- if (pid==0){
- for(i=0;i<N;i++) {
- sem_wait(&sem1);
- //sprintf(&buff[0],"%d",i);
- //lseek(file, 0, SEEK_SET);
- //write(file,&buff,sizeof(buff));
- printf("Ho scritto i=%d\n",i);
- sem_post(&sem2);
- }
- } else {
- for(i=0;i<N;i++) {
- sem_wait(&sem2);
- //lseek(file, 0, SEEK_SET);
- //read(file,&buff,sizeof(buff));
- printf("Ok ho letto %d\n",atoi(&buff[0]));
- i++;
- sem_post(&sem1);
- }
- }
- }
Learn More :
Italian
- C del programma: si assume che B è un array di n> 0 cifre binarie, la seguente funzione calcola il valore decimale rappresentato da b in forma binaria
- C Program Problem's Solution For General Hospital
- Sviluppare una function C che, dati come parametri di input un array di char e il suo size, determina e restituisce come parametro di un dato logico che indica se il testo nell’array è un pangramma, ovvero è un testo che contiene, almeno una volta, tutte le 21 lettere dell’alfabeto italiano.
- Sviluppare una function C che, dati come parametri di input un array di char e il suo size
- Sviluppare una funzione C che , dato come parametri di ingresso un array di char e la sua dimensione
- C Programma Dato un elenco ( matrice) delle persone che partecipano ad un concorso , ordinare l'elenco in ordine alfabetico per l'ultimo campo nome.
- Scrivere un programma C per simulare immettere il PIN per il telefono .
- C Programma Due giocatori sfida lanciando un " dado truccato . " Il dado ha Integer gamma [ 5 , 15 ] .
- Scrivere un programma C che: Crea un processo figlio, stampa il messaggio “In attesa” ed attende la terminazione del figlio.
- Scrivere un programma C in cui un processo crea un processo figlio
- Allocare una matrice dinamicamente di dimensione NxN dove n è un numero pari, inserito come input al programma ( argv ).
- C Programma per convertire la stringa in un intero
- C programma per trovare posizione del punto di coordinate Aereo