|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2004
Messaggi: 2691
|
Alcune domande Linux sulle istruzioni cmpxchg / tsl e sugli attributi linux
ciao a tutti
volevo sapere se tante volte potreste darmi le soluzioni di questo esercizio (o anche solo una parte di esso..) esercizio avente per oggetto le istruzioni cmpxchg, tsl e gli attributi linux Grazie mille Una implementazione diffusa nell'inserimento in lista utilizza l'istruzione TSL (test set and lock, messa a disposizione dell'hardware) come in: typedef struct _anon { int data; _anon * next; } List; List *list = NULL; int insert_lock=0; Void insert(int data) { /* acquire the lock: */ while (TSL(&insert_lock) != 0) ; /* Null operation */ /*critical section: */ List *l = (List *) malloc(sizeof(list)); l->data = data; l->next = list; list = l; /* release the lock: */ insert_lock = 0; } Molti processi hanno una istruzione cmpxchg cha ha la seguente semantica: int cmpxchg(addr, v1, v2) { int ret = 0; /*stop all memory activity and ignore interrupts */ if (*addr == v1) { *addr = v2; ret = 1; } /* resume other memory activity and take iterrupts */ return ret; } ++++++++++++++++++++++++++++++++++ Rispondere alle seguenti domande: a) Riscrivere la funzione void insert(int data) usando cmpxchg b) Dare una implementazione in c dell'istruzione TSL c) Che vantaggi ha l'implementazione con cmpxchg ------------- d) Infine descrivere e spiegare il signifiato dei seguenti attributi del file "prova": drwxr-xr-x root root 4096 may 21 2004 prova e) come cambiano gli attributi dopo l'esecuzione in sequenza di ognuno dei seguenti comandi? e.1) chgrp collab prova e.2) chown rossi prova e.3) chmod 111 prova f) Dopo l'esecuzione del comando e.3 l'utente bianchi puo' leggere il file? e l'utente root? Grazie ancora ciao |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:36.