Материал: Лекции_ОС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

13.1.2 Рок-ридж расширения для unix

Это расширение было создано, чтобы файловая система UNIX была представлена на CD-ROM.

Для этого используется поле System use.

Расширения содержат следующие поля:

  1. PX - атрибуты POSIX (стандартные биты rwxrwxrwx, (чтение, запись, запуск) (владелец, группа, все)  )

  2. PN - старший и младший номер устройств (чтобы можно было записать каталог /dev, который содержит устройства)

  3. SL - символьная связь

  4. NM - альтернативное имя, позволяет использовать произвольные имена, без ограничений

  5. CL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)

  6. PL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)

  7. RE - перераспределение (чтобы обойти ограничение на вложенность каталогов)

  8. TF - временные штампы (время создания, последнее изменение , последний доступ)

 

13.1.3 Joliet расширения для Windows

Это расширение было создано, чтобы файловая система ОС Windows 95 была представлена на CD-ROM.

Для этого используется поле System use.

Расширения содержат следующие поля:

  1. Длинные имена файлов (до 64 символов)

  2. Набор символов Unicode (поддержка различных языков)

  3. Преодоление ограничений на вложенность каталогов

  4. Имена каталогов с расширениями

13.1.4 Romeo расширения для Windows

Стандарт Romeo предоставляет другую возможность записи файлов с длинными именами на компакт-диск. Длина имени может составлять 128 символов, однако использование кодировки Unicode не предусмотрено. Альтернативные имена в этом стандарте не создаются, поэтому программы MS-DOS не смогут прочитать файлы с такого диска.

Вы можете выбрать стандарт Romeo только в том случае, если диск предназначен для чтения приложениями Windows 95 и Windows NT.

 

13.1.5 HFS расширения для Macintosh

Иерархическая файловая система компьютеров Macintosh, не совместима ни с какими другими файловыми системами и называется Hierarchical File System (HFS).

 

13.1.6 Файловая система UDF (Universal Disk Format)

Изначально созданная для DVD, с версии 1.50 добавили поддержку CD-RW и CD-R.

Сейчас последняя версия 2.01. Официальную информацию (и спецификацию) можно получить на сервере www.osta.org - сервер Optical Storage Technology Association.

Эта файловая система позволяет отформатировать CD-диск и работать с ним, как с обычным диском, копируя, удаляя и создавая файлы.

Недостаток, еще меньший объем диска (из 700Мбайт остается 550МБайт).  

13.2 Файловая система CP/M

CP/M (Control Program for Microcomputers) - операционная система, предшественник MS-DOS.

В ее файловой системе только один каталог, с фиксированными записями по 32 байта.

Имена файлов - 8+3 символов верхнего регистра.

После каждой перезагрузки рассчитывается битовый массив занятых и свободных блоков. Массив находится постоянно в памяти (для 180Кбайтного диска 23 байта массива). После завершения работы, он не записывается на диск.

Каталоговая запись CP/M

 

Видно, что максимальный размер файла 16Кбайт (16*1Кбайт).

Для файлов размером от 16 до 32 Кбайт можно использовать две записи. Для до 48 Кбайт три записи и т.д.

Порядковый номер записи хранится в поле экстент.

Код пользователя - каждый пользователь мог работать только со своими файлами.

Порядок чтения файлов:

  1. Файл открывается системным вызовом open

  2. Читается каталоговая запись, из которой получает информацию о всех блоках.

  3. Вызывается системный вызов read

13.2 Файловая система ms-dos (fat-12,16,32)

В первых версиях был только один каталог (MS-DOS 1.0).

С версии MS-DOS 2.0 применили иерархическую структуру.

Каталоговые записи, фиксированны по 32 байта.

Имена файлов - 8+3 символов верхнего регистра.

Порядок чтения файлов:

  1. Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).

  2. Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.

  3. Ищет описатель файла.

  4. Читается дескриптор файла, из которого получает информацию о всех блоках.

  5. Вызывается системный вызов read

Каталоговая запись MS-DOS, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98

 

Атрибут архивный нужен для программ резервного копирования, по нему они определяют надо копировать файл или нет.

Поле время (16 разрядов) разбивается на три подполя:

  1. секунды - 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)

  2. минуты - 6бит

  3. часы - 5бит

Поле даты (16 разрядов) разбивается на три подполя:

  1. день - 5бит

  2. месяц - 4бита

  3. год - 7бит (начинается с 1980г, т.е. максимальный 2107г.)

