PROBLEMA Quesiti processi

xxxSasorix

Nuovo Utente
7
0
Salve, avrei bisogno di una risposta da un esperto su questi due quesiti:

QUESITO A
1) Descrivi il concetto di competizione tra processi concorrenti tramite esempio.
2) Che cosa si intende con mutua esclusione tra processi concorrenti e a quali problemi porta se non viene rispettata?
3) Cosa rappresentano le sezioni critiche e corse critiche?
4) Quando si può verificare una situazione di stallo tra due o più processi?
5) Qual'è il diagramma di flusso della primitiva signal() dei semafori, descrivi il funzionamento.
6) Un distributore automatico di benzina è dotato di una pompa con a disposizione N litri di carburante. Le auto accedono al distributore si riferiscono ogni volta di un numero casuali di litri di benzina. Scrivi la pseudo-codifica di un programma che permetteva, tramite semafori, la corretta gestione della distribuzione e di segnalare quando il livello di carburante raggiunge la soglia minima.

QUESITO B
1) Descrivi il concetto di cooperazione tra processi concorrenti tramite esempio.
2) Che cosa intende con sincronizzazione tra processi concorrenti e a quali problemi porta se non viene rispettata?
3) Che cosa intende con attesa attiva e passiva tra processi concorrenti?
4) Quando si può verificare una situazione di ritardo indefinito tra due o più processi?
5) Disegna il diagramma di lusso della primitiva wait() dei semafori e descrivi il funzionamento.
6) Scrivere la pseudo-codifica di un programma che permetta, tramite semafori, la corretta gestione di magazzino merci. Ogni cliente effettua l'ordine di un prodotto specificandone la quantià, e per ogni ordine viene aggiornato il numero di pezzi ancora disponibili nel magazzino. Considerata una scorta iniziale di M pezzi, il programma deve anche segnalare quando il prodotto non è più disponibile.
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed

xxxSasorix

Nuovo Utente
7
0
Ciao, benvenuto sul forum. Dovresti leggere il regolamento però, perchè non funziona in questo modo: https://forum.tomshw.it/threads/reg...ni-utili-sulla-sezione-programmazione.753319/

Che problema incontri, di preciso?
Riporta comunque le risposte e la pseudo-codifica richiesta, anche se dovesse essere tutto errato. Poi riceverai aiuti...
Grazie, come dice la stessa parola è pseudo-codifica, non è un linguaggio che posso inserire in sezione, non sono riuscito a trovare nulla per ora.
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Non ho capito che intendi... che significa con "non è un linguaggio che posso inserire in sezione"?
Devi riportare qui quello che hai fatto, nel caso della codifica, usando il tag CODE.
 

Andretti60

Utente Èlite
6,440
5,091
Come ti è stato fatto notare
La sezione Programmazione e le sue sottosezioni non offrono un servizio di risoluzione compiti scolastici.
Come scritto nel regolamento di sezione.

La maggior parte di quelle domande non richiede la scrittura di alcun codice, basta semplicemente rispondere, a volte con qualche esempio, e tutte le risposte si trovano in qualunque testo scolastico nella sezione multi threading e Inter-process communication.

Noi siamo ben disposti ad aiutare, ma anche voi dovete dimostrare che avete fatto la vostra parte.
 

xxxSasorix

Nuovo Utente
7
0
Come ti è stato fatto notare
La sezione Programmazione e le sue sottosezioni non offrono un servizio di risoluzione compiti scolastici.
Come scritto nel regolamento di sezione.

La maggior parte di quelle domande non richiede la scrittura di alcun codice, basta semplicemente rispondere, a volte con qualche esempio, e tutte le risposte si trovano in qualunque testo scolastico nella sezione multi threading e Inter-process communication.

Noi siamo ben disposti ad aiutare, ma anche voi dovete dimostrare che avete fatto la vostra parte.
Adesso posso solo modificare solo il testo e il titolo, come dovrei fare? Creo una nuova discussione con Multi threading e Inter-process communication?
 

Andretti60

Utente Èlite
6,440
5,091
Non vedo perché devi modificare il tuo post iniziale, devi solo aggiungere le tue risposte e chiedere suggerimenti a riguardo per vedere se sono corrette o richiedono miglioramenti.
 
  • Mi piace
Reazioni: Mursey

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Adesso posso solo modificare solo il testo e il titolo, come dovrei fare? Creo una nuova discussione con Multi threading e Inter-process communication?

Se puoi modificare il titolo fallo, se vuoi editare il primo post aggiungendo le tue risoluzioni anche, se non puoi scrivi qui in un post.

