Scusate lo sconfinamento, ma trattandosi di programmazione del kernel di linux, penso (spero) sia comunque attinente a quanto trattato in lista.
Come progetto per l'esame di sistemi operativi 1, devo scrivere un char dev che simuli un buffer circolare di dimensione N, da installare con insmod e rimuovere con rmmod che sia visibile e utilizzabile a user space come /dev/anello. In pratica quando il buffer sarà pieno di dati, i byte più recenti sovrascriveranno quelli meno recenti e visto che il device dovrà poter gestire anche la concorrenza di richieste mi chiedo: - ma la concorrenza non viene gestita direttamente dal light-weight process (thread di kernel)? - se la concorrenza viene gestita direttamente dal LWP, a livello del codice del device è necessario prevedere un sistema di semafori o mutual exclusion (mutex) che permetta ad ogni processo che utilizza il device, di scrivere e leggere solo i dati di sua competenza? Esistono altre necessità x gestire a livello kernel la concorrenza di richieste?
Spero di aver posto la domanda in modo umano :-) grazie. -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx