Salut, tout le monde.
Il y a 25 ans, je n’aurais pas posé ce genre de question, car j’ aurais su y répondre moi-même. Mais aujourd’ hui, pour cause de gâtisme inéluctable ou parce que les ordinateurs ne sont plus ce qu’ils étaient j’ avoue que j’ai besoin de votre aide.
Ce que je souhaite c’est tout simplement solutionner un problème classique avec les moyens que la technique actuelle permet. A savoir effectuer la sauvegarde automatique d’un fichier sur un ordinateur de façon à suppléer à une coupure d’ alimentation brutale de ce dernier. Pour éclairer les idées, le fichier en question (fichier texte, tout bête) est de très petite taille. Moins de 2 Ko.
Une solution simple d’abord.
Alimenter l’ordinateur à l’aide d’un onduleur, détecter l’absence de «*secteur*», sauver le fichier sur le disque dur, et éteindre l’ordinateur en attendant des jours meilleurs. Tout est OK et le résultat me paraît satisfaisant, sauf que le système prends de l’embonpoint et du poids et que cela grève un peu trop le coût de sa fabrication. C'est vrai qu'une autonomie de l'onduleur de quelques petites minutes suffirait, mais voilà, la place réservée est un peu exigüe.
Solutions valables jadis qui ne semblent plus possible aujourd’ hui avec les systèmes d’ exploitation modernes. Linux, MacOS ou Windows.
1- Réserver une zone mémoire de 2 Ko située à une adresse fixe, constituée de mémoire statique ( et donc n’ayant pas besoin d’ être rafraichie) et alimentée par une batterie capable de maintenir les données pendant plusieurs heures. Le fichier y serait logé et constamment mis à jour. Cela se faisait jadis facilement avec de la mémoire CMOS statique (genre 5101) alimentée par une batterie de 3V et qui tenait plusieurs mois. La gestion mémoire des ordinateurs d’ aujourd’ hui ne semble plus permettre cela, à cause de la gestion mémoire laissée au soins du système d' exploitation.
2 - Sauvegarder le registre d’ état du µProcesseur, l’ état de la pile et des quelques variables locales ou globales indispensables ainsi que le fichier en question, permettrait en plus de «*reprendre*» le programme à l’endroit où il s' était interrompu. Cela serait l’idéal, mais à mon avis difficile à obtenir.
Ma question est donc finalement la suivante : quelqu’un connait-il un fabricant de ce produit miracle que je recherche et qui permettrait cela ? Et qui bien sûr pourrait-être alimenté par une batterie assurant la sauvegarde pour plusieurs heures. Produit que l’on pourrait connecter ( comment ? Je ne sais pas sauf si onduleur présent mais ça c'est déjà évoqué) à un ordinateur.
A noter que la solution clé USB ou SDRAM ne convient pas car ce fichu fichier doit être écrit au bas mot une fois par seconde. Et la fiabilité de ces supports ne permet pas ( je crois) des milliers de cycles d’ écriture, même en déménageant l'emplacement du fichier.
A l'heure qu'il est, j'ai adopté la solution suivante : j'ai créé l'équivalent d' un RAMDISK de la taille voulue, situé dans une zone de la RAM pointée par ... un pointeur bien entendu qui résiste au garbage mémoire et dans lequel se trouve maintenu le fichier en question. Lors de pauses pendant l'exécution du programme mon fichier est transféré sur un disque dur classique. L'application, elle réside sur un SDRAM. Cela peut se faire environ toutes les dix minutes. Cela fonctionne, mais en cas de coupure de courant je peux perdre jusqu'à 10 minutes sur l'historique du système. Et c'est trop.
Désolé, d’ avoir été si long, et merci par avance à ceux qui m’apporteront un espoir se solution.
-----