key_t chiave_sem=IPC_PRIVATE;
//richiesta di 2 semafori ed inizializzazione
sem=semget(chiave_sem,2,IPC_CREAT|0664);
//Inizializzazione dei due semafori
semctl(sem,0,SETVAL,val1);
semctl(sem,1,SETVAL,val2);
Semaforo, struttura
int semop(int semid, struct sembuf *sops, unsigned nsops);
Esercitazione: Problema dei produttori e consumatori
1. Introduzione ai Sistemi Operativi
2. Richiami
3. Architettura e funzionalità dei sistemi operativi
4. Esercitazione – Installazione del Sistema operativo Linux
6. Gestione dei processi nei sistemi operativi Unix/Linux e Window...
8. Esercitazione: Makefile e librerie
9. Esercitazione: System call per la gestione dei processi
11. Introduzione alla Sincronizzazione dei Processi
12. Sincronizzazione nel modello ad ambiente globale
13. Sincronizzazione nel modello ad ambiente locale
14. Esercitazione: Interprocess Communication e Shared Memory
15. Esercitazione: Gestione dei semafori
16. Esercitazione: Problema dei produttori e consumatori
17. Esercitazione: Problema dei lettori e degli scrittori
19. Il Deadlock