Architettura
L'architettura dell'applicazione riflette l'impostazione multi-piattaforma del progetto, ed in particolare, l'esigenza di permetterne la portabilità sul maggior numero possibile di sistemi unix-like conformi al Portable Operating System Interface (POSIX) (collateramente, a titolo di mera curiosità, può essere utile segnalare che, secondo quanto indicato da Wikipedia [13], l'acronimo POSIX è stato coniato da Richard Stallman [14] ). Attualmente sono supportate versioni per i seguenti sistemi operativi: AIX [15], HPUX [16], IRIX [17], Linux, NeXT [18], SunOS[http://en.wikipedia.org/wiki/SunOS], UNICOS/UNICOSMK [19]): nel file /usr/share/doc/tiger/README.unsupported.gz è possibile consultare l'elenco completo con suggerimenti su come usare tiger con sistemi operativi ancora non supportati.
Dal punto di vista architetturale, l'applicazione principale è stata interamente realizzata come shell script evitando di adottare eventuali comandi specifici per una determinata piattaforma. Tale applicazione, sulla base della configurazione impostata e della modalità di avvio, richiama, uno per volta, i moduli software incaricati di eseguire i singoli test, anch'essi realizzati come shell script. In tali moduli, le funzioni che non potevano essere implementate come shell script sono state realizzate attraverso programmi scritti in linguaggio C il cui compilatore è universalmente utilizzato per i sistemi unix-like. È utile far presente, inoltre, che all'interno di ogni modulo è effettuata la verifica del parametro di configurazione che ne abilita o meno l'esecuzione.
Per un elenco dettagliato delle verifiche attualmente previste nella versione di tiger oggetto della presente trattazione si rimanda al manuale di sistema consultabile con il comando:
$ man tigerLa parte modulare di tiger in GNU/Debian è installata nel percorso /usr/lib/tiger/, come di seguito riportato:
$ ls /usr/lib/tiger/ -la totale 136 drwxr-xr-x 9 root root 4096 14 mar 11:48 . drwxr-xr-x 88 root root 61440 14 mar 11:48 .. drwxr-xr-x 2 root root 4096 14 mar 11:48 bin drwxr-xr-x 2 root root 4096 14 mar 11:48 check.d -rw-r--r-- 1 root root 15260 9 set 2008 config drwxr-xr-x 2 root root 4096 14 mar 18:49 doc drwxr-xr-x 2 root root 4096 14 mar 11:48 html -rw-r--r-- 1 root root 12829 22 mar 2005 initdefs drwxr-xr-x 3 root root 4096 14 mar 11:48 scripts -rwxr-xr-x 1 root root 1918 21 apr 2003 syslist drwxr-xr-x 4 root root 4096 14 mar 11:48 systems lrwxrwxrwx 1 root root 17 14 mar 11:48 tigexp -> ../../sbin/tigexp drwxr-xr-x 2 root root 4096 14 mar 11:48 util -rw-r--r-- 1 root root 24 9 set 2008 version.h
Può essere utile notare che tra i file sopra elencati:
- lo shell script /usr/lib/tiger/config contiene la configurazione dei percorsi in cui sono installati i file di configurazione ed i componenti del programma: è, quindi, richiamato dai singoli moduli;