Se vuoi comunicare con lo staff puoi usare quel pulsante "Segnala" posto sotto al post per segnalare quel contenuto, indicando poi il motivo (ad es. chiedere di modificare qualcosa che non puoi o altro). ?
 

xxxSasorix

Nuovo Utente
7
0
Non vedo perché devi modificare il tuo post iniziale, devi solo aggiungere le tue risposte e chiedere suggerimenti a riguardo per vedere se sono corrette o richiedono miglioramenti.
Non bastava sopra dove chiedevo la risoluzione di un esperto? L'ho proprio chiesto perchè non riesco a farlo
 

xxxSasorix

Nuovo Utente
7
0
Quale è il tuo libro di testo?
Questo qui, è molto poco esplicativo per non parlare del mio professore, ecco perchè chiedevo (Non voglio assoluttamente passare per scortese, non pretendevo nulla, anzi è una richiesta di aiuto) Sono molto bravo nella programmazzione ma con il nuovo professore sembra arabo, soprattutto ciò che dice a differenza del libro. Nella speranza che qualche programmatore o conoscitore esperto riuscisse a salvarmi :,(
 

Allegati

  • 9788826815497.jpg
    9788826815497.jpg
    16.6 KB · Visualizzazioni: 39

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,244
5,674
Non bastava sopra dove chiedevo la risoluzione di un esperto? L'ho proprio chiesto perchè non riesco a farlo
Alcune risposte ti possono essere date ma per altre come
Scrivi la pseudo-codifica di un programma che permetteva, tramite semafori, la corretta gestione della distribuzione e di segnalare quando il livello di carburante raggiunge la soglia minima.
Devi scrivere tu per primo.

Vuoi dirci che non sai fare o rispondere a nessuno dei quesiti?
 
  • Mi piace
Reazioni: r3dl4nce

Andretti60

Utente Èlite
6,440
5,091
Non conosco il tuo libro di testo, ma mi
Sembrerebbe strano non abbia una capitolo sulla concorrenza tra processi, che è uno dei concetti basilari della programmazione
 

xxxSasorix

Nuovo Utente
7
0
Alcune risposte ti possono essere date ma per altre come

Devi scrivere tu per primo.

Vuoi dirci che non sai fare o rispondere a nessuno dei quesiti?
Si ovvio, son riuscito a fare solo ciò:
PROBLEMA A
Codice:
/*--------------------------------------------------------------------------------
*Class DistributoreBenzina con i semafori
----------------------------------------------------------------------------------/

Class DistributoreBenzina
{
Static Semaforo mutex(1);
Static float benzina= benzinaDisponibile;
public static void main(String args[])
{

/*------------------------------------------------------------------------------------
*P0 e P1 sono eseguiti in parallelo
----------------------------------------------------------------------------------/

P0;
P1;
}

/*------------------------------------------------------------------------------------
*P0 esegue P1 esegue
----------------------------------------------------------------------------------/

void P0() void P1()
{ {
Float litriBenzina; Float litriBenzina;
Float sogliaMinima Float sogliaMinima
rifornimento(litriBenzina); rifornimento(litriBenzina);
If (benzina > sogliaMinima) If (benzina > sogliaMinima)
{ {
mutex.wait(); mutex.wait();
Benzina = benzina - litriBenzina; Benzina = benzina - litriBenzina;
} else { } else {
System.out.println (“soglia minima raggiunta”); System.out.println (“soglia minima raggiunta”);
} }
mutex.signal(); mutex.signal();
} }
PROBLEMA B
Codice:
/*--------------------------------------------------------------------------------
*Class MagazzinoMerci con i semafori
----------------------------------------------------------------------------------/

Class MagazzinoMerci
{
Static Semaforo mutex(1);
Static int pezzi= pezziDisponibili;
public static void main(String args[])
{

/*------------------------------------------------------------------------------------
*P0 e P1 sono eseguiti in parallelo
----------------------------------------------------------------------------------/

P0;
P1;
}

/*------------------------------------------------------------------------------------
*P0 esegue P1 esegue
----------------------------------------------------------------------------------/

void P0() void P1()
{ {
Int quantita; Int quantita;
Ordine(quantita); Ordine(quantita);
If (pezzi > quantita) If (pezzi > quantita)
{
mutex.wait(); mutex.wait();
Pezzi = pezzi - quantita; Pezzi = pezzi - quantita;
} else { } else {
System.out.println (“prodotto non disponibile”); System.out.println (“prodotto non disponibile”);
} }
mutex.signal(); mutex.signal();
} }
Ecco qui, adesso potrei ricevere qualche risposta senza essere assalto per ogni motivo possibile? O parlo solo?
 
Ultima modifica da un moderatore:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili