Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Файловая система операционной системы Windows 98






 

Первая версия операционной системы Windows 95 использовала файловую систему MS-DOS, с именами файлов из 8 + 3 символов и системами FAT-12 и FAT-16. Во второй версии Windows 95 были разрешены длинные имена файлов в новой файловой системе FAT-32, разработанной для поддержки дисков размером более 8 Гбайт и дисковых разделов больше 2 Гбайт. В операционных системах Windows 98 использовалась также файловая система FAT-32.

В Windows 98 была разработана новая система поддержки длинных имен, обладавшая обратной совместимостью со старой системой имен 8 + 3, применявшейся в MS-DOS. Структура каталогов представляла собой список 32-байтовых описателей, формат которых был заимствован у файловой системы СР/М (написанной для процессора Intel 8080). Однако в 32-байтовом описателе файла оставались незадействованными 10 байт (рис.1), которые стали использоваться в FAT-32 (рис.3.)

 


Изменение каталоговой записи состояло в добавлении пяти новых полей на место неиспользовавшихся 10 байт. Поле «NT» было предназначено для совместимости с Windows NT и обеспечивало отображение имени файла в правильном регистре. Поле «Время создания» (Sec) решило проблему невозможности хранения времени суток в 16-битовом поле с точностью до секунды. Восемь дополнительных разрядов позволили хранить поле «Время создания»(Creation time) с точностью до 10 мс. Поле «Дата последнего доступа» (Last access) было создано для хранения даты последнего доступа к файлу. В связи с переходом на файловую систему FAT-32 для хранения старших разрядов номера начального блока файла потребовались дополнительные 16 бит.

Для предоставления длинным именам файлов обратной совместимости с MS-DOS было принято решение – назначение каждому файлу двух имен: длинного имени файла (в формате Unicode, для совместимости с Windows NT) и имени формата 8 + 3 для совместимости с MS-DOS. При создании файла, имя которого не удовлетворяло правилам MS-DOS, Windows 98 создавало дополнительное имя формата MS-DOS в соответствии с определенным алгоритмом. Использовались первые шесть символов имени, которые при необходимости преобразовывались в верхний регистр ASCII, после чего к ним добавляется суффикс «~ 1». Если такое имя уже было, то использовался суффикс «~ 2) и т.д. Кроме того, удалялись пробелы и лишние точки, а определенные символы преобразовывались в символы подчеркивания. Например, имя файла «The time has come the walms» получало формат MS-DOS «THETIM~1».

Имя формата MS-DOS хранилось в каталоге в описателе (рис. 3.). Если у файла было также длинное имя, оно хранилось в одной или нескольких каталоговых записях, предшествующих описателю файла с именем в формате MS-DOS. Каждая такая запись содержала до 13 символов формата Unicode. Элементы имени хранились в обратном порядке, начинаясь сразу перед описателем файла в формате MS-DOS и последующими фрагментами перед ним (рис.4.)

 


Для отличия каталоговых записей, содержащих длинные и короткие имена файла в поле «Атрибуты» (Attributes) для фрагмента длинного имени устанавливалось значение «0x0F», что соответствовало невозмож­ной комбинации атрибутов для описателя файла в MS-DOS. Старые программы, написанные для работы в MS-DOS, при чтении каталога игнорировали такие описа­тели как неверные. Порядок фрагментов имени учитывался в первом байте каталоговой записи. Последний фрагмент имени отмечался добавлением к порядковому номеру числа 64. Поскольку для порядкового номера использовалось 6 бит, теоретически максимальная длина имени файла могла составить 63 х 13 = 819 символов. На практике она ограничивалась 260 символами.

Каждый фрагмент длинного имени содержал поле «Контрольная сумма» (Checksum) во избежание проблем с переводом длинных имен файлов в короткие имена. Реализация файловой системы FAT-32 концептуально близка к реализации файловой системы FAT-16. Однако вместо массива из 65536 элементов в ней используется столько, сколько нужно, чтобы покрыть весь раздел диска. Если диск содержит миллион блоков, то и таблица будет состоять из миллиона элементов. Для экономии памяти система Windows 98 не хранит их все сразу в памяти, а ис­пользует окно, накладываемое на таблицу.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.