Si tramite i moduli.C'è modo di accedere alla memoria kernel space?
Detto concretamente per accedere alla memoria del kernel, quindi usare le funzioni stesse del sistema operativo, devi implementare la tua "applicazione come un modulo.n ogni caso, ciò può essere utile per implementare una ps (e, per mia curiosità personale, mi può anche interessare, per cui mi piace mantenere vivo anche quest'altro spunto di discussione), ma per implementare ciò che intendevo io, ovvero un qualcosa che controlli tutti i processi creati in un dato intervallo, credo ci voglia qualcosa di più sofisticato. Penso che ci voglia qualche comando che faccia il monitoring di tutte le system call del sistema operativo e ti dica quando c'è una system call di creazione processo, ed ottenerne così il relativo pid restituito dalla system call. Credo che system call che creano processi siano solo la fork() e la clone(), non ho idea se ne esistano altre. Il comando strace purtroppo non credo sia sufficiente, perché può al più monitorare le system call richiamate da un particolare il processo, ma non penso che possa osservare tutte le system call richiamate dal sistema operativo.
Per accertarti questo puoi usare l'esempio che é riportato qui il cuale usa la task_struct, ma tale codice non puó essere compilato il user space. Segui le istruzioni e vedrai.
Strace serve appunto solo per sapere le syscalls che vengono richiamate da qualsiasi programma. Le funzioni per accedere ai file e cartelle si, esistono, e si possono utilizzare in user space.