30-Oct-03 20:04 Kirill Frolov wrote to Oleksandr Redchuk:
OR>>>> Когда? KF>>> Когда серийный номер должен быть уникальный. OR>> Причём это жутко важно и последствия страшно дороги, но купить OR>> для этой задачи УПС (чтобы не было сбоя питания), иметь нормальный винт OR>> (чтобы не было его сбоя) - жаба давит?
KF> UPS и "нармальный винт" это не решение. *Сбой может быть* и точка. Ну так прошу предложить действия, которые спасут от "сбой может быть и точка" при *любом* сбое. И что делать *мне* в AVREAL, чтобы при "ненормальном" винте гарантировать тебе сохранность серийного номера. А заодно и сохранность лежащих рядом HEX-файлов.
KF> Причина может быть какая угодно, от простого "зависания", до скинутого KF> (случайно!) со стола компутера, к которому программатор и был подключен. KF>>> Программа в любом случае должна находиться в определённом состоянии, KF>>> и накопитель должен всегда содержать действительную запись в filename. Например, скинутого со стола полным накрыванием винта от удара. ЧТО ДОЛЖЕН ДЕЛАТЬ AVREAL В ЭТОМ СЛУЧАЕ??? Расскажи, пожалуйста. Где та граница, до которой должна распространяться моя паранойя?
Кстати, просьба обратиться к производителям винтов, чтобы при выходе из строя винта от удара или по старости сохранялась вся информация на винте (не "можно восстановить на спецоборудовании", а вот
OR>> p.s. Кстати, по поводу безвозвратности - можно опросить последний OR>> записанный кристалл, можно посчитать прошитые сегодня (а вчерашние OR>> должны были быть учтены ещё вчера).
KF> Можно. С тем рассчётом, что более N штук за день не прошьёшь. Да, не прошьёшь. Ну, может быть, К или L штук, но не больше.
KF> Будут "дырки" в номерах. Откуда дырки? На вчера на конец схемы в рабочем журнале записан номер последнего прошитого кристалла. Сегодня в обед пропал свет и случайно столкнули комп со стола (внимание! avreal в это время находился во вполне определённмо состоянии "не запущен" и диск до падения _содержал_ действительную запись в filename).
Посчитали зашитые сегодня кристаллы и на новом компе (у этого винт накрылся -- при сколь угодно хитрозадумчивых алгоритмах записи serno в avreal нет уже самого файла) из архива восстановили HEX-файлы и записали в файл нужный serno.
Кстати, ты зря молча поскипал перечень того, чего я не собираюсь делать. Я-то всё равно не собираюсь :-), но для выяснения что именно надо делать по твоему мнению -- была опорная точка.
С моей точки зрения вероятность сбоя в момент записи файла avreal'ом при нормальном питании (т.е. то, что я могу как-то откорректировать) гораздо ниже вероятности сбоев за счёт нечаянного вытирания каталога с serno.txt (и hex-файлами).
Я уже сказал -- что именно я могу сделать, если это надо. До сих пор не услышал -- надо ли.
Если ты знаешь, что нужно делать -- расскажи. Если нет, то давай прекратим этот разговор.
wbr,