Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    20

    [C] Pthread - domande "specifiche"

    Salve a tutti

    Sto cercando di capire alcune informazioni specifiche riguardo i posix thread...purtroppo non sono riuscito a trovare risposte guglando, quindi ho pensato di provare a fare le domande specifiche a qualcuno che ne sappia più di me

    1) Quale parte del sistema operativo (linux) gestisce i pthread?
    nello specifico, ricordo che ci sono strumenti di programmazione (tipo la fork, se non sbaglio) che creano il multitasking a livello kernel, ovvero creando effettivamente un processo per ogni fork, processi "alternati" dallo scheduler del kernel...

    mentre invece, sempre dalle poche info che ho, i pthread sapevo facessero un multitasking di livello più alto, cioè a livello kernel c'è un solo processo che corrisponde al file eseguibile, poi a livello più alto (quale?) venivano alternate le esecuzioni delle varie funzioni assegnati ai pthread lanciati...

    qualcuno potrebbe farmi un po' di chiarezza per favore?


    2) che cos'è una variabile "pthread_t" ? banalmente "un thread"... ma nello specifico "cosa è" una variabile di questo tipo? una struttura? un intero? un vettore? cosa? (se una struttura, fatta come?)


    Spero qualcuno possa aiutarmi, grazie a tutti ^__^

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49
    rispondo per la prima parte dicendo che se non sbaglio trattandosi di una libreria che viene collegata in fase di linking dovrebbe trattarsi di una implementazione nello spazio utente e non in quello kernel anche se non so darti la certezza. per il secondo punto penso si tratti di una struct attraverso la quale si va a individuare il singolo thread, puoi provare a vedere l'include /usr/include/pthread.h se sei sotto linux ma non mi pare ci sia la definizione eventuale della struct ciao

  3. #3

    Re: [C] Pthread - domande "specifiche"

    Originariamente inviato da Gap

    2) che cos'è una variabile "pthread_t" ? banalmente "un thread"... ma nello specifico "cosa è" una variabile di questo tipo? una struttura? un intero? un vettore? cosa? (se una struttura, fatta come?)
    E' un tipo opaco, il che vuol dire che cosa sia, dipende dall'implementazione.
    Ad esempo sotto Mac OS X 10.4.11:

    codice:
    struct _opaque_pthread_t { long __sig; struct __darwin_pthread_handler_rec  *__cleanup_stack; char __opaque[__PTHREAD_SIZE__]; };
    ...
    typedef struct _opaque_pthread_t *__darwin_pthread_t;
    ...
    typedef __darwin_pthread_t              pthread_t;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.