Apex srl Manutenzione apparecchiature scientifiche ed industriali


Come ridurre i crash dei PC

Tutti noi abbiamo esperienza di computer crash e di lavori persi per questa causa. Cerchiamo di capire perché questo succede e cosa si può fare per ridurre al minimo questa eventualità.

Perché i PC vanno in crash

Sono poco affidabili
I Pc sono frutto di un compromesso in fase di progettazione. Non sono nati per essere affidabili ed i progettisti accettano molti rischi pur di ridurne i costi.
Questo porta all'uso di un'hardware economico, non ridondante, dove il malfunzionamento di una parte anche secondaria del sistema può bloccare l'intera macchina.

Amministrazione approssimativa
Tutti noi siamo anche gli amministratori dei nostri PC: spesso prestiamo poca attenzione alla loro manutenzione, alle modalità di configurazione e non facciamo la diagnosi dei crash.

Dimensioni dei programmi
Le dimensioni dei programmi crescono a vista d'occhio (più codice, più errori), i nuovi prodotti escono sempre più frequentemente e gli sviluppatori non hanno il tempo materiale di effettuare un debugging completo.

Protezione della memoria carente
I programmi usano sempre più RAM e i sistemi operativi spesso non riescono a gestire in modo corretto l'uso delle risorse hardware disponibili.

Software sempre nuovi
A ritmo sempre più veloce vengono sviluppati software che utilizzano in gran parte codice nuovo e solo parzialmente codice già verificato in anni di pratica.
Questo introduce nuovi errori, mai sperimentati prima, che spesso portano al crash generale del sistema.

 

Suggerimenti per ridurre il numero di crash

Installate meno software possibile
Quanto più importante è l'uso di un PC,soprattutto nella gestione di macchine o apparecchiature, tanto meno software non necessario deve essere installato. Evitate l'installazione di SW non rilasciato (le mitiche beta release)

Installate quanta più RAM possibile
I programmi difettosi spesso mangiano memoria occupando anche porzioni di RAM non previste. Se avete disponibile più memoria ridurrete le possibilità che si manifestino blocchi.

Ripulite periodicamente il sistema
Eliminate tutto quello che non vi serve più sia dal punto di vista hardware che software. La soluzione più drastica ma più sicura è quella di riformattare l'hard disk e ricaricare solo i software che ci servono.

Fate girare meno software possibile in contemporanea
Le applicazioni aperte fanno a gomitate per contendersi le risorse disponibili ed il sistema operativo ha il suo bel da fare per cercare di non farle litigare tra di loro. Molte applicazioni aperte portano il sistema a recuperare memoria virtuale sull'hard disk, cosa non salutare quando il PC sta registrando dati provenienti da uno strumento.

Comperate hardware di qualità
Attenzione al prezzo dei PC. Spesso costano meno perché sono stati fatti risparmi che possono favorire i crash. Non dimenticate, esistono alimentatori da PC che costano 14 dollari ed altri che costano 100 dollari: forse c'è una differenza. E lo stesso vale per molte altre parti del PC quali ventole di raffreddamento, connettori, cavi , condensatori.

Non continuate ad metterci le mani
Se il sistema funziona, non sconvolgetelo modificandolo od installando e disinstallando continuamente software ed hardware.

Acquistate un buon programma di diagnostica
Se il vostro sistema di arresta rimarranno sull'hard disk file interrotti ed altra spazzatura. Ripulite con le utilities che molti sistemi operativi hanno o acquistate dei programmi specifici per fare questo lavoro. Se i crash sembrano inspiegabili usate strumenti diagnostici in grado di fare correzioni, quali First Aid Deluxe, Norton Utilities, RealHelp.
Eliminate i file *.TMP e *:CHK. Eseguite frequentemente Defrag e Scandisk (se usate sistemi con Windows o Dos)

Perché i mainframe raramente vanno in crash

La continuità di funzionamento di un mainframe odierno può raggiungere il 99,999 % annuo, valore impensabile per un PC. Questo risultato è stato ottenuto grazie ad una serie di fattori che partono a monte, durante la progettazione, per proseguire durante tutta la vita di un sistema.: I principali fattori che determinano l'alta affidabilità di un mainframe sono: l'uso di un hardware ridondante, la necessità di tecnici che si occupino a tempo pieno della loro gestione, sistemi operativi estremamente protetti con applicativi che non vengono aggiornati rapidamente, partizioni di memoria tra sistema operativo e sottosistemi software fisicamente separati, codice del sistema operativo scritto in gran parte per evitare gli errori, individuarli, correggerli e ripristinare situazioni corrette (nei PC gran parte del codice è invece dedicato all'interfaccia grafica)..

Cosa succede in un crash

Pur essendoci un certo numero di blocchi dovuti all'hardware, la stragrande maggioranza di essi è dovuta a problemi software.
Il crash in genere è dovuto ad una situazione non prevista dai programmatori che il software non è in grado di gestire adeguatamente. Spesso queste situazioni non previste, sono ignorate perché ritenute poco probabili o perché il progettista ne rimanda la soluzione al sistema operativo, che a volte non è però in grado di gestirle. Normalmente un programma va in blocco perché è in attesa di risorse non disponibili, è preso in un loop infinito, è sorpreso da un'eccezione, è in una condizione di stallo oppure è stato modificato da una violazione di memoria.

Esempi di questi problemi sono i seguenti:
Eccezioni
Supponiamo che un interrupt costringa la CPU ad interrompere un programma. Se quest'ultimo ha un codice di gestione dell'evento mal strutturato o se addirittura l'evento non è previsto il programma va in crash. La soluzione di questo problema potrebbe essere demandata al sistema operativo che può avere lo stesso tipo di problema e quindi non risolvere la questione.
Loop infinito
A causa di una condizione imprevista, il programma esegue ripetutamente le stesse linee di codice. All'utente il tutto appare come se il PC fosse bloccato.Il sistema operativo dovrebbe essere in grado di interrompere la sequenza, ma spesso questo non succede o non viene eseguito correttamente. Ad esempio Windows 3.1 e Mac OS gestiscono malamente queste eventualità perché si basano sul fatto che i singoli processi cooperino tra di loro senza accaparrarsi per tutto il tempo la CPU. Sistemi operativi più moderni invece permettono a nuovi processi di interromperne altri già in esecuzione e di utilizzare la CPU al loro posto.
Mancanza di risorse
Se un programma richiede al sistema operativo memoria libera e questa non è disponibile, può capitare che il programma prosegua anche in assenza di questa memoria e si blocchi senza dare messaggi. Un'altra evenienza è quella che pur non avendo ricevuto la memoria, il programma la consideri disponibile e prosegua causando così una violazione che creerà prima o poi un blocco. Il sistema operativo dovrebbe impedire queste violazioni ma a volte non ci riesce.
DLL
Spesso capita che all'installazione di un nuovo programma vengano sostituiti alcuni file con versioni più recenti. Questo accade tipicamente con le DLL (Dynamic Library Link) che sono delle librerie di codice condivisibili da più applicazioni. Se questo succede, il nuovo programma funzionerà correttamente, ma un altro programma che funzionava bene con la vecchia DLL potrà non funzionare più. Questi problemi possono essere difficilissimi da individuare e risolvere.

 

 

Le notizie riportate in questa pagine sono tratte principalmente da Byte di aprile 1998. Cover Story; Crash Proof Computing.