Теоретически размер файлов может быть до 4Гбайт (32 разряда).

Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.

В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:

  1. FAT-12

  2. FAT-16

  3. FAT-32 - для адреса используются только 28 бит, поэтому правильнее назвать FAT-28

Размер блока (кластера) должен быть кратным 512 байт.

 

13.2.1 Fat-12

В первой версии MS-DOS использовалась FAT-12 с 512 байтовыми блоками, поэтому максимальный размер  раздела  мог достигать 2Мбайта (2^12*512байта).

С увеличением дисков, этого стало не хватать, стали увеличивать размер блоков 1,2 и 4 Кбайта (2^12) (при этом эффективность использования диска падает).

FAT-12 до сих пор применяется для гибких дисков.

 

13.2.2 Fat-16

Особенности:

16-разрядные дисковые указатели

Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт (2^15)

Таблица постоянно занимала в памяти 128 Кбайт.

Максимальный размер раздела диска мог достигать 2Гбайта (2^16*32Кбайта).

Причем кластер в 32 Кбайта для файлов со средним размером в 1Кбайт, не эффективен.

 

13.2.3 Fat-32

Особенности:

28-разрядные адреса

Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт

Максимальный размер раздела диска мог бы достигать 2^28*2^15, но здесь уже вступает другое ограничение - 512 байтные сектора адресуются 32-разрядным числом, а это 2^32*2^9, т.е. 2 Тбайта.

 

Максимальный размер раздела для различных размеров кластеров

Размер кластера, Кбайт

Fat-12, Мбайт

Fat-16, Мбайт

Fat-32, Тбайт

0.5

2

32

0.13

1

4

64

0.27

2

8

128

0.54

4

16

256

1

8

 

512

2

16

 

1024

2

32

 

2048

2

 

Из таблицы видно, что FAT-16 использовать не эффективно уже при разделах в 256 Мбайт, учитывая, что средний размер файла 1Кбайт.

 

13.2.4 Расширение Windows 98 для fat-32

Для расширения были задействованы 10 свободных бит.

 

Формат каталоговой записи в системе FAT-32 с расширениями для Windows 98

Пять добавленных полей:

  1. NT - предназначено для совместимости с Windows.

  2. Sec - дополнение к старому полю время, позволяет хранить время с точностью до секунды (было 2 секунды)

  3. Дата и время создания файла (Creation time)

  4. Дата (но не время) последнего доступа (Last access)

  5. Для хранения номера блока выделено еще 2 байта (16 бит), т.к. номера блоков стали 32-разрядные.

 

Основная надстройка над FAT-32, это длинные имена файлов.

Для каждого файла стали присваивать два имени:

  1. Короткое 8+3 для совместимости с MS-DOS

  2. Длинное имя файла, в формате Unicode

Доступ к файлу может быть получен по любому имени.

Если файлу дано длинное имя (или используются пробелы), то система делает следующие шаги:

  • берет первые шесть символов

  • преобразуются в верхний регистр ASCII, удаляются пробелы, лишние точки, некоторые символы преобразуются в "_"

  • добавляется суффикс ~1

  • если такое имя есть, то используется суффикс ~2 и т.д.

Короткие имена хранятся в в обычном дескрипторе файла.

Длинные имена хранятся в дополнительных каталоговых записях, идущих перед основным описателем файла. Каждая такая запись содержит 13 символов формата Unicode (для символа Unicode нужно два байта).

 

Формат каталогов записи с фрагментом длинного имени файла в Windows 98

 

Поле "Атрибуты" позволяет отличить фрагмент длинного имени (значение 0х0F) от дескриптора файла. Старые программы MS-DOS каталоговые записи со значением поля атрибутов 0х0F, просто игнорируют.

Последовательность - порядковый номер в последовательности фрагментов.

Длина имени файла ограничена 260 символами не из-за порядкового номера (1 байт), для номера используются только 6 бит 6х13=819 символов.

Контрольная сумма нужна для выявления ошибок, т.к. файл с длинным именем может удалить MS-DOS и создать новый, и тогда останутся не удаленные записи, которые "прилипнут" к новому файлу. Т.к. это поле один байт, есть вероятность 1/256 что Windows 98 не заметит подмены.

Источник: https://files.student-it.ru/previewfile/284616

Смотрите также:

2014 biblioonline ru