|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
linux thread
Qualcuno mi fa chiarezza sui thread in linux???
Fino a qualche tempo fa credevo fossero a livello utente poi ho scoperto che i pthread in realtà sono a livello kernel... quale delle due informazioni è corretta??? Se sono a livello kernel come si fa a vedere quanti threads sono associati ad un task? Grazie Soalle |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
I thread sotto linux sono molto simili ai processi, con la differenza fondamentale che condividono le tabelle di paginazione. Essi vengono creati con la syscall clone() e possiedono ciascuno uno stack distinto, anche se accessibile agli altri thread. Conservano una struttura gerarchica e formano una sorta di "gruppo di processi"; in genere un segnale inviato al thread parent viene anche inviato ai child, a meno di non usare la chiamata pthread_kill(). Le pthread sono semplicemente una interfaccia con clone(), forniscono tutta una serie di funzionalità per la sincronizzazione e la corretta gestione dei thread, e si occumano di far vedere - all'utente - l'ambiente thread come previsto dallo standard POSIX.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
1.quindi alla fine sono un strato software sopra il kernel o sono un'astrazione fornita direttamente dal kernel???
2. quindi la pthread_create dei pthread è mappata sulla sys call clone()? |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Sto facendo ricerche su Internet...
se hai qualche bel link sull'architettura dei thread in linux me lo potresti segnalare?? Grazie mille Soalle |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Su google trovi di tutto, ad es. http://www.onlamp.com/pub/a/onlamp/2002/11/07/linux_threads.html
Questo è più datato, ma è un buon inizio: http://linas.org/linux/threads-faq.html
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
ops...ovviamente guarda anche man clone
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2002
Città: /dev/urandom breed
Messaggi: 1689
|
[quote="ilsensine"]I thread sotto linux sono molto simili ai processi, con la differenza fondamentale che condividono le tabelle di paginazione.[...]/quote]
Questo cambiera` con ngpthread e i futex nel kernel 2.5/2.6 (o 2.4 con patch)? Sebbene sia abbastanza ignorante in materia e non gli sia stato particolarmente dietro, lla cosa mi interessa... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Aggiungeranno alcune cose in più, ma sostanzialmente il discorso non cambia.
I futex sono un'altra cosa.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Da quel che ho capito dovrebbe venire fuori NPTL invece che NGPT...
I futex cosa sono??? |
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
http://ds9a.nl/futex-manpages/futex2.html http://ds9a.nl/futex-manpages/futex4.html
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
un pozzo di sapienza....
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:29.



















