En r�ponse � Rosaire AMORE <[EMAIL PROTECTED]>:

> Je ne suis pas en production (mon serveur du moins), mais chez moi, �a
> tourne
> depuis que la 7.2 est sortie (un an?). Et je vous garantis que c'est
> parfois
> pire que la production, chez moi (avec les gamins + les copains des
> gamins qui
> connaissent mieux le bouton "reset" que "ctrl-alt-supp" pour rebooter
> sur win$
> pour les jeux! - quand je ne suis pas l�, �videment!) : je confirme, �a
> a
> l'air costaud.

Petit parall�le avec les bases de donn�es au sujet du principe de journalisation.

Le probl�me principal en base de donn�es est que les ordres d'�critures doivent 
parfois etre diff�r�s s'ils ont lieu dans une transaction.  En effet, si par exemple 
vous 
faites un virement financier il y a 2 ordres d'�critures :

1) D�bit du compte du d�biteur
2) Cr�dit du compte du cr�diteur

La premi�re �criture doit �tre diff�r�e, puisque si jamais la 2nde op�ration se passe 
mal (mauvais no de compte par exemple, ou probl�me software, deadlock ...) vous 
aurez fait disparaitre de l'argent !

C'est pourquoi les ordres d'�criture sont stock� dans un journal (log), et les 
op�rations inscrites dans le journal sont valid�es en fin de transaction.

Dans le cas d'un filesyst�me, le probl�me est celui du cache (et aussi dans les 
bases de donn�es d'ailleurs). Les �critures ne sont pas faites directement sur le 
disque, mais d'abord dans le cache, et ce pour des probl�mes de performances.

On utilise donc un "log" ou "journal" qui est une zone o� les op�rations sont �crites 
s�quentiellement (donc �a va tr�s vite), et � intervalles r�guliers (on parle de 
"checkpoints") les ordres inscrits dans le log seront appliqu�s en "r�al".

Enfin, sachez que pour un filesystem aussi la notion de transaction peut apparaitre, 
par exemple si vous ajoutez un bloc de donn�e � un fichier, il y a �galement 2 
ordres d'�critures (ou plus) qui devraient �tre indissociables :

1) Ecriture du bloc
2) Mise � jour du descripteur de fichier (pour ajouter l'adresse de ce block)
3) Mise � jour de la liste des blocs disponibles sur le disque 
....

Donc quand la gamin appuie sur le bouton reset,  que se passe-t-il ?

Dans un filesystem classique, un fsck sera lanc�. Il va parcourir la liste des 
descripteurs de fichiers et de r�pertoires, v�rifier que la taille du fichier 
correspond 
bien au nombre de blocs allou�s, reconstituer la liste des blocs disponibles etc. 
Evidemment, si vous avez pas de bol (reset effectue en pleins milieux d'�critures sur 
le disque dur), il y aura des fichiers perdus.

Dans le cas d'un syst�me journalis�, l'�quivalent du fsck va consulter le log. S'il 
constate qu'il y reste des op�rations, c'est que le shutdown n'avait pas �t� effectu�. 
Il va donc tout simplement lire le journal des op�rations et il va les appliquer les 
unes derri�res les autres sur le disque (ou la database c'est pareil).

Ce syst�me explique qu'un syst�me journalis� est en g�n�ral un peu plus lent en 
�criture  qu'un syst�me non journalis� (�critures dans le log).







-- 
H.Lefebvre  [EMAIL PROTECTED]
LINUX : Ne jetez plus votre argent par les fen�tres !

Répondre à