Как 350D выбирает секторы для записи - начиная с первого свободного или по кругу?
Маленький экскурс в историю: первые версии MS-DOS всегда записывали файл на диск, начиная с первого свободного сектора. Таким образом, если на диск были записаны последовательно файлы а1 и а2, затем а2 удалён и записан а3, то файл а3 будет записан начиная с тех секторов, которые занимал а2. Соответственно восстановить а2 программными средствами невозможно.
Более поздние операционки стали писать иначе: в том же примере после удаления файла а2 следующий файл а3 будет записан в те сектора, запись в которые ещё не производилась (при достижении конца раздела - переход на начало). Таким образом, после записи файла а3 ещё есть возможность восстановить файл а2, пока на диске ещё есть нетронутое пространство.
Так какой же из этих способов реализован в 350D и в семействе EOS в целом?
Тема закрыта
Как 350D пишет информацию
Всего 9 сообщ.
|
Показаны 1 - 9
Как 350D пишет информацию
Re[DFAD1-RIPE]:
от:DFAD1-RIPE
Как 350D выбирает секторы для записи - начиная с первого свободного или по кругу?
Маленький экскурс в историю: первые версии MS-DOS всегда записывали файл на диск, начиная с первого свободного сектора. Таким образом, если на диск были записаны последовательно файлы а1 и а2, затем а2 удалён и записан а3, то файл а3 будет записан начиная с тех секторов, которые занимал а2. Соответственно восстановить а2 программными средствами невозможно.
Более поздние операционки стали писать иначе: в том же примере после удаления файла а2 следующий файл а3 будет записан в те сектора, запись в которые ещё не производилась (при достижении конца раздела - переход на начало). Таким образом, после записи файла а3 ещё есть возможность восстановить файл а2, пока на диске ещё есть нетронутое пространство.
Так какой же из этих способов реализован в 350D и в семействе EOS в целом?Подробнее
А Вам зачем?
Re[DFAD1-RIPE]:
DFAD1-RIPE "Как 350D выбирает секторы для записи - начиная с первого свободного или по кругу?"
1. Вроде была информация, что внутренний софт d350, это по сути MS-DOC, как основа. Знаю, что была прошивка, модифицированная каким то нашим программистом, который открыл некоторые ф-ции d350, залоченные по маркетингу. Он знает точно. Поищите на форуме.
Это на уровне слухов.
2. Но если вам это нужно для конкретных целей, то проще посмотреть организацию записи на карточке. То есть сам результат записи. Это можно сделать любой утилитой, читающей FAT. Раньше таких было навалом. Или средством востановления данных. Их работа именно в этом и заключается - считать данные секторов. Ведь при удалении файла, стирается только запись о них в заголовке FAT, а сами сектора затираются последующей записью или форматированием.
Уверен, что не по кругу. То о чем вы говорите, подразумевает запись в непрерывное дисковое пространство. А если файл на 1 байт больше, чем самое большое непрерывное и есть отдельные сектора для его записи? В этом случае необходимо было бы постоянно в фоновом режиме делать дефрагментацию диска (карточки), чего не происходит.
Поэтому FAT считает, что неготовность по записи чтения меньшее зло, чем дефрагментация и пишет по секторам.
1. Вроде была информация, что внутренний софт d350, это по сути MS-DOC, как основа. Знаю, что была прошивка, модифицированная каким то нашим программистом, который открыл некоторые ф-ции d350, залоченные по маркетингу. Он знает точно. Поищите на форуме.
Это на уровне слухов.
2. Но если вам это нужно для конкретных целей, то проще посмотреть организацию записи на карточке. То есть сам результат записи. Это можно сделать любой утилитой, читающей FAT. Раньше таких было навалом. Или средством востановления данных. Их работа именно в этом и заключается - считать данные секторов. Ведь при удалении файла, стирается только запись о них в заголовке FAT, а сами сектора затираются последующей записью или форматированием.
Уверен, что не по кругу. То о чем вы говорите, подразумевает запись в непрерывное дисковое пространство. А если файл на 1 байт больше, чем самое большое непрерывное и есть отдельные сектора для его записи? В этом случае необходимо было бы постоянно в фоновом режиме делать дефрагментацию диска (карточки), чего не происходит.
Поэтому FAT считает, что неготовность по записи чтения меньшее зло, чем дефрагментация и пишет по секторам.
Re[dimadima]:
от:dimadima
Но если вам это нужно для конкретных целей, то проще посмотреть организацию записи на карточке. То есть сам результат записи. Это можно сделать любой утилитой, читающей FAT. Раньше таких было навалом.Подробнее
Ну да, цель вполне конкретная - знать, что делать после случайного удаления важного кадра: немедленно бежать домой восстанавливать информацию, или можно, никуда не торопясь, снять ещё десяток-другой кадров.
А утилиты... Тут хватит и ДОСовкого debug'а. Я ж и спрашиваю, собственно, о том, делал ли это кто-нибудь до меня. :)
Уверен, что не по кругу. То о чем вы говорите, подразумевает запись в непрерывное дисковое пространство. А если файл на 1 байт больше, чем самое большое непрерывное и есть отдельные сектора для его записи? В этом случае необходимо было бы постоянно в фоновом режиме делать дефрагментацию диска (карточки), чего не происходит.Подробнее
А вот это как раз давно решённая проблема: FAT в числе прочего содержит информацию вида "продолжение читать в секторе № ХХХ". И никто не мешает разместить последовательные кусочки файла, например, в секторах 43, 21 и 42.
Буду разбираться сегодня вечером, о результате сообщу. :)
Re[DFAD1-RIPE]:
Взяли, отсняли пяток снимков, потом удалили пару в середине, потом сняли ещё штучки три и поглядели какой-нибудь программулей, которая умеет восстанавливать утерянные файлы. Типа PC Inspector File Recovery. Если потёртые файлы восстановятся - значит только заголовок подтирается, а тело файла пишется на свободное место. Если не восстановятся - значит трётся сразу с первого кластера, обозначенного стёртым.
Re[DFAD1-RIPE]:
от:DFAD1-RIPEДумаю, что можно продолжать снимать. Флешка отличается от магнитных носителей, чтобы переписать блок, он должен быть сначала стерт. Поначалу, из-за того что сушествует физ. лимит на кол-во циклов стирания, стандартная FAT была доработана - http://en.wikipedia.org/wiki/Flash_memory#Flash_file_systems. А сейчас все подобные функции возложены на конроллер флешки. Так что, если Вы стерли картинку - контроллер флешки просто будет выделять подготовленные блоки, а не циклить занятый.
Ну да, цель вполне конкретная - знать, что делать после случайного удаления важного кадра: немедленно бежать домой восстанавливать информацию, или можно, никуда не торопясь, снять ещё десяток-другой кадров.Подробнее
Конечно, если флешка забьется, то контроллеру придется рециклить блоки. Особо подозрительные личности и вовсе не стирают отдельные кадры в камере - дабы не уменьшать ресурс карты.
от: dimadimaВ К. не такие уж и дураки. :) Они наступили на эту граблю только один раз - с 300Д. Для 350Д прошивка была без "излишеств" от камеры с другой ниши.
Знаю, что была прошивка, модифицированная каким то нашим программистом, который открыл некоторые ф-ции d350, залоченные по маркетингу.
Re[DFAD1-RIPE]:
от:DFAD1-RIPE
А вот это как раз давно решённая проблема: FAT в числе прочего содержит информацию вида "продолжение читать в секторе № ХХХ". И никто не мешает разместить последовательные кусочки файла, например, в секторах 43, 21 и 42.
Буду разбираться сегодня вечером, о результате сообщу. :)Подробнее
Да естественно это так.
Просто вы задали вопрос так, что совершенно не понятно, что
а-вы с этим знакомы
б-для чего это вам
поэтому и ответы у всех издалека и попроще
Re[vga50]:
По 300д согласен, дело давнее было, подзабылось.
А вот по работе контроллеров не понятно.
FAT это стандарт. А в какой последовательности писать в свободные блоки решает драйвер.
Контроллер выполняет низкоуровневые апаратные фции, помоему не он решает какой блок писать.
Драйвер камеры может прочитать (записать) не в той последовательности чем Windows. В буфере потом все отсортируется. И цепочка кластеров в FAT будет помечена как надо.
И далее, не совсем понял в приведенной ссылке чем отличается запись в свободный блок, от записи с предварительным стиранием? В обоих случаях запись поверху.
Даже форматирование по сути запись 0x0 в сектор.
А вот по работе контроллеров не понятно.
FAT это стандарт. А в какой последовательности писать в свободные блоки решает драйвер.
Контроллер выполняет низкоуровневые апаратные фции, помоему не он решает какой блок писать.
Драйвер камеры может прочитать (записать) не в той последовательности чем Windows. В буфере потом все отсортируется. И цепочка кластеров в FAT будет помечена как надо.
И далее, не совсем понял в приведенной ссылке чем отличается запись в свободный блок, от записи с предварительным стиранием? В обоих случаях запись поверху.
Даже форматирование по сути запись 0x0 в сектор.
Re[DFAD1-RIPE]:
Всем ответившим большое спасибо! Тему закрываю.
