Next Previous Contents

2. Sintassi utilizzata

2.1 Sintassi funzioni

Quando descriviamo una funzione, scriviamo:

"nome_funzione  [ percorso . estensione ]"

Ad esempio:

"schedule [kernel/sched.c]" 

ci dice che stiamo parlando della funzione

"schedule" definita nel file

[ kernel/sched.c ]

Nota: Il percorso di riferimento e' la directory dei sorgenti del Kernel ''/usr/src/linux''.

2.2 Indentazione

L'indendazione nel codice sorgente del documento e' di 3 caratteri.

2.3 InterCallings Analysis

Introduzione

Nel documento verranno utilizzate le "InterCallings Analysis "(ICA) (analisi delle reciproche chiamate) per vedere (utilizzando anche l'indentazione) come le funzioni del Kernel si chiamano l'un l'altra.

Ad esempio, la funzione ''sleep_on'' e' descritto di seguito:

|sleep_on
|init_waitqueue_entry      --
|__add_wait_queue            |   Accodamento della richiesta
   |list_add                 |
      |__list_add          -- 
   |schedule              ---     In attesa di esecuzione
      |__remove_wait_queue --   
      |list_del              |   Disaccodamento richiesta
         |__list_del       -- 
 
                          sleep_on ICA

L'ICA indentata e' seguita dal percorso delle funzioni descritte:

Nota: Se il percorso non cambia non verra' piu' specificato nelle righe seguenti.

Dettagli

In una ICA una linea come la seguente

 funzione1 -> funzione2

significa che la < funzione1 > e' un generico puntatore a funzione che, in questo caso, punta a < function2 >.

Quando scriviamo:

  funzione:

significa che < funzione > non e' una vera funzione, bensi' un'etichetta assembler.

A volte verra' riportato del codice ''C'' o pseudo codice al posto di linee ''assembler'' o di codice '' non strutturato'' per poter chiarire l'esposizione.

PRO delle ICA

I vantaggi nell'utilizzo delle ICA (InterCallings Analysis) sono molti:

CONTRO delle ICA

Come tutti i modelli teorici, viene semplificata la realta' sorvolando alcuni dettagli, come il vero codice sorgente e i casi eccezionali.


Next Previous Contents

Hosting by: hurra.com
Generated: 2007-01-26 17:56:17