Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2012, 08:39   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Так что вероятнее всего Ваша программа работает так:
- несколько раз обновляется значение в буфере записи,
- результат один раз записывается на диск.
s-andriano, может быть. Лень проверять.
я предложил вариант с закрытием файла после каждого цикла записи. Возможно это заставит сбрасывать кэш на диск.
Хотя, конечно, не факт!


да и в соответствии с постом #16 - данный подход - это всё равно иммитация и сублимация. (хотя, конечно, в некоторых случаях, файл восстановить будет действительно невозможно. Но насторяживает, что не во всех!


p.s. к слову.
Цитата:
Сообщение от s-andriano
С файлом расположенном, скажем, на CD такое сделать принципиально невозможно ввиду отсутствия операции записи или стирания.
Это же бредовая кондовая жесть!!! При чём здесь носитель, на который ФИЗИЧЕСКИ ОТСУТСТВУЕТ запись?!!! Вы бы ещё про дискетки с защитой от записи вспомнили! Или файлы на магнитной ленте (привет Синклеру), где нужно было на магнитофоне кнопку плей нажимать, чтобы считать файл!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2012, 13:39   #22
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
я предложил вариант с закрытием файла после каждого цикла записи. Возможно это заставит сбрасывать кэш на диск.
Вряд ли.
Никаких разумных оснований на этот счет нет.
Цитата:
Но насторяживает, что не во всех!
Это не просто настораживает, это прямо свидетельствует, что задача не решена. А не решена она потому, что в данной постановке не может быть решена в принципе.
Цитата:
Это же бредовая кондовая жесть!!! При чём здесь носитель, на который ФИЗИЧЕСКИ ОТСУТСТВУЕТ запись?!!! Вы бы ещё про дискетки с защитой от записи вспомнили! Или файлы на магнитной ленте (привет Синклеру), где нужно было на магнитофоне кнопку плей нажимать, чтобы считать файл!
Отнюдь.
Это лишь одно и подтверждений тезиса о том, что на файловом уровне данная задача нереализуема - необходим анализ массы дополнительной информации, не относящейся непосредственно к файлу. Не будете же Вы утверждать, что по своим свойствам файл на CD чем-то отличается от файла на флешке либо файла на винчестере.

И еще 2 замечания:

1. Необходимые сведения для решения задачи:
а) физический принцип работы накопителя,
б) размер кластера накопителя,
в) тип файловой системы,
г) стратегия ОС по выделению места для файла,
д) уверенность в том, что ОС не оптимизирует структуру диска (что приводит к перемещению файлов) в фоновом режиме,
е) наличие дискового кэша и стратегия кэширования, а также способы отключения дискового кэша.

2. По-хорошему для решения задачи следует выполнить следующие действия:
а) выяснения характеристик носителя, на котором расположен файл,
б) определения типа ФС,
в) чтение необходимых служебных областей ФС,
г) непосредственное стирание секторов диска, которые ОС отвела для данного файла,
д) посекторная очистка всего свободного пространства накопителя, в котором могут оказаться фрагменты файла в результате фоновой оптимизации ФС,
е) очистка "хвостов" всех существующих на диске файлов - по тем же соображениям,
ж) выяснение, в каком месте расположен swap-файл и его очистка.

Уже по этому списку видно, что для решения задачи нужно:
а) иметь хорошее представление о "внутренностях" ФС и ОС,
б) полномочия администратора для выполнения существенной части действий программы.

И еще раз выскажу мысль, которую высказывал неоднократно: Для написания нормально работающей программы совершенно недостаточно уметь программировать, - совершенно необходимы глубокие знания в предметной области, для которой предназначена программа.
s-andriano вне форума Ответить с цитированием
Старый 11.07.2012, 15:04   #23
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от s-andriano
Не будете же Вы утверждать, что по своим свойствам файл на CD чем-то отличается от файла на флешке либо файла на винчестере.
Демагогия. Буду! И ещё как буду!
Я буду утверждать, что файл отличается самым принципиальым (для данной задачи) образом: файл на CD не подлежит никаким изменениям и, главное, НЕ МОЖЕТ БЫТЬ УДАЛЁН! (напоминаю, что мы обсуждаем алгоритм Питера Гутмана о безвозратном стирании информации. А каком стирании информации может идти речь в случае CD файла?!!!)


Цитата:
Сообщение от s-andriano
Необходимые сведения для решения задачи:
....
2. По-хорошему для решения задачи следует выполнить следующие действия:
....
с этим согласен. Для нормальной (реально работающей) программы всё так!
Более того, программа должна сообщать о всех найденных отклонениях, возникших проблемах и т.п. (я не уверен, что для тех же флешек или SSD винтов данный способ гарантированного стирания информации вообще применим).

И ещё, я вполне допускаю, что автор темы оформит к данной программке интерфейс, сделает качественную пояснительную записку и сдаст/защитит работу как выполненную.
С наших преподавателей вполне станется, что их такое решение устроит.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.07.2012, 19:09   #24
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Демагогия. Буду! И ещё как буду!
Хорошо.
Я надеюсь, Вы сможете аргументировать это утверждение.
И еще искренне надеюсь, что в качестве аргументов Вы будете приводить свойства именно файла, а не накопителя, на котором этот файл в данный момент записан (согласитесь, что:
- файл в любой момент може5т быть скопирован на любой другой накопитель,
- средствами ОС, предназначенными для файлового в/в, свойства накопителя не определяются).
Цитата:
с этим согласен. Для нормальной (реально работающей) программы всё так!
Не совсем. Второпях забыл упомянуть еще:
з) прочитать каждый из файлов, остающихся на накопителе, осуществить многопроходную очистку "места под ними", после чего записать файл обратно.

В общем, геморройное это дело...
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Познакомлюсь с гетеросексуалистом из Питера Гвиневра Свободное общение 161 19.04.2012 10:41
Разработайте алгоритм методом пошаговой детализации и программу, реализующую этот алгоритм. iamhated Помощь студентам 1 15.01.2012 16:24
Разработайте алгоритм методом пошаговой детализации и программу, реализующую этот алгоритм iamhated Помощь студентам 1 14.01.2012 16:22
Программисты БД из Питера GRIV Фриланс 8 04.03.2011 16:28
Не желает работать правильно программа из Питера Абеля bullvinkle Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 28.02.2009 11:11