Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-09-2011, 00:00   #1
ghemon_2002
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 3
sincronizzazione con semafori c++

Qualcuno sa aiutarmi con questi due esercizi?

1
Si consideri il seguente problema di sincronizzazione tra processi formato da un processo produttore P e da due
processi consumatore C1 e C2, che condividono un’area di memoria (buffer) con 10 locazioni.
Il processo produttore P genera ciclicamente un numero intero arbitrario e lo aggiunge al buffer di memoria
condivisa. Il processo P si pone in attesa quando tenta di accedere al buffer pieno.
Il processo C1 (C2) consuma ciclicamente un elemento del buffer. Il processo C1 (C2) può accedere al buffer
solo se il buffer stesso non è vuoto, e può consumare un elemento del buffer solo se il numero attuale di
elementi nel buffer stesso è dispari (pari).
Si proponga una soluzione con semafori al problema di sincronizzazione proposto. Si richiede la descrizione dei
dati condivisi, lo pseudocodice delle procedure Produttore() e Consumatore1() e una discussione sulle eventuali
differenze tra Consumatore2() e Consumatore1(). Si assuma l’esistenza delle procedure Genera(),
Aggiungi_Al_Buffer(int x), Estrai_Dal_Buffer(), Consuma(int x), e Consuma_Buffer() con gli ovvi significati.


2
Si consideri il seguente problema di sincronizzazione tra processi denominato problema multi-produttore/consumatore
con memoria condivisa a buffer limitato:
Sia dato un sistema di processi concorrenti composto da n>10 processi produttori P1, P2, …, Pn, e da un
processo consumatore C, che condividono un’area di memoria con 10 locazioni.
Il generico processo produttore Pi genera un numero intero arbitrario e lo deposita nel buffer di memoria
condivisa. Se Pi tenta di accedere al buffer quando quest’ultimo è pieno, allora Pi stampa tutto il contenuto del
buffer e si pone in attesa.
Il processo C consuma ciclicamente un elemento del buffer al quale può accedere solo quando il buffer stesso
non è vuoto.
Si proponga una soluzione con semafori al problema del multi-produttore/consumatore. Si richiede una descrizione
accurata dei dati e lo pseudocodice delle procedure Produci(), usata dal generico produttore per generare e depositare
un numero nel buffer (non si fanno ipotesi sulla frequenza di chiamata di Produci da parte di un produttore) e
Consumatore(). Si assuma l’esistenza delle procedure Genera(), Consuma(int x), Aggiungi_Al_Buffer(int x),
Estrai_Dal_Buffer() e Stampa_Buffer() con gli ovvi significati.


Grazie mille!!!!!!
ghemon_2002 è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2011, 07:57   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quali sono i problemi che riscontri nel risolvere gli esercizi?

Vietato chiedere la risoluzione completa di progetti o esercizi per corsi di studio
CHIUSURA DEI THREAD SENZA LINGUAGGIO/APPLICATIVO FRA PARENTESI QUADRE

2 regolamenti infranti al primo post, non male
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2011, 12:41   #3
ghemon_2002
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 3
ops !!!

scusate, non lo sapevo!!!

primo esercizio: uso 3 semafori: semaforo vuote = dim(dimensione buffer)
semaforo piene=0; semaforo mutex. Per individuare quando gli elementi del buffer sono dispari, come faccio? èsensato inserire una if(piene%2==1) oppure devo inserire una ulteriore variabile contatore delle posizioni piene?
ghemon_2002 è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2011, 18:23   #4
DarkDrake88
Member
 
Iscritto dal: Jul 2010
Messaggi: 70
Quote:
Originariamente inviato da ghemon_2002 Guarda i messaggi
scusate, non lo sapevo!!!

primo esercizio: uso 3 semafori: semaforo vuote = dim(dimensione buffer)
semaforo piene=0; semaforo mutex. Per individuare quando gli elementi del buffer sono dispari, come faccio? èsensato inserire una if(piene%2==1) oppure devo inserire una ulteriore variabile contatore delle posizioni piene?
Questo è molto personale, varia da programmatore a programmatore, devi vedere te la soluzione più consona al tuo modo di lavorare... c'è poco di insensato nel mondo della programmazione, ciò che ha senso per me potrebbe non averlo per te e viceversa
DarkDrake88 è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2011, 19:10   #5
ghemon_2002
Junior Member
 
Iscritto dal: Sep 2011
Messaggi: 3
quello che vorrei sapere è se in quell'esercizio, per calcolare quando le posizioni piene sono dispari, è corretto usare una if con un semaforo dentro come condizione oppure è errato e va usata una nuova variabile contatore condivisa sia dal produttore che dal consumatore
ghemon_2002 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
WhatsApp prepara una nuova barra di navi...
Apple è pronta ad assemblare Mac ...
ESA OASIS: il sistema che aiuterà...
ho. Mobile aggiorna il listino: solo off...
L'IA accelera i processi di modernizzazi...
Amazon apre un secondo laboratorio di ro...
GM chiuderà la fabbrica di batterie di B...
Un detrito di un razzo spaziale cinese L...
Chrome, Google dichiara una sicurezza 10...
Subaru abbandonerà i motori a com...
Spotify ha escluso oltre 50 milioni di b...
Ken Griffin: 'Siamo quasi certamente in ...
Starlink rallentato in Ucraina, il Wall ...
Addio abbonamento fisso? La mossa di Mic...
Terafab corre più veloce del prev...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v