- Gli ultimi articoli di pepy91
-
Gestione dei processi e dei threads in un sistema Linux (Parte 4)
pubblicato 11 anni fa, 429 visualizzazioni

Salve amici di Electroyou. Poiché in questi mesi sono stato parecchio impegnato dall'università, tra esami e professori, non ho potuto concludere la serie di articoli riguardante l'argomento specificato dal titolo. Finalmente oggi ho trovato un po' di tempo da dedicare a questo sito meraviglioso, che, ripeto, tanto mi ha aiutato e spero continuerà a farlo. Buona lettura!
I SEMAFORI GENERALIZZATI
Se i thread lavorano troppo velocemente, la coda dei processi sarà vuota e i thread usciranno. Se nuovi processi vengono messi in coda più tardi, non ci saranno thread per trattarli.Abbiamo bisogno dunque di un meccanismo per bloccare i thread quando la coda è vuota finché nuovi processi sono disponibili. I semafori sono la soluzione. Un semaforo è un contatore che può essere usato per sincronizzare più thread. Cosi come per un mutex, GNU/Linux garantisce che verificare o modificare il valore di un semaforo può essere fatto senza pericolo, senza creare cioè una race condition.
[...] -
Gestione dei processi e dei threads in un sistema Linux (Parte 3)
pubblicato 13 anni fa, 442 visualizzazioni

I SEMAFORI
La causa della maggior parte dei bugs che coinvolgono i threads è che i threads accedono agli stessi dati. Spesso i programmi pieni di bug contengono un codice che agirà solo se un thread viene schedulato più spesso, o prima, di un altro thread. Questi bug sono chiamati race conditions. Supponiamo che un programma abbia una serie di processi in coda che sono trattati da numerosi thread concorrenti. La coda dei processi è rappresentata da una lista di oggetti di tipo struct job. Dopo che ogni thread termina un'operazione, controlla la coda per vedere se è disponibile un altro processo. Se la coda dei processi (job_queue) è non-nulla, il thread rimuove la testa di quella lista e imposta job_queue per il prossimo processo sulla lista. Vediamo il codice della FUNZIONE THREAD PER TRATTARE PROCESSI DALLA CODA
[...] -
Gestione dei processi e dei threads in un sistema Linux (Parte 2)
pubblicato 13 anni fa, 908 visualizzazioni

I THREADS
I threads, come i processi, sono un meccanismo che permette ad un programma di fare più di una cosa nello stesso momento. Concettualmente, un thread esiste dentro un processo. Quando invochiamo un programma, Linux crea un nuovo processo e in quel processo crea un singolo thread, che esegue il programma sequenzialmente. Quel thread può creare altri threads, e, insieme, eseguono lo stesso programma nello stesso processo, ma ogni thread esegue una parte diversa del programma nel tempo dato. Quando un programma crea un altro thread, non viene copiato nulla (a differenza di quanto avviene nei processi). Il thread creante e quello creato condividono lo stesso spazio di memoria, i file descrittori e altre risorse del sistema. Se un thread cambia il valore di una variabile, per esempio, l'altro thread in seguito vedrà il valore modificato.
[...] -
Gestione dei processi e dei threads in un sistema Linux (Parte 1)
pubblicato 13 anni fa, 698 visualizzazioni

Salve amici di ElectroYou. Poichè molti di voi mi stanno aiutando a comprendere meglio il mondo dell'elettronica, tra componenti e circuiti che a me non stanno molto simpatici, ho deciso di "ripagare" questo fantastico sito con delle "lezioni" riguardo la gestione dei processi e dei thread in un sistema Linux, argomento che a me piace parecchio. Non so quanti di voi ne faranno uso, però qualora ne abbiate bisogno, posso garantirvi che a me sono servite parecchio. Buona Lettura.
Un programma in esecuzione è chiamato processo. Quando viene invocato un comando in una shell (durante quindi un processo), il programma corrispondente viene eseguito in un nuovo processo. Molte delle funzioni che manipolano processi sono dichiarate negli header file <sys/types.h> e <unistd.h>. Ogni programma in esecuzione usa uno o più processi. Ogni processo in un sistema Linux è identificato dal suo unico Process ID, cioè il pid. Il pid viene assegnato sequenzialmente da Linux quando viene creato un nuovo processo. Ogni processo inoltre ha un processo genitore, identificato dal suo Parent Process ID, o ppid.
[...]
Chi sono
I miei ultimi post dal forum
-
Buone Feste ElectroYouviani ..
Grazie!! Auguroni di un felice anno nuovo, che sia pieno pieno di salute, serenità e tantissime soddisfazioni, per voi e per le vostre famiglie. O_/ 14:26
-
cancellazione poli e zeri funzione di trasferimento
Il diagramma di Nyquist l'ho già tracciato e risulta che il sistema a ciclo chiuso è stabile per qualsiasi valore di K positivo perchè il punto -1... 10:53
-
cancellazione poli e zeri funzione di trasferimento
L'esercizio non mi chiede di stabilizzare il sistema, ma di studiarne la stabilità tramite Routh e Nyquist. Ripeto, il mio dubbio era solo questo:... 10:53
-
cancellazione poli e zeri funzione di trasferimento
Essendo a parte reale negativa, in teoria una sua cancellazione non dovrebbe alterare la stabilità del sistema, interna ed esterna. Mentre se... 10:53
-
cancellazione poli e zeri funzione di trasferimento
La mia funzione di trasferimento è la seguente: G(s) =... 10:53
-
cancellazione poli e zeri funzione di trasferimento
Salve ragazzi. Non volevo aprire un'altra discussione visto che la mia domanda riguarda questo argomento, anche se la domanda è stata posta molti... 10:53
-
Equazioni in campo complesso
Ottimo, vi ringrazio tanto per l aiuto! Alla prossima :ok: :ok: 17:10
-
Equazioni in campo complesso
Adesso ho un piccolo problema sul primo esercizio. Se io provo a svolgerlo sostituendo a z l'espressione generale di un numero complesso, cioè z=... 17:10
-
Equazioni in campo complesso
Ok perfetto, avevo dimenticato di sostituire k=3!!! Per cui adesso vengono 3 valori che sono z=\pm 1 e z=0 . 17:10
-
Equazioni in campo complesso
Intanto grazie per avermi risposto e soprattutto di avermi fatto capire in che modo andavano risolti. Ti volevo chiedere un'altra cosa:... 17:10

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)