Поддержка длинных имен файлов.


Начиная с WIN95 и дальше, ОС поддерживает длинные имена файлов до 255 символов, также национальные алфавиты локализованных ОС.

В MSDOS, начиная с версии 4.0, была 866 кодовая таблица. В Widows появилась Win – 1251, которая хранит символы не в одном, а в двух байтах (Unicode) и сейчас структура этого кода доводится до четырех байтов, в результате того, что символики не хватает.

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

Была разработана структура FAT VFAT, которая работает с длинными и короткими именами и обращение к файлу возможно и по длинному и по короткому имени.

У VFAT появились дополнительные требования.

Короткое имя файла должно удовлетворять следующим требованиям:

1) не более восьми символов в имени и трех на расширение;

2) в имени используются английские буквы, допустимо использование русских букв при наличии кодовой таблицы. Символы, допустимые в именах файлов: $, %, ^, ~, ,, @, !, (, ), {, }, #, &, _, -.

3) полный путь к файлу не больше, чем 67 символов, а 68-ой символ должен быть ‘\0’;

4) VFAT при преобразовании изменяет строчные буквы на прописные;

Ни одна из системных программ не использует атрибуты файла одновременно, поэтому если все 4 бита (только для чтения, скрытый, системный и метка Тома) установлены в единицу, то данный элемент FAT – таблицы используются для хранения длинного имени файла.

VFAT использует несколько записей FAT – таблицы для хранения длинного имени файла следующим образом:

в FAT есть некоторая i-я запись, в которой хранится вся структура, предназначенная для короткого имени, которое связано с длинным.

В (i+1) лежит первая запись длинного имени, в (i+2) – вторая и т.д.:

 

i i+1 i+2   i+n  

 

Требования к длинному имени:

1) у каждого длинного имени есть связанное с ним короткое;

2) длинное имя содержит последовательность меньше, чем в 255 символов;

3) добавились следующие символы, которые можно использовать для длинного имени: ., ,, ,[], =,+;

4) проблемы в начале и в конце имени убираются автоматически;

5) полный путь к файлу стал равен 260 символов плюс символ ‘\0’;

6) в имени файла допустимы строчные символы.

Теперь структура каждой записи такова:

1б – порядковый номер записи;

10б – символы длинного имени;

1б – атрибут длинного имени;

1б – тип (пишется какой-то код, который идентифицирует элемент FAT-таблицы как элемент длинного имени). Это нужно чтобы при работе только с коротким именем остальные записи пропускались.

1б – контрольная сумма;

12б – продолжаются символы имени;

2б – либо ничего, либо записаны нули;

4б – символы имени.

Контрольная сумма генерируется по контрольному имени, и если она изменилась (вне ОС Windows95, 98 …), то это значит, что длинное имя не имеет никакого смысла.

 



Дата добавления: 2016-07-18; просмотров: 1886;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.006 сек.