пятница, 23 апреля 2010 г.

Почему Корзина имеет разные файловые имена на дисках FAT и NTFS?

Это перевод Why does the Recycle Bin have different file system names on FAT and NTFS? Автор: Реймонд Чен.

На диске FAT каталог, который хранит данные Корзины, называется RECYCLED, но на NTFS диске он называется RECYCLER. Зачем надо было менять его имя?

Корзины на FAT и NTFS дисках имеют различную внутреннюю структуру, потому что на NTFS есть такая штука как "безопасность", а на FAT - нет. Все файлы на FAT диске просто складируются прямо в каталог RECYCLED, в то время как на NTFS дисках файлы раскладываются в папки, соответствующие пользователям: RECYCLER\S-.... (при этом не имеет значения, работаете ли вы на английской или шведской Windows).

Предположим, что для Корзин использовалось бы одно и то же имя каталога на обеих файловых системах - скажем, RECYCLED. Поскольку у вас есть штатная возможность сконвертировать FAT-диск в NTFS (утилитой CONVERT), то это означает, что когда FAT диск конвертируется в NTFS, то после конвертации на NTFS-диске оказывается Корзина в стиле FAT. Но поскольку имена у них одинаковые, то Корзина говорит: эй, гляди сюда, тут есть каталог RECYCLED. Это должно быть мой NTFS-каталог!" - вот только он им не является. Это Корзина FAT, которая просто осталась после конвертации файловой системы диска.

Если мы дадим Корзине на NTFS другое имя каталога, то оболочка больше не будет обманута "неверным" типом структуры каталогов папки Корзины.

Да, эта проблема могла быть решена и другим способом. Например, можно было написать код, который определяет формат Корзины в заданном каталоге, игнорируя Корзину в неверном формате (или, если вы достаточно амбициозны, то конвертируя Корзину в нужный формат). Но это была бы чрезмерная разработка (over-engineering). Вам пришлось бы написать (и тестировать) код определения (и, опционально, код конвертации), кроме того, у вас остался бы шанс на ложное срабатывание, этот код работал бы при каждом старте системы и его нужно было бы менять каждый раз, когда меняются форматы Корзин. И всё это для сценария, который случается, в худшем случае, один раз за жизнь логического диска.

Или же вы могли просто изменить имя каталога - и всё (здесь я мог бы сделать одно действительно ужасное замечание о "Гордиевом узле", но воздержусь).

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.