Notizie in Applicazioni & OS

  • Linux kernel hacking: real-time backup con i kernel tracepoints

    di Andrea Righi, 10 Set 2009

    I tracepoint (Documentation/trace/tracepoints.txt) sono degli hook “lightweight” che possono essere piazzati in determinati punti nel codice del kernel per registrare l’occorrenza di determinati eventi.

    Un tracepoint definisce automaticamente la “probe function” che potrà essere piazzata in punti desiderati all’interno del codice del kernel (instrumentation).

    Ogni volta che l’esecuzione passa da tali punti la “probe function” viene invocata e l’infrastruttura di tracing provvede a salvare il contesto dell’evento e le informazioni desiderate all’interno di un tracing buffer. Il tracing buffer sarà poi accessibile dallo userspace tramite il debugfs (/sys/kernel/debug/tracing/trace).

    I kernel tracepoint sono utilizzati tipicamente come strumento di debug per tracciare in tempo reale l’occorrenza di particolari eventi, raccogliere statistiche, ecc.

    In questo articolo vedremo un utilizzo dei tracepoint un po’ diverso dal solito e sfrutteremo la capacità di tracking in tempo reale e la leggerezza dell’infrastruttura dei tracepoint per realizzare un sistema di notifiche efficace e soprattutto a basso overhead.

  • Linux kernel hacking: contenitori di processi/2

    di Andrea Righi, 18 Mag 2009

    Nell'articolo precedente abbiamo analizzato i concetti base dei Linux cgroup. Abbiamo visto un esempio pratico di come lo scheduler CFS possa attuare una distribuzione equa della risorsa CPU tra i vari cgroup. Infine, abbiamo realizzato un cgroup subsystem molto semplice (il noop-cgroup), sfruttando solamente la funzionalità di raggruppamento dei processi.

    In questa seconda parte analizzeremo più in dettaglio l'aspetto di programmazione in kernel space, realizzando un cgroup subsystem un po' più avanzato, interfacciandoci anche con un'altra parte del kernel: le system call.

  • Linux kernel hacking: contenitori di processi/1

    di Andrea Righi, 14 Mag 2009

    Dalla versione 2.6.24, il kernel Linux mette a disposizione un framework denominato Control Groups (o cgroups) che permette di creare veri e propri contenitori di processi.

    Ad ogni contenitore possono essere associate determinate configurazioni che permettono di definire ad esempio il tracciamento e/o il controllo sull'utilizzo di determinate risorse.

    L'infrastruttura dei cgroup mette a disposizione solo le funzionalità di raggruppamento dei task, sono poi i vari cgroup subsystem che implementano le particolari politiche di controllo per ciascuna risorsa: come ad esempio la CPU, la banda di I/O, la memoria, i permessi di accesso a determinati device, eccetera.

  • Il MacHeist 3 Bundle va a ruba

    di Antonio Cangiano, 6 Apr 2009

    Espresso, parte del MacHeist 3 BundleMacHeist.com è un sito che organizza la vendita di una serie di applicazioni (un bundle) per Mac OS X. Arrivati alla terza edizione, gli organizzatori di questa iniziativa hanno deciso di fare le cose in grande.

    Per cominciare l’annuncio è stato fatto per video tramite una diretta web da parte di tre nomi piuttosto noti nel mondo del social media: Chris Pirillo, Veronica Belmont e Lisa Bettany. Dopo aver sfruttato la popolarità di questi, il team di MacHeist ha anche usato al meglio Twitter per raggiungere un grande seguito con inviti e incentivi ad inviare messaggi riguardanti l’offerta. Nel giro di poche ore, nonostante il sito fosse sottocarico e fosse da poco passata la mezzanotte in America, il contatore nel sito indicava già migliaia di vendite.

  • Il debutto di Firefox 3

    di Davide Ficano, 17 Giu 2008

    Dopo oltre un anno e mezzo dall'uscita di Firefox 2 arriva Firefox 3 che promette migliorie sostanziali nella gestione della memoria utilizzata, nella velocità di esecuzione e nell'usabilità generale grazie ad una miriade di nuove funzionalità presenti. Cominciamo a fare conoscenza con alcune di queste "nuove" caratteristiche.

  • Linux Kernel Hacking: Un semplice filesystem

    di Roberto De Ioris, 11 Mar 2008

    Il VFS (Virtual File System) è il layer di Linux per gestire i file system. Si tratta di uno dei componenti più importanti del kernel non solo perché permette l'organizzazione e la gestione dei dati sui nostri sistemi di storage ma anche perché è un modo molto comodo per far dialogare lo userspace con il kernel. Progetti importantissimi come SeLinux utilizzano un filesystem per la loro configurazione. In questo articolo vedremo come realizzare un semplice filesystem per l'organizzazione di dati su un dispositivo a blocchi.

Pagina 1 di 3 | Successiva ›
Screencast e videocorsi di programmazione
Stacktrace RSS Feed Stacktrace via E-mail
Hai idee per un articolo? Faccelo sapere!