Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Что происходит при удалении файлов?  (Прочитано 7248 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 4030230

  • Автор темы
  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Добрый день!
Такой вопрос: что именно происходит при удалении файла? Почему в ext4 удаление больших файлов быстрее, чем в ext3? Разве при удалении не просто запись о файле стирается из каталога? Собственно, почему 2 фильма общим обьемом 3.4Гб удаляются секунд 5-7?

Villain

  • Гость
Re: Что происходит при удалении файлов?
« Ответ #1 : 02 Января 2009, 21:55:15 »
Во многих файловых системах при удалении файла он не исчезает бесследно, а только получает отметку «удалён», что означает, что пространство, которое было занято файлом может быть повторно использовано для хранения другой информации. Как правило такие файлы, если поверх них ничего не записано можно восстановить специальными средствами.

Некоторые файловые системы перемещают удалённые файлы в специальный каталог, из которого их потом можно восстановить стандартным способом — копированием или перемещением. Полное же удаление файла производится лишь при нехватке места или при превышении лимитов.

Оффлайн 4030230

  • Автор темы
  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Re: Что происходит при удалении файлов?
« Ответ #2 : 02 Января 2009, 22:01:57 »
На счет фильмов я по-моему понял - фильмы были на флешке, и при удалении наутилус пытался их скопировать в корзину.

А что на счет разницы в скорости удаления между ext3/ext4? Я не пользовал еще ext4, но по заверениям разработчиков скорость удаления больших файлов увеличилась. Так вот какая разница между удалением большого файла и маленького? Если файл просто помечается, как удаленный, то я не вижу где тут разница. Если файл переносится в специальную папку - она по идее должна быть на том же разделе и перенос сводится к перемещению маленькой записи из одного каталога в другой... Объясните разницу!

Villain

  • Гость
Re: Что происходит при удалении файлов?
« Ответ #3 : 02 Января 2009, 22:12:50 »
ХЗ что там накрутили разработчики :P Может они эти метки сделали меньшего размера и поэтому переписывается меньше информации - отсюда и скорость :o

Оффлайн axe

  • Старожил
  • *
  • Сообщений: 1203
    • Просмотр профиля
Re: Что происходит при удалении файлов?
« Ответ #4 : 02 Января 2009, 23:03:02 »
хочешь знать - учи матчасть.

1) Прежде всего, стоит разделять удаление в корзину (надстройка над ФС средствами оболочки) и собственно удаление.
2) Далее, в отличие от FAT, в ExtN "удаление" означает именно удаление, а не "пометить специальным образом а данные не трогать". Поэтому удаление больших файлов происходит не мгновенно.
3) Почему в Ext4 удаление быстрее, написано тут: http://kernelnewbies.org/Ext4#head-7c5fd53118e8b888345b95cc11756346be4268f4. Ключевое слово: extents.

Оффлайн 4030230

  • Автор темы
  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Re: Что происходит при удалении файлов?
« Ответ #5 : 02 Января 2009, 23:29:39 »
Вот, нашел в интернете:
Цитировать
Есть между файловыми системами Ext2 и Ext3 еще одно отличие. Эти файловые системы по-разному удаляют файлы. Ext2 только записывает в дескриптор время удаления файла (и помечает данные блоки данных и дескриптор как свободные в битовых картах блоков и дескрипторов). Ext3, кроме этого, еще удаляет номера блоков в дескрипторе, что облегчает восстановление системы после сбоя.

В результате Ext2 имеет программы восстановления удаленных файлов - команду lsdel - часть набора программ debugfs, и специальные программы восстановления удаленных файлов (undelete)[1]. В Ext3 эти программы не работают.

 

Страница сгенерирована за 0.039 секунд. Запросов: 23.