Для компакт дисков могут использоваться следующие файловые системы
В настоящее время для записи и считывания данных с оптических дисков (компакт-дисков) используются различные файловые системы и форматы записи информации. Наибольшее распространение получила файловая система CDFS (Compact Disk File System), отвечающая стандарту ISO 9660 (ISO – International Organization for Standartization, международная организация по стандартизации, созданная в 1947 г. для разработки стандартов в различных областях техники).
Данный стандарт описывает размещение информации на компакт-дисках и имеет два уровня ограничений на длину имен файлов и директорий, поэтому иногда в технической литературе вместо файловой системы CDFS говорят о файловой системе ISO Level 1 и ISO Level 2.
Файловая система CDFS (ISO Level 1) поддерживается многими ОС (см. табл. 6.6), однако в ней можно использовать имена файлов длиной не более 11 символов (11 = 8 + 3).
Файловая система CDFS (ISO Level 2) допускает использование имен файлов длиной не более 31 символа, буквы для написания имен файлов используются строчные, глубина вложения каталогов – не более 8 уровней.
В ОС Windows ХР встроены программные средства (мастер записи компакт-дисков) для записи оптических дисков с использованием данной файловой системой.
Для ОС семейства Windows (Windows 95, Windows 98, Windows NT 4.0, Windows 2000, Windows Me, Windows ХР) используется файловая система Joliet, в которой возможности размещения и обработки файлов превышают ограничения стандарта ISO 9660. Данная файловая система позволяет использовать в именах файлов и папок все возможности ОС Windows. К таким возможностям относятся, например, наличие в именах файлов пробелов, русских букв и специальных символов в длинных именах файлов. Многие программные средства, предназначенные для записи оптических дисков, поддерживают файловую систему Joliet.
Однако при создании компакт-дисков и использовании их в других ОС желательно использовать стандарт ISO 9660. Поэтому если планируется использовать создаваемый компакт-диск только при работе с ОС семейства Windows, то лучше использовать файловую систему Joliet.
Перечисленные выше файловые системы позволяют выбрать формат записи информации на компакт-диск. Различают варианты форматов записи компакт-дисков Mode 1: CDROM и Mode 2: CDROM ХА. По умолчанию предлагается второй вариант формата записи компакт-дисков Mode 2: CDROM ХА, который обеспечивает более гибкий подход к записи информации и поэтому является предпочтительным.
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРес
Файловая система
Файловая система Файловая система – это правила, определяющие, каким образом будет организовано хранение данных на дисках. Поскольку данные хранятся в виде файлов, файловая система определяет их формат – максимально возможные размер, длину имени и другие
1.3.1 Файловая система
1.3.1 Файловая система Файловая система UNIX характеризуется:• иерархической структурой,• согласованной обработкой массивов данных,• возможностью создания и удаления файлов,• динамическим расширением файлов,• защитой информации в файлах,• трактовкой периферийных
3.1. Файловая система
3.1. Файловая система Прежде чем перейти к настройкам системы, нам нужно познакомиться поближе с файловой системой Linux. О структуре мы уже немного поговорили в разд. 2.3, когда разбивали жесткий диск. В табл. 2.1 были перечислены разделы, которые можно создать в Linux, а это не что
13.4. Сетевая файловая система NFS
13.4. Сетевая файловая система NFS NFS (эта аббревиатура чаще всего расшифровывается как Network File System, хотя в одном из источников я встретил расшифровку Network File Sharing) - это протокол, разработанный Sun Microsystems для разделения ресурсов (файлов и каталогов) локальной сети. NFS-клиент
7.2.2.1. Корневая файловая система и система инициализации
7.2.2.1. Корневая файловая система и система инициализации Итак, вы выбрали загрузку Linux. Загрузчик GRUB загрузит ядро, а затем передаст ему параметры и управление. Подробновесь процесс загрузки ядра рассматриваться здесь не будет. Вам достаточно знать следующее: ядру при
Файловая система
Файловая система Теперь рассмотрим несколько команд rundll32.exe, предназначенных для работы с файловой системой Windows. С их помощью можно как создавать файлы, так и удалять уже созданные файлы и каталоги Windows, но нельзя указать содержимое
Файловая система
Файловая система Настройки файловой системы являются критически важными для оптимизации скорости работы компьютера. Как правило, если параметры реестра, описывающие работу файловой системы, не оптимизированы, то возможно снижение скорости работы компьютера на 10-70%. Все
Файловая система
Файловая система Теперь скажем несколько слов о содержимом файловой системы Windows. Как правило, здесь также есть над чем поработать, особенно если места на жестком диске мало. Автор лишь приведет определенные пути к каталогам и ветви реестра, а вы сами решайте, нужны ли они
Файловая система
Файловая система С помощью этого раздела можно указать права доступа к различным каталогам файловой системы Windows XP. Чтобы указать права доступа к каталогу, необходимо сначала добавить в раздел Файловая система путь к каталогу. Для этого необходимо в контекстном меню
Файловая система
Файловая система Для доступа к файловой системе используется следующий вызов: Set имя_объекта = CreateObject("Scripting.FileSystemObject"). Объект поддерживает следующие методы.? BuildPath("путь к каталогу", "название файла") — создает путь на основе указанного пути к каталогу и имени файла. Иными
13. Файловая система Windows XP
13. Файловая система Windows XP Многих пользователей интересует, что представляет собой файловая система и чем она полезна в повседневной работе. Файловая система определяет порядок размещения данных операционной системой на диске, а также их последующего считывания,
Глава 3 Файловая система
Глава 3 Файловая система Одно из самых важных условий работы с документами – их хранение. Представьте, как сложно было бы получать книги в библиотеке, если бы они не были разложены по стеллажам и полкам. Если сваливать все бумаги в одну кучу, то уже через несколько дней
6.6.2. Файловая система FAT
6.6.2. Файловая система FAT Файловая система FAT используется ОС MS DOS и ОС Windows для упорядочения файлов и управления ими. В основу данной файловой системы положена таблица размещения FAT (File Allocation Table), которая представляет собой структуру данных, создаваемую ОС при
6.6.2.1. Файловая система FAT 16
6.6.2.1. Файловая система FAT 16 Файловая система FAT 16 поддерживается ОС MS DOS, Windows 95, Windows 98, Windows 2000, а также некоторыми версиями ОС UNIX.Цифра 16 в названии файловой системы указывает на число бит (двоичных разрядов), необходимых для хранения информации о номерах кластеров,
6.6.5. Файловая система UDF
6.6.5. Файловая система UDF Файловая система UDF (Universal Disk Format) разработана в соответствие со стандартом ISO 13346 и используется для размещения информации на CD– и DVD-накопителях, а также для обмена информации между ними. Файловая система UDF позволяет использовать CD и DVD как НЖМД,
Файловая система для SSD
По стандарту диски могут быть разбиты на логические разделы, но мы будем рассматривать диски с одним разделом.
Как вы знаете из предыдущих лекций: блоки записываются последовательно; по спирали; сектора по 2352 байта.
Порядок записи информации:
Каждый CD-ROM начинается с 16 блоков (неопределенных ISO 9660), эта область может быть использована для размещения загрузчика ОС или для других целей.
Дальше один блок основного описателя тома - хранит общую информацию о CD-ROM, в нее входит:
- идентификатор системы (32байта)
- идентификатор тома (32байта)
- идентификатор издателя (128байт)
- идентификатор лица, подготовившего данные (128байт)
- имена трех файлов, которые могут содержать краткий обзор, авторские права и библиографическая информация.
- ключевые слова: размер логического блока (как правило 2048, но могут быть 4096, 8192 и т.д.); количество блоков; дата создания; дата окончания срока службы диска.
- описатель корневого каталога (номер блока содержащего каталог).
Могут быть дополнительные описатели тома, подобные основному.
Каталоговая запись стандарта ISO 9660.
Каталоговая запись стандарта ISO 9660.
Расположение файла - номер начального блока, т.к. блоки располагаются последовательно.
L - длина имени файла в байтах
Имя файла - 8 символов, 3 символа расширения (из-за совместимости с MS-DOS). Имя файла может встречаться несколько раз, но с разными номерами версий.
Sys - поле System use (используется различными ОС для своих расширений )
Порядок каталоговых записей:
Описатель самого каталога (аналог ".")
Ссылка на родительский каталог (аналог "..")
Остальные записи (записи файлов) в алфавитном порядке
Количество каталоговых записей не ограничено, но ограничено количество вложенности каталогов - 8.
В стандарте ISO 9660 определены три уровня ограничений:
имена файлов и каталогов до 31 символа
- имена файлов и каталогов до 31 символа
- файлы могут быть не непрерывными, состоять из разделов
3.1.2 Рок-ридж расширения для UNIX
Это расширение было создано, чтобы файловая система UNIX была представлена на CD-ROM.
Для этого используется поле System use.
Расширения содержат следующие поля:
PX - атрибуты POSIX (стандартные биты rwxrwxrwx, (чтение, запись, запуск) (владелец, группа, все) )
PN - старший и младший номер устройств (чтобы можно было записать каталог /dev, который содержит устройства)
SL - символьная связь
NM - альтернативное имя, позволяет использовать произвольные имена, без ограничений
CL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)
PL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)
RE - перераспределение (чтобы обойти ограничение на вложенность каталогов)
TF - временные штампы (время создания, последнее изменение , последний доступ)
3.1.3 Joliet расширения для Windows
Это расширение было создано, чтобы файловая система ОС Windows 95 была представлена на CD-ROM.
Для этого используется поле System use.
Расширения содержат следующие поля:
Длинные имена файлов (до 64 символов)
Набор символов Unicode (поддержка различных языков)
Преодоление ограничений на вложенность каталогов
Имена каталогов с расширениями
3.1.4 Romeo расширения для Windows
Стандарт Romeo предоставляет другую возможность записи файлов с длинными именами на компакт-диск. Длина имени может составлять 128 символов, однако использование кодировки Unicode не предусмотрено. Альтернативные имена в этом стандарте не создаются, поэтому программы MS-DOS не смогут прочитать файлы с такого диска.
Вы можете выбрать стандарт Romeo только в том случае, если диск предназначен для чтения приложениями Windows 95 и Windows NT.
3.1.5 HFS расширения для Macintosh
Иерархическая файловая система компьютеров Macintosh, не совместима ни с какими другими файловыми системами и называется Hierarchical File System (HFS).
3.1.6 Файловая система UDF (Universal Disk Format)
Изначально созданная для DVD, с версии 1.50 добавили поддержку CD-RW и CD-R.
Эта файловая система позволяет дописывать диски, а также поддерживает большие размеры файлов и длинные имена файлов.
3.2 Файловая система CP/M
CP/M (Control Program for Microcomputers) - операционная система, предшественник MS-DOS.
В ее файловой системе только один каталог, с фиксированными записями по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
После каждой перезагрузки рассчитывается битовый массив занятых и свободных блоков. Массив находится постоянно в памяти (для 180Кбайтного диска 23 байта массива). После завершения работы, он не записывается на диск.
Каталоговая запись CP/M
Видно, что максимальный размер файла 16Кбайт (16*1Кбайт).
Для файлов размером от 16 до 32 Кбайт можно использовать две записи. Для до 48 Кбайт три записи и т.д.
Порядковый номер записи хранится в поле экстент.
Код пользователя - каждый пользователь мог работать только со своими файлами.
Порядок чтения файлов:
Файл открывается системным вызовом open
Читается каталоговая запись, из которой получает информацию о всех блоках.
Вызывается системный вызов read
3.2 Файловая система MS-DOS (FAT-12,16,32)
В первых версиях был только один каталог (MS-DOS 1.0).
С версии MS-DOS 2.0 применили иерархическую структуру.
Каталоговые записи, фиксированны по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
Порядок чтения файлов:
Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).
Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.
Ищет описатель файла.
Читается дескриптор файла, из которого получает информацию о всех блоках.
Вызывается системный вызов read
Каталоговая запись MS-DOS, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98
Атрибут архивный нужен для программ резервного копирования, по нему они определяют надо копировать файл или нет.
Поле время (16 разрядов) разбивается на три подполя:
секунды - 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)
Поле даты (16 разрядов) разбивается на три подполя:
год - 7бит (начинается с 1980г, т.е. максимальный 2107г.)
Теоретически размер файлов может быть до 4Гбайт (32 разряда).
Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.
В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:
FAT-32 - для адреса используются только 28 бит, поэтому правильнее назвать FAT-28
Размер блока (кластера) должен быть кратным 512 байт.
В первой версии MS-DOS использовалась FAT-12 с 512 байтовыми блоками, поэтому максимальный размер раздела мог достигать 2Мбайта (2^12*512байта).
С увеличением дисков, этого стало не хватать, стали увеличивать размер блоков 1,2 и 4 Кбайта (2^12) (при этом эффективность использования диска падает).
FAT-12 до сих пор применяется для гибких дисков.
16-разрядные дисковые указатели
Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт (2^15)
Таблица постоянно занимала в памяти 128 Кбайт.
Максимальный размер раздела диска мог достигать 2Гбайта (2^16*32Кбайта).
Причем кластер в 32 Кбайта для файлов со средним размером в 1Кбайт, не эффективен.
Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт
Максимальный размер раздела диска мог бы достигать 2^28*2^15, но здесь уже вступает другое ограничение - 512 байтные сектора адресуются 32-разрядным числом, а это 2^32*2^9, т.е. 2 Тбайта.
Максимальный размер раздела для различных размеров кластеров
Размер кластера, Кбайт
Из таблицы видно, что FAT-16 использовать не эффективно уже при разделах в 256 Мбайт, учитывая, что средний размер файла 1Кбайт.
3.2.4 Расширение Windows 98 для FAT-32
Для расширения были задействованы 10 свободных бит.
Формат каталоговой записи в системе FAT-32 с расширениями для Windows 98
Пять добавленных полей:
NT - предназначено для совместимости с Windows.
Sec - дополнение к старому полю время, позволяет хранить время с точностью до секунды (было 2 секунды)
Дата и время создания файла (Creation time)
Дата (но не время) последнего доступа (Last access)
Для хранения номера блока выделено еще 2 байта (16 бит), т.к. номера блоков стали 32-разрядные.
Основная надстройка над FAT-32, это длинные имена файлов.
Для каждого файла стали присваивать два имени:
Короткое 8+3 для совместимости с MS-DOS
Длинное имя файла, в формате 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 не заметит подмены.
3.3 Файловая система NTFS
Файловая система NTFS была разработана для Windows NT.
64-разрядные адреса, т.е. теоретически может поддерживать 2^64*2^16 байт (1 208 925 819 Пбайт~1Йбайт(2 80 )).
Размеры блока (кластера) от 512байт до 64 Кбайт, для большинства используется 4Кбайта.
Поддержка больших файлов.
Имена файлов ограничены 255 символами Unicode.
Длина пути ограничивается 32 767 (2^15) символами Unicode.
Имена чувствительны к регистру, my.txt и MY.TXT это разные файлы (но из-за Win32 API использовать нельзя), это заложено на будущее.
Журналируемая файловая система, т.е. не попадет в противоречивое состояние после сбоев.
Контроль доступа к файлам и каталогам.
Поддержка жестких и символических ссылок.
Поддержка сжатия и шифрования файлов.
Поддержка дисковых квот.
Главная файловая таблица MFT (Master File Table) - главная структура данных в каждом томе, записи фиксированные по 1Кбайту. Каждая запись описывает один каталог или файл. Для больших файлов могут использоваться несколько записей, первая запись называется - базовой записью.
MFT представляет собой обычный файл (размером до 2^48 записей), который может располагаться в любом месте на диске.
Главная файловая таблица MFT, каждая запись ссылается на файл или каталог.
Первые 16 записей MFT зарезервированы для файлов метаданных. Каждая запись описывает нормальный файл, имена этих файлов начинаются с символа "$".
Каждая запись представляет собой последовательность пар (заголовок атрибута, значение).
Некоторые записи метаданных в MFT:
0) Первая запись описывает сам файл MFT, и содержит все блоки файла MFT. Номер первого блока файла MFT содержится в загрузочном блоке.
1) Дубликат файла MFT, резервная копия.
2) Журнал для восстановления, например, перед созданием, удалением каталога делается запись в журнал. Система не попадет в противоречивое состояние после сбоев.
3) Информация о томе (размер, метка и версия)
4) Определяются атрибуты для MFT записей.
6) Битовый массив использованных блоков - для учета свободного места на диске
7) Указывает на файл начальной загрузки
Атрибуты, используемые в записях MFT:
Стандартная информация - флаговые биты (только чтение, архивный), временные штампы и т.д.
Имя файла - имя файла в кодировке Unicode, файлы могут повторятся в формате MS-DOS 8+3.
Список атрибутов - расположение дополнительных записей MFT
Идентификатор объекта - 64-разрядный идентификатор файла, уникальный для данного тома.
Точка повторного анализа - используется для символьных ссылок и монтирования устройств.
Корневой индекс - используется для каталогов
Размещение индекса - используется для очень больших каталогов
Битовый массив - используется для очень больших каталогов
Поток данных утилиты регистрации - используется для шифрования
Данные - поточные данные, может повторяться, используется для хранения самого файла. За заголовком следует список дисковых адресов, определяющий положение файла на диске, если файл очень маленький (несколько сотен байт), то следует сам файл (такой файл называется - непосредственный файл).
Как привило, все данные файла не помещаются в запись MFT.
Дисковые блоки файлам назначаются по возможности в виде серий последовательных блоков (сегментов файлов). В идеале файл должен быть записан в одну серию (не фрагментированный файл), файл, состоящий из n блоков, может быть записан от 1 до n серий.
Запись MFT для 9-блочного файла, состоящего из трех сегментов (серий).
Вся запись помещается в одну запись MFT (файл не сильно фрагментирован).
Заголовок содержит количество блоков (9 блоков).
Каждая серия записывается в виде пары, дисковый адрес - количество блоков (20-4, 64-2, 80-3).
Каждая пара, при отсутствие сжатия, это два 64-разрядные числа (16 байт на пару).
Многие адреса содержат большое количество нулей, сжатие делается за счет убирания нулей в старших байтах. В результате для пары требуется чаще всего 4байта.
Если файл сильно фрагментирован, требуется несколько записей MFT.
Три записи MFT для сильно фрагментированного файла.
В первой записи указывается индексы на дополнительные записи.
Может потребоваться очень много индексов MFT, так что индексы не поместятся в запись. В этом случае список хранится не в MFT, а в файле.
Запись MFT для небольшого каталога
Поиск файла в каталоге по имени состоит в последовательном переборе имен файлов.
Для больших каталогов используется другой формат. Используется дерево В+, обеспечивающее поиск в алфавитном порядке.
3.3.1 Поиск файла по имени
При создании файла, программа обращается к библиотечной процедуре
Этот вызов попадает в совместно используемую библиотеку уровня пользователя kernel32.dll, где \??\ помещается перед именем файла, и получается строка:
Это имя пути передается системному вызову NtFileCreate в качестве параметра.
Этапы поиска файла C:\windows\readmy.txt
3.3.2 Сжатие файлов
Если файл помечен как сжатый, то система автоматически сжимает при записи, а при чтении происходит декомпрессия.
Берутся для изучения первые 16 блоков файла (не зависимо от сегментов файла).
При меняется к ним алгоритм сжатия.
Если полученные данные можно записать хотя бы в 15 блоков, они записываются в сжатом виде.
Если их можно записать только в 16 блоков, то они записываются в несжатом виде.
Алгоритм повторяется для следующих 16 блоков.
Запись MFT для предыдущего файла.
Как видно из рисунка, сжатие приводит к сильной фрагментации.
Чтобы прочитать сжатый блок системе придется распаковать весь сегмент. Поэтому сжатие применяют к 16 блокам, если увеличить количество блоков, уменьшится производительность (но возрастет эффективность сжатия).
3.3.3 Шифрование файлов
Любую информацию, если она не зашифрована, можно прочитать, получив доступ. Поэтому самая надежная защита информации от несанкционированного доступа - шифрование.
Даже если у вас украдут винчестер, прочесть данные не смогут (большинство не сможет).
Если файл помечен как шифрованный, то система автоматически шифрует при записи, а при чтении происходит дешифрация.
Шифрование и дешифрование выполняет не сама NTFS, а специальный драйвер EFS (Encrypting File System).
Каждый блок шифруется отдельно.
По стандарту диски могут быть разбиты на логические разделы, но мы будем рассматривать диски с одним разделом.
Как вы знаете из предыдущих лекций: блоки записываются последовательно; по спирали; сектора по 2352 байта.
Порядок записи информации:
Каждый CD-ROM начинается с 16 блоков (неопределенных ISO 9660), эта область может быть использована для размещения загрузчика ОС или для других целей.
Дальше один блок основного описателя тома - хранит общую информацию о CD-ROM, в нее входит:
- идентификатор системы (32байта)
- идентификатор тома (32байта)
- идентификатор издателя (128байт)
- идентификатор лица, подготовившего данные (128байт)
- имена трех файлов, которые могут содержать краткий обзор, авторские права и библиографическая информация.
- ключевые слова: размер логического блока (как правило 2048, но могут быть 4096, 8192 и т.д.); количество блоков; дата создания; дата окончания срока службы диска.
- описатель корневого каталога (номер блока содержащего каталог).
Могут быть дополнительные описатели тома, подобные основному.
Каталоговая запись стандарта ISO 9660.
Каталоговая запись стандарта ISO 9660.
Расположение файла - номер начального блока, т.к. блоки располагаются последовательно.
L - длина имени файла в байтах
Имя файла - 8 символов, 3 символа расширения (из-за совместимости с MS-DOS). Имя файла может встречаться несколько раз, но с разными номерами версий.
Sys - поле System use (используется различными ОС для своих расширений )
Порядок каталоговых записей:
Описатель самого каталога (аналог ".")
Ссылка на родительский каталог (аналог "..")
Остальные записи (записи файлов) в алфавитном порядке
Количество каталоговых записей не ограничено, но ограничено количество вложенности каталогов - 8.
В стандарте ISO 9660 определены три уровня ограничений:
имена файлов и каталогов до 31 символа
- имена файлов и каталогов до 31 символа
- файлы могут быть не непрерывными, состоять из разделов
3.1.2 Рок-ридж расширения для UNIX
Это расширение было создано, чтобы файловая система UNIX была представлена на CD-ROM.
Для этого используется поле System use.
Расширения содержат следующие поля:
PX - атрибуты POSIX (стандартные биты rwxrwxrwx, (чтение, запись, запуск) (владелец, группа, все) )
PN - старший и младший номер устройств (чтобы можно было записать каталог /dev, который содержит устройства)
SL - символьная связь
NM - альтернативное имя, позволяет использовать произвольные имена, без ограничений
CL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)
PL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)
RE - перераспределение (чтобы обойти ограничение на вложенность каталогов)
TF - временные штампы (время создания, последнее изменение , последний доступ)
3.1.3 Joliet расширения для Windows
Это расширение было создано, чтобы файловая система ОС Windows 95 была представлена на CD-ROM.
Для этого используется поле System use.
Расширения содержат следующие поля:
Длинные имена файлов (до 64 символов)
Набор символов Unicode (поддержка различных языков)
Преодоление ограничений на вложенность каталогов
Имена каталогов с расширениями
3.1.4 Romeo расширения для Windows
Стандарт Romeo предоставляет другую возможность записи файлов с длинными именами на компакт-диск. Длина имени может составлять 128 символов, однако использование кодировки Unicode не предусмотрено. Альтернативные имена в этом стандарте не создаются, поэтому программы MS-DOS не смогут прочитать файлы с такого диска.
Вы можете выбрать стандарт Romeo только в том случае, если диск предназначен для чтения приложениями Windows 95 и Windows NT.
3.1.5 HFS расширения для Macintosh
Иерархическая файловая система компьютеров Macintosh, не совместима ни с какими другими файловыми системами и называется Hierarchical File System (HFS).
3.1.6 Файловая система UDF (Universal Disk Format)
Изначально созданная для DVD, с версии 1.50 добавили поддержку CD-RW и CD-R.
Эта файловая система позволяет дописывать диски, а также поддерживает большие размеры файлов и длинные имена файлов.
3.2 Файловая система CP/M
CP/M (Control Program for Microcomputers) - операционная система, предшественник MS-DOS.
В ее файловой системе только один каталог, с фиксированными записями по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
После каждой перезагрузки рассчитывается битовый массив занятых и свободных блоков. Массив находится постоянно в памяти (для 180Кбайтного диска 23 байта массива). После завершения работы, он не записывается на диск.
Каталоговая запись CP/M
Видно, что максимальный размер файла 16Кбайт (16*1Кбайт).
Для файлов размером от 16 до 32 Кбайт можно использовать две записи. Для до 48 Кбайт три записи и т.д.
Порядковый номер записи хранится в поле экстент.
Код пользователя - каждый пользователь мог работать только со своими файлами.
Порядок чтения файлов:
Файл открывается системным вызовом open
Читается каталоговая запись, из которой получает информацию о всех блоках.
Вызывается системный вызов read
3.2 Файловая система MS-DOS (FAT-12,16,32)
В первых версиях был только один каталог (MS-DOS 1.0).
С версии MS-DOS 2.0 применили иерархическую структуру.
Каталоговые записи, фиксированны по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
Порядок чтения файлов:
Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).
Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.
Ищет описатель файла.
Читается дескриптор файла, из которого получает информацию о всех блоках.
Вызывается системный вызов read
Каталоговая запись MS-DOS, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98
Атрибут архивный нужен для программ резервного копирования, по нему они определяют надо копировать файл или нет.
Поле время (16 разрядов) разбивается на три подполя:
секунды - 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)
Поле даты (16 разрядов) разбивается на три подполя:
год - 7бит (начинается с 1980г, т.е. максимальный 2107г.)
Теоретически размер файлов может быть до 4Гбайт (32 разряда).
Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.
В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:
FAT-32 - для адреса используются только 28 бит, поэтому правильнее назвать FAT-28
Размер блока (кластера) должен быть кратным 512 байт.
В первой версии MS-DOS использовалась FAT-12 с 512 байтовыми блоками, поэтому максимальный размер раздела мог достигать 2Мбайта (2^12*512байта).
С увеличением дисков, этого стало не хватать, стали увеличивать размер блоков 1,2 и 4 Кбайта (2^12) (при этом эффективность использования диска падает).
FAT-12 до сих пор применяется для гибких дисков.
16-разрядные дисковые указатели
Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт (2^15)
Таблица постоянно занимала в памяти 128 Кбайт.
Максимальный размер раздела диска мог достигать 2Гбайта (2^16*32Кбайта).
Причем кластер в 32 Кбайта для файлов со средним размером в 1Кбайт, не эффективен.
Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт
Максимальный размер раздела диска мог бы достигать 2^28*2^15, но здесь уже вступает другое ограничение - 512 байтные сектора адресуются 32-разрядным числом, а это 2^32*2^9, т.е. 2 Тбайта.
Максимальный размер раздела для различных размеров кластеров
Размер кластера, Кбайт
Из таблицы видно, что FAT-16 использовать не эффективно уже при разделах в 256 Мбайт, учитывая, что средний размер файла 1Кбайт.
3.2.4 Расширение Windows 98 для FAT-32
Для расширения были задействованы 10 свободных бит.
Формат каталоговой записи в системе FAT-32 с расширениями для Windows 98
Пять добавленных полей:
NT - предназначено для совместимости с Windows.
Sec - дополнение к старому полю время, позволяет хранить время с точностью до секунды (было 2 секунды)
Дата и время создания файла (Creation time)
Дата (но не время) последнего доступа (Last access)
Для хранения номера блока выделено еще 2 байта (16 бит), т.к. номера блоков стали 32-разрядные.
Основная надстройка над FAT-32, это длинные имена файлов.
Для каждого файла стали присваивать два имени:
Короткое 8+3 для совместимости с MS-DOS
Длинное имя файла, в формате 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 не заметит подмены.
3.3 Файловая система NTFS
Файловая система NTFS была разработана для Windows NT.
64-разрядные адреса, т.е. теоретически может поддерживать 2^64*2^16 байт (1 208 925 819 Пбайт~1Йбайт(2 80 )).
Размеры блока (кластера) от 512байт до 64 Кбайт, для большинства используется 4Кбайта.
Поддержка больших файлов.
Имена файлов ограничены 255 символами Unicode.
Длина пути ограничивается 32 767 (2^15) символами Unicode.
Имена чувствительны к регистру, my.txt и MY.TXT это разные файлы (но из-за Win32 API использовать нельзя), это заложено на будущее.
Журналируемая файловая система, т.е. не попадет в противоречивое состояние после сбоев.
Контроль доступа к файлам и каталогам.
Поддержка жестких и символических ссылок.
Поддержка сжатия и шифрования файлов.
Поддержка дисковых квот.
Главная файловая таблица MFT (Master File Table) - главная структура данных в каждом томе, записи фиксированные по 1Кбайту. Каждая запись описывает один каталог или файл. Для больших файлов могут использоваться несколько записей, первая запись называется - базовой записью.
MFT представляет собой обычный файл (размером до 2^48 записей), который может располагаться в любом месте на диске.
Главная файловая таблица MFT, каждая запись ссылается на файл или каталог.
Первые 16 записей MFT зарезервированы для файлов метаданных. Каждая запись описывает нормальный файл, имена этих файлов начинаются с символа "$".
Каждая запись представляет собой последовательность пар (заголовок атрибута, значение).
Некоторые записи метаданных в MFT:
0) Первая запись описывает сам файл MFT, и содержит все блоки файла MFT. Номер первого блока файла MFT содержится в загрузочном блоке.
1) Дубликат файла MFT, резервная копия.
2) Журнал для восстановления, например, перед созданием, удалением каталога делается запись в журнал. Система не попадет в противоречивое состояние после сбоев.
3) Информация о томе (размер, метка и версия)
4) Определяются атрибуты для MFT записей.
6) Битовый массив использованных блоков - для учета свободного места на диске
7) Указывает на файл начальной загрузки
Атрибуты, используемые в записях MFT:
Стандартная информация - флаговые биты (только чтение, архивный), временные штампы и т.д.
Имя файла - имя файла в кодировке Unicode, файлы могут повторятся в формате MS-DOS 8+3.
Список атрибутов - расположение дополнительных записей MFT
Идентификатор объекта - 64-разрядный идентификатор файла, уникальный для данного тома.
Точка повторного анализа - используется для символьных ссылок и монтирования устройств.
Корневой индекс - используется для каталогов
Размещение индекса - используется для очень больших каталогов
Битовый массив - используется для очень больших каталогов
Поток данных утилиты регистрации - используется для шифрования
Данные - поточные данные, может повторяться, используется для хранения самого файла. За заголовком следует список дисковых адресов, определяющий положение файла на диске, если файл очень маленький (несколько сотен байт), то следует сам файл (такой файл называется - непосредственный файл).
Как привило, все данные файла не помещаются в запись MFT.
Дисковые блоки файлам назначаются по возможности в виде серий последовательных блоков (сегментов файлов). В идеале файл должен быть записан в одну серию (не фрагментированный файл), файл, состоящий из n блоков, может быть записан от 1 до n серий.
Запись MFT для 9-блочного файла, состоящего из трех сегментов (серий).
Вся запись помещается в одну запись MFT (файл не сильно фрагментирован).
Заголовок содержит количество блоков (9 блоков).
Каждая серия записывается в виде пары, дисковый адрес - количество блоков (20-4, 64-2, 80-3).
Каждая пара, при отсутствие сжатия, это два 64-разрядные числа (16 байт на пару).
Многие адреса содержат большое количество нулей, сжатие делается за счет убирания нулей в старших байтах. В результате для пары требуется чаще всего 4байта.
Если файл сильно фрагментирован, требуется несколько записей MFT.
Три записи MFT для сильно фрагментированного файла.
В первой записи указывается индексы на дополнительные записи.
Может потребоваться очень много индексов MFT, так что индексы не поместятся в запись. В этом случае список хранится не в MFT, а в файле.
Запись MFT для небольшого каталога
Поиск файла в каталоге по имени состоит в последовательном переборе имен файлов.
Для больших каталогов используется другой формат. Используется дерево В+, обеспечивающее поиск в алфавитном порядке.
3.3.1 Поиск файла по имени
При создании файла, программа обращается к библиотечной процедуре
Этот вызов попадает в совместно используемую библиотеку уровня пользователя kernel32.dll, где \??\ помещается перед именем файла, и получается строка:
Это имя пути передается системному вызову NtFileCreate в качестве параметра.
Этапы поиска файла C:\windows\readmy.txt
3.3.2 Сжатие файлов
Если файл помечен как сжатый, то система автоматически сжимает при записи, а при чтении происходит декомпрессия.
Берутся для изучения первые 16 блоков файла (не зависимо от сегментов файла).
При меняется к ним алгоритм сжатия.
Если полученные данные можно записать хотя бы в 15 блоков, они записываются в сжатом виде.
Если их можно записать только в 16 блоков, то они записываются в несжатом виде.
Алгоритм повторяется для следующих 16 блоков.
Запись MFT для предыдущего файла.
Как видно из рисунка, сжатие приводит к сильной фрагментации.
Чтобы прочитать сжатый блок системе придется распаковать весь сегмент. Поэтому сжатие применяют к 16 блокам, если увеличить количество блоков, уменьшится производительность (но возрастет эффективность сжатия).
3.3.3 Шифрование файлов
Любую информацию, если она не зашифрована, можно прочитать, получив доступ. Поэтому самая надежная защита информации от несанкционированного доступа - шифрование.
Даже если у вас украдут винчестер, прочесть данные не смогут (большинство не сможет).
Если файл помечен как шифрованный, то система автоматически шифрует при записи, а при чтении происходит дешифрация.
Шифрование и дешифрование выполняет не сама NTFS, а специальный драйвер EFS (Encrypting File System).
Каждый блок шифруется отдельно.
Головка (Head) - электромагнит, скользящий над поверхностью диска, для каждой поверхности используется своя головка. Нумерация начинается с 0.
Продольная (верхний рисунок) и перпендикулярная (нижний рисунок) запись информации на диске
Примерно с 2005 года идет переход с продольной на перпендикулярную запись информации на диске, что обеспечивает большую плотность записи данных.
С 2011-2013 планируется переход на "тепловую магнитную запись", место записи будет предварительно нагреваться лазером, что уменьшит размер домена и повысит надежность хранения. Предположительная максимальная емкость от 30 до 50 ТБ.
Дорожка (Track) - концентрическая окружность, которое может прочитать головка в одной позиции. Нумерация дорожек начинается с внешней (первая имеет номер - 0).
Цилиндр (Cylinder) - совокупность всех дорожек с одинаковым номером на всех дисках, т.к. дисков может быть много и на каждом диске запись может быть с двух сторон.
Маркер - от него начинается нумерация дорожек, есть на каждом диске.
Сектор - на сектора разбивается каждая дорожка, сектор содержит минимальный блок информации. Нумерация секторов начинается от маркера.
Дорожки, цилиндры, сектора, головки
Геометрия жесткого диска - набор параметров диска, количество головок, количество цилиндров и количество секторов.
У современных жестких дисков контроллер встроен в само устройство, и берет на себя большую часть работы, которую не видит ОС.
Например, скрывают физическую геометрию диска, предоставляя виртуальную геометрии.
Физическая и виртуальная геометрия диска
На внешних дорожках число секторов делают больше, а на внутренних меньше. На реальных дисках таких зон может быть несколько десятков.
1.1.2 RAID (Redundant Array of Independent Disk - массив независимых дисков с избыточностью)
Для увеличения производительности или надежности операций ввода-вывода с диском был разработан стандарт для распараллеливания или дублирования этих операций
Основные шесть уровней RAID:
RAID 0 - чередующий набор, соединение нескольких дисков в один большой логический диск, но логический диск разбит так, что запись и чтение происходит сразу с несколько дисков. Например, записываем блок 1, 2, 3, 4, 5, каждый блок будет записываться на свой диск.
Преимущества
- удобство одного диска
- увеличивает скорость записи и чтения
Недостатки
- уменьшает надежность (в случае выхода одного диска, массив будет разрушен), избыточность не предусмотрена.
RAID 1 - зеркальный набор, параллельная запись и чтение на несколько дисков с дублированием (избыточность).
Преимущества
- дублирование записей
- увеличивает скорость чтения (но не записи)
Недостатки
- требует в два раза больше дисковых накопителей
RAID 2 - работает на уровне слов и даже байт. Например, берется полбайта (4 бита) и прибавляется 3 бита четности (1, 2, 4 - рассчитанные по Хэммингу), образуется 7-битовое слово. В случае семи дисков слово записывается побитно на каждый диск. Так как слово пишется сразу на все диски, они должны быть синхронизированы.
Преимущества
- надежность
- увеличивает скорость записи и чтения (при потоке, но при отдельных запросах не увеличивает)
Недостатки
- нужна синхронизация дисков.
RAID 3 - упрощенная версия RAID 2, для каждого слова считается только один бит четности.
Преимущества
- надежность
- увеличивает скорость записи и чтения (при потоке, но при отдельных запросах не увеличивает)
Недостатки
- нужна синхронизация дисков.
RAID 4 - аналогичен уровню RAID 0, но с добавлением диска четности. Если любой из дисков выйдет из строя, его можно восстановить с помощью диска четности.
Преимущества
- надежность
- не нужна синхронизация дисков
Недостатки
- не дает увеличения производительности, узким местом становится диск четности при постоянных пересчетах контрольных сумм.
RAID 5 - аналогичен уровню RAID 4, но биты четности равномерно распределены по дискам.
На практике, как правило, используют RAID 0, 1 и 5.
Системы RAID уровней от 0 до 5.
1.1.3 Компакт-диски
Фото устройства для работы с дисками
Устройство в работе
Демонстрация работы CD-drive
Запись на CD-ROM диски производятся с помощью штамповки.
CD-ROM под электронным микроскопом.
Длина пита варьируется от 850 нм до 3,5 мкм
Сначала CD-диски использовались только для записи звука, стандарт которого был описан ISO 10149 ("Красная книга").
Пит - единица записи информации (впадина при штамповке, темное пятно, прожженное в слое краски в CD-R, область фазового перехода)
Запись на CD-ROM производится спирально
В 1984 году была опубликована "Желтая книга", в которой описан следующий стандарт.
Для записи данных было необходимо повысить надежность, для этого каждый байт (8 бит) стали кодировать в 14 разрядное число (по размеру почти дублирование записи, но за счет кодирования эффективность может быть, как при тройной записи), чтобы можно было восстановить потерянные биты.
Логическое расположение данных на CD-ROM для режима 1
Первые 12-ть байт заголовка содержат 00FFFFFFFFFFFFFFFFFFFF00, чтобы считывающее устройство могло распознать начало сектора.
Следующие три байта содержат номер сектора.
Последний байт содержит код режима
ECC (Error Correction Code) - код исправления ошибок.
В режиме 2 поле данных объединено с полем ECC в 2336-байтное поле данных. Этот режим можно использовать, если не требуется коррекция ошибок, например, видео и аудио запись.
Коррекция ошибок осуществляется на трех уровнях:
Поэтому 7203 байта содержат только 2048 байта полезной нагрузки, около 28%.
В 1986 году была выпущена "Зеленая книга", к стандарту была добавлена графика, и возможность совмещения в одном секторе аудио, видео и данных.
Файловая система для CD-ROM называется High Sierra , которая оформлена в стандарт ISO 9660.
Файловая система имеет три уровня:
1 уровень - файлы имеют имена формата, схожего с MS-DOS - 8 символов имя файла плюс до трех символов расширения, файлы должны быть непрерывными. Глубина вложенности каталогов ограничена восемью. Этот уровень понимают почти все операционные системы.
2 уровень - имена файлов могут быть до 31 символов, файлы должны быть непрерывными.
3 уровень - позволяет использовать сегментированные файлы.
Для этого стандарта существуют расширения:
Rock Ridge - позволяет использовать длинные файлы, а также UID, GID и символические ссылки.
1.1.3.1 Компакт-диски с возможностью записи CD-R
Запись на CD-R диски производятся с помощью локального прожигания нанесенного слоя красителя.
В 1989 году была выпущена "Оранжевая книга", это документ определяет формат CD-R, а также новый формат CD-ROM XA , который позволяет посекторно дописывать информацию на CD-R.
CD-R-дорожка - последовательно записанные за один раз секторы. Для каждой такой дорожки создается свой VTOC (Volume Table of Contents - таблица содержания тома), в котором перечисляются записанные файлы.
Каждая запись производится за одну непрерывную операцию, поэтому если у вас будет слишком загружен компьютер (мало памяти или медленный диск), то вы можете испортить диск, т.к. данные не будут поспевать поступать на CD-ROM.
1.1.3.2 Многократно перезаписываемые компакт-диски CD-RW
Запись на CD-RW диски производятся локального перевода слоя из кристаллического в аморфное состояние.
Используются лазеры с тремя уровнями разной мощности.
Эти диски можно отформатировать (UDF), использовать их в место дискет и дисков.
1.1.3.3 Универсальный цифровой диск DVD (Digital Versatile Disk)
Были сделаны следующие изменения:
Размер пита уменьшили в два раза (с 0.8 мкм до 0.4мкм)
Более тугая спираль (0.74 мкм между дорожками, вместо 1.6 у компакт-дисков)
Уменьшение длины волны лазера (650 нм вместо 780 нм)
Это позволило увеличить объем с 650 Мбайт до 4.7 Гбайт.
Определены четыре следующих формата:
Односторонний, одноуровневый (4.7 Гбайт)
Односторонний, двухуровневый (8.5 Гбайт), размеры пита второго уровня приходится делать больше, иначе не будут считаны, т.к. первый полуотражающий слой половину потока отразит и частично рассеет.
Двухсторонний, одноуровневый (9.4 Гбайт)
Двухсторонний, двухуровневый (17 Гбайт)
1.1.3.4 Универсальный цифровой диск Blu-ray (blue ray — синий)
Были сделаны следующие изменения:
Размер пита уменьшили
Более тугая спираль ( 0,32 мкм между дорожками, вместо 0.72 у DVD)
Уменьшение длины волны лазера (405 нм вместо 650 нм в DVD), «синего» (технически сине-фиолетового) лазера, отсюда и название
Определены следующие формата:
однослойный диск 23,3/25/27 или 33 Гб
двухслойный диск 46,6/50/54 или 66 Гб
четырёх слойный 100 Гб
восьми слойный 200 Гб
1.1.4 Твердотельные накопители (Flash, SSD, . )
Устройство ячейки памяти:
Используются полевые транзисторы с плавающим затвором.
Устройство ячейки памяти
Считывание информации:
Если ток через npn-переход идет, то "считывается 0".
Ток идет за счет туннельного эффекта, который возникает под действием управляющего затвора, на который подается "+".
Если ток через npn-переход не идет, то "считывается 1".
Ток не идет за счет "экранирования" управляющего затвора плавающим затвором, на котором накоплен "-".
Запись информации:
"Запись" делается накоплением электронов в плавающем затворе, за счет повышенного напряжения на управляющем затворе и стоке.
Затирание информации:
"Затирание" делается "изъятием" электронов из плавающего затворе, за счет положительного напряжения на истоке и отрицательного на управляющем затворе, но стоке 0В.
1.2 Форматирование дисков (программная часть)
1.2.1 Низкоуровневое форматирование
Низкоуровневое форматирование - разбивка диска на сектора, производится производителями дисков.
Каждый сектор состоит из:
Заголовка (Prefix portion) - по которому определяется начало (последовательность определенных битов) сектора и его номер, и номер цилиндра.
Область данных (как правило, 512 байт, планируют перейти на 4 Кб (к 2010г.))
На диске могут быть запасные сектора, которые могут быть использованы для замены секторов с дефектами (а они почти всегда есть). За счет этого обеспечивается одинаковая емкость на выходе.
При низкоуровневом форматировании часть полезного объема уменьшается, примерно до 80%.
Перекос цилиндров
Перекос цилиндров - сдвиг 0-го сектора каждой последующей дорожки, относительно предыдущей. служит для увеличения скорости. Головка тратит, какое то время на смену дорожки, и если 0-й сектор будет начинаться в том же месте, что и предыдущий, то головка уже проскочит его, и будет ждать целый круг.
Перекос цилиндров делают разным в зависимости скоростей вращения и перемещения головок.
Перекос головок - приходится применять, т.к. на переключение с головки на головку тратится время..
Чередование секторов
Если, например, один сектор прочитан, а для второго нет в буфере места, пока данные копируются из буфера в память, второй сектор уже проскочит головку.
Чтобы этого не случилось, применяют чередование секторов.
Если копирование очень медленное, может применяться двукратное чередование, или больше.
1.2.2 Разделы диска
После низкоуровневого форматирования диск разбивается на разделы, эти разделы воспринимаются ОС как отдельные диски.
Для чего можно использовать разделы:
Отделить системные файлы от пользовательских (например, своп-файлы)
Более эффективно использовать пространство (например, для администрирования).
На разные разделы можно установить разные ОС.
Основные разделы диска:
Первичный (Primary partition) - некоторые ОС могут загружаться только с первичного раздела. (В MBR под таблицу разделов выделено 64 байта. Каждая запись занимает 16 байт. Таким образом, всего на жестком диске может быть создано не более 4 разделов. Раньше это считалось достаточным.)
Расширенный (Extended partition) - непосредственно данные не содержит, служит для создания логических дисков (создается, что бы обойти ограничение в 4-ре раздела).
Логический (Logical partition) - может быть любое количество.
Информация о разделах записывается в 0-м секторе 0-го цилиндра, головка 0. И называется таблицей разделов.
Таблица разделов (Partition Table) - содержит информацию о разделах, номер начальных секторов и размеры разделов. На Pentium-компьютерах в таблице есть место только для четырех записей, т.е. может быть только 4 раздела (к логическим это не относится, их может быть не ограниченное количество).
Этот сектор называется главной загрузочной записью.
Т.к. MBR может работать только с разделами до 2.2 ТБ (2.2 ? 1012 байт), насмену приходит GPT.
Активный раздел - раздел, с которого загружается ОС, может быть и логическим. В одном сеансе загрузки может быть только один активный раздел.
Пример структуры разделов
В Windows разделы будут называться (для пользователей) устройствами C:, D:, E: и т.д.
1.2.3 Высокоуровневое форматирование
Высокоуровневое форматирование (создание файловой системы) - проводится для каждого раздела в отдельности, и выполняет следующее:
Создает загрузочный сектор (Boot Sector)
Создает список свободных блоков (для UNIX) или таблицу (ы) размещения файлов (для FAT или NTFS)
Создает корневой каталог
Создает, пустую файловую систему
Указывает, какая файловая система
Помечает дефектные кластеры
Кластеры и блоки - единица хранения информации в файловых системах, файлы записываются на диск, разбитыми на блоки ли кластеры.
При загрузке системы, происходит следующее:
BIOS считывает главную загрузочную запись, и передает ей управление
Загрузочная программа определяет, какой раздел активный
Из этого раздела считывается и запускается загрузочный сектор
Программа загрузочного сектора находит в корневом каталоге определенный файл (загрузочный файл)
Этот файл загружается в память и запускается (ОС начинает загрузку)
1.3 Алгоритмы планирования перемещения головок
Факторы, влияющие на время считывания или записи на диск:
Время поиска (время перемещения головки на нужный цилиндр)
Время переключения головок
Задержка вращения (время, требуемое для поворота нужного сектора под головку)
Время передачи данных
Для большинства дисков самое большое, это время поиска. Поэтому, оптимизируя время поиска можно существенно повысить быстродействие.
Алгоритмы могут быть реализованы в контроллере, в драйверах, в самой ОС.
1.3.1 Алгоритм "первый пришел - первым обслужен" FCFS (First Come, First Served)
Рассмотрим пример. Пусть у нас на диске из 28 цилиндров (от 0 до 27) есть следующая очередь запросов:
и головки в начальный момент находятся на 1 цилиндре. Тогда положение головок будет меняться следующим образом:
Как видно алгоритм не очень эффективный, но простой в реализации.
1.3.2 Алгоритм короткое время поиска первым (или ближайший цилиндр первым) SSF (Shortest Seek First)
Для предыдущего примера алгоритм даст следующую последовательность положений головок:
Как видим, этот алгоритм более эффективен. Но у него есть не достаток, если будут поступать постоянно новые запросы, то головка будет всегда находиться в локальном месте, вероятнее всего в средней части диска, а крайние цилиндры могут быть не обслужены никогда.
1.3.3 Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK)
SCAN – головки постоянно перемещаются от одного края диска до его другого края, по ходу дела обслуживая все встречающиеся запросы. Просто, но не всегда эффективно.
LOOK - если мы знаем, что обслужили последний попутный запрос в направлении движения головок, то мы можем не доходить до края диска, а сразу изменить направление движения на обратное
C-SCAN - циклическое сканирование. Когда головка достигает одного из краев диска, она без чтения попутных запросов перемещается на 0-й цилиндр, откуда вновь начинает свое движение.
C-LOOK - по аналогии с предыдущим.
1.4 Обработка ошибок
Т.к. создать диск без дефектов сложно, а вовремя использования появляются новые дефекты.
Поэтому системе приходится контролировать и исправлять ошибки.
Ошибки могут быть обнаружены на трех уровнях:
На уровне дефектного сектора ECC (используются запасные, делает сам производитель)
Дефектные блоки или кластеры могут обрабатываться контроллером или самой ОС.
Блоки и кластеры не должны содержать дефектные сектора, поэтому система должна уметь помечать дефектные сектора.
Читайте также: