Changes between Version 9 and Version 10 of processus_thread
- Timestamp:
- Jul 3, 2016, 4:22:24 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
processus_thread
v9 v10 6 6 7 7 Le PID (Process Identifier) est codé sur 32 bits, et il est unique dans le système : les 16 bits de poids fort contiennent 8 les coordonnées (X,Y) du cluster propriétaire Z, les 16 bits de poids faibles (LPID) contiennent le numéro local dans le cluster Z.9 Le cluster propriétaire est donc défini par les 16 bits de poids fort du cluster propriétaire.8 les coordonnées (X,Y) du cluster propriétaire Z, les 16 bits de poids faibles (LPID) contiennent le numéro local dans le cluster propriétaire. 9 Le cluster propriétaire est donc défini par les 16 bits de poids fort du PID. 10 10 Le descripteur d’un processus P et les tables qui lui sont associées sont répliqués - partiellement - dans les clusters qui contiennent au moins un thread de P (appelés clusters actifs de P). 11 11 12 Puisque qu'il existe plusieurs copies du descripteur de processus, il doit exister une copie de référence, située dans le cluster de référence. Attention: le '''cluster de référence''' peut être 13 différent du '''cluster propriétaire'''. 12 Puisque qu'il existe plusieurs copies du descripteur de processus, il doit exister une copie de référence, située dans le cluster de référence. Attention: le '''cluster de référence''' peut être différent du '''cluster propriétaire'''. 14 13 15 Le descripteur de processus est défini dans ALMOS-MK par la structure task_t, et il contient les informations suivantes:14 Le descripteur de processus est défini dans ALMOS-MK par la structure process_t, et il contient les informations suivantes: 16 15 17 16 - PID : processus identifier (contient les coordonnées du cluster propriétaire) … … 22 21 - VSL : liste des vsegs du processus, 23 22 - FDT : table des fichiers ouverts du processus, 24 - T RDL : liste des threads du processus,23 - THTBL : liste des threads du processus, 25 24 - ENV : variables d’environnement du processus, 26 25 … … 37 36 Un thread peut être dans 6 états décrits dans la section [wiki:thead_scheduling D]. 38 37 39 L’OS attribue à un thread d’un processus P un identifiant unique dans le processus. Ce TRDID est codé sur 32 bits, 40 et il est construit à partir des coordonnées [X,Y,L] du coeur assigné au thread, et de l’index LTID du thread dans l’ordonnanceur 41 du coeur assigné au thread (par exemple X = TRDID[31:24] / Y = TRDID[25:16] / L = TRDID[15:8] / LTID = TRDID[7:0]). 42 43 ATTENTION : cet index TRDID n'est pas actuellement implémenté dans ALMOS-MK. [AG] 38 L'instance du noyau propriétaire d'un processus P attribue à un thread de P un identifiant unique dans le processus. Ce TRDID est codé sur 32 bits, 39 et il indexe la table THTBL. 44 40 45 41 Les principales informations stockées dans le descripteur de thread sont les suivantes : 46 42 * TYPE : KERNEL / USER / IDLE / RPC 47 * TRDID : thread identifier (contient les coordonnées [X,Y,L] du coeur) 48 * PID : processus identifier du processus contenant le thread 43 * TRDID : thread identifier 44 * FLAGS : attributs du thread 45 * PID : pointer on the local process descriptor 49 46 * STATE : CREATE / READY / USER / KERNEL / WAIT / DEAD 50 * SAVE: zone de sauvegarde des registres du coeur.47 * PWS : zone de sauvegarde des registres du coeur. 51 48 * PARENT : TRDID du thread parent qui doit être informé de la terminaison. 52 49 * IO : canaux alloués au thread dans le cas des périphériques multi-canaux.