syscalln't 🚫

🤔 Cos’è una syscall, in pratica? Crediti immagine: Mike Norris via Pexels Ogni volta che il tuo programma legge un file, scrive su un socket o alloca memoria, a un certo punto deve chiedere al kernel di farlo per davvero. Quella richiesta è una syscall: il confine preciso e ben definito in cui il codice in userspace passa nel kernel. write(), read(), open(), mmap() non sono semplici funzioni di libreria, sono l’intero vocabolario che il tuo programma ha a disposizione per parlare con il mondo esterno. Tutto il resto — da fwrite a file.write() in Python fino a std::fs::File in Rust — non è altro che un wrapper attorno a questa manciata di punti di ingresso del kernel. ...

16 luglio 2026 Â· Andrea Manzini

Quanto codice stai testando? (4)

🧭 Dove eravamo rimasti Benvenuti al nuovo capitolo della nostra serie dedicata alla misurazione della copertura dei test per i programmi binari! Nella parte 1 abbiamo utilizzato il flag -cover integrato in Go: pulito e preciso, ma funziona solo se si possiede il codice sorgente e lo si può ricompilare. Nella parte 2 abbiamo usato valgrind e gdb per tracciare gzip senza toccarne il sorgente. Nella parte 3 abbiamo esplorato Intel PIN, un vero e proprio framework di strumentazione binaria dinamica: potente, ma dotato di un SDK C++ proprietario da circa 100 MB e limitato a x86_64. ...

13 maggio 2026 Â· Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.