Попов И.И., Матвеев А.А., Максимов Н.В. Архитектура электронно-вычислительных машин и систем (2004) (1186255), страница 51
Текст из файла (страница 51)
Одной из главных задач DOS по управлению дисками являетсявыступление в роли переводчика между тем способом, каким диск обрабатывает данные (по одному 512-байтному сектору за один раз), и темспособом, который требуется программе обработки.Магнитная поверхность разбивается на дорожки (концентрические окружности, см. рис.1.5). Дорожки номеруются начиная с 0-ой(максимальный радиус). Магнитная поверхность "разбита" также на секторы. Секторы номеруются начиная с 1-го.
Размер каждого сектораобычно равен 512 байт (для MS DOS). Физический Адрес Сектора составляется как сумма (точнее - конкатенация) соответствующих номеров: № поверхности, №-дорожки, №-сектора.Таким образом, объем дискеты равен:V = P ⋅ D ⋅ S ⋅ 512 (байт)гдеV - объем дискеты (байт),P - количество поверхностей дискеты (одна или две),D - количество дорожек на поверхности,S - количество секторов на дорожке.Если дискета является системной, то ядро MS DOS размещаетсяначиная с 0-й дорожки, как более надежной (большая длина и меньшаяплотность записи).Форматирование дискет производится при инициализации дискеты изготовителем или пользователем с помощью утилиты операционнойсистемы.271В табл.1. приведен перечень основных стандартных форматов гибких дисков, применяемых в IBM PC.Таблица 1Форматы гибких дисков, используемых в ПЭВМКоличество поверхностей22222Количестводорожек наповерхности4080808080Количество секторов на дорожке99151836Емкостьдискеты,КбТипоразмер дискеты3607201200144028805.25"3.5"5.25"3.5"3.5"Кластер - минимальный размер места на диске, которое можетбыть выделено файловой системой для хранения одного файла.
Определяется он, как правило, автоматически, при форматировании винчестера,по зависимости указанной в таблице:Небольшое исключение для системного раздела: если он меньше2048МБ, то размер кластера всегда 512 байт.Узнать размер кластера в операционной системе можно можно несколькими способами. Например, в Windows 2000 можно зайти вAdministrative Tools -> Computer Management -> Storage -> DiskDefragmenter. Выбрать нужный диск и нажать на Analyze.
Через несколько секунд появится табличка, где есть три кнопки. Нажатие наView Report запускает окошко, в котором содержится информации провыбраный диск, в том числе и Cluster size.РазмерСекторов вразделакластере<512MБ1<1024MБ2<2048MБ4<4096MБ8<8192MБ16<16384MБ32<32768MБ64>32768 MБ128Размеркластера512 байт1K2K4K8K16K32K64KРазмер кластера можно выбрать вручную, при форматировании:"format d: /A:size",272где size это размер кластера в байтах. Однако существуют некоторыеправила, которых следует придерживаться: во-первых, размер кластерадолжен быть кратен размеру физического сектора, то есть 512 байтам вподавляющем большинстве случаев; во-вторых, есть ограничения по количеству кластеров на разделе.Файловые системыВсякая операционная система создает на каждом томе (дискете,диске, пакете дисков, CD-ROM и пр.) совокупность системных данных,которая называется файловой системой (файловой структурой).Файловая система (пустая) создается при инициализации (разметке) тома, затем корректируется ОС (подсистемой управления данными) при текущей работе, в процессе создания, удаления, модификации(увеличения или уменьшения объема) файлов пользователя, содержащихпрограммы или данные.Имя файла(заглавная запись)File_1File_2File_3File_41214138751311123Область переполнения23File_1213Номера блоков, выделенных для размещенияфайлов4Список свободных блоков691024Список сбойных блоков7Рис.
10. Простейшая таблица оглавления томаФайловая система включает в себя таблицу содержания и область данных -совокупность блоков на диске, идентифицируемыхсвоими номерами / адресами. Обычно адрес блока состоит из 3 чисел № цилиндра (совокупность дорожек, доступных при фиксированном положении блока головок считывающего устройства), № поверхности (дорожки в цилиндре), № блока на дорожке.273Пример простейшей (абстрактной) таблицы содержания, оглавления тома (диска, пакета дисков), которая в разных ОС имеет различныенаименования - VTOC - Volume Table of Content (Таблица СодержанияТома), FAT - File Allocation Table (Таблица Размещения Файлов), FDT File Definition Table (Таблица Определения Файлов) и т.п., приведена наРис. 1.6.Она очень похожа на "настоящую" и состоит из трех областей:- область файлов.
Это таблица, имеющая обычно ограниченное (вприведенном примере N=6) число строк N (в MS DOS, например N=500,т.е. число файлов не более 500). Количество столбцов M (в примереM=5) обычно выбирается из тех соображений, чтобы 85-95% файлов,создаваемых предполагаемыми пользователями содержало бы не болееM блоков, что зависит как от размера блока и типа пользователя, так иот общего уровня развития информационного и программного обеспечения. Первый столбец таблицы в каждой строке (заглавная запись Title Record) содержит данные о файле, в данном примере - имя файла;- область переполнения - дополнительная таблица, аналогичнойструктуры, в которую записываются номера блоков особо длинных файлов (в примере -File_1).
Организация таблицы размещения в форме области файлов и области переполнения, очевидно, позволяют сэкономитьна объеме таблицы в целом, не ограничивая, в то же время, вероятнойдлины файла;- список свободных блоков - очевидно необходимая информациядля размещения создаваемых или расширяемых файлов. Список создается при инициализации и включает все блоки, кроме поврежденных, азатем корректируется при создании, удалении, модификации файлов;- список сбойных блоков. Это таблица, создаваемая при инициализации (разметке) тома (диска), пополняемая программами диагностики(примером которых может являться хорошо известный пользователямNDD - Norton Disk Doctor) и предотвращающая распределение испорченных областей на магнитном носителе под файлы данных.Здесь не указаны такие известные атрибуты файлов, как длина (вбайтах), время создания, тип (архивный, скрытый, только для чтения, недля исполнения и пр.), которые могут содержаться в заглавной записитаблицы (колонка 1 на Рис.1.6).В развитых системах коллективного пользования такие данные содержатся в специальных таблицах разделения полномочий, посколькуперечисленные, да и другие, атрибуты должны быть соотнесены с конкретными пользователями.Кроме того, где-то должны быть размещены - метка тома (имя итип/объем), количество занятого и свободного пространства и прочаясовокупная информация по тому данных.274Бл №1File_11, 3, 7Бл № 3Бл № 7Бл № 4File_24, 8Бл № 8Рис.11.
Доступ к данным с прямой адресациейа).File_11Блок№1№3Блок №3№7....Блок№1№4Блок №4№14....Блок№3№6Блок №6№17....Блок№7№8Блок №8№45....б).File_11, 3, 7Рис. 12. а.-списковая организация доступа к данным (косвенная адресация), б.- комбинированная (мультисписковая) организация доступаПеречислим особенности ситуации, зафиксированной на рис. 1.6 впростейшей (искусственной) файловой системе.File-1 занимает 6 блоков, это число больше максимального, поэтому адрес блока № 6 (23) размещен в таблице переполнения;File_2 занимает 2 блока, что меньше ограничения, поэтому всяинформация сосредоточена в области файлов.Имеются следующие конфликтные ситуации:— File_3 не содержит ни одного блока (следовательно, файл был удален,но заглавная запись сохранилась);- File 4 и File_1 ссылаются на блок№3.
Это - ошибка, поскольку каждый блок должен быть закреплен заединственным файлом;— File_1 содержит ссылку на блок №7, помеченный как сбойный (нечитаемый). Это приведет к невозможности корректно полностью про275читать данный файл - ситуация, знакомая каждому, работавшему сНГМД;— в списке свободных блоков содержатся номера блоков №12 (помеченный как сбойный) и №13 (распределенный под File_1).Это очевидные свидетельства начавшегося разрушения файловойсистемы. Перечисленные конфликты могут иметь своими источниками сбои, программные ошибки (разработчиков ОС), некорректное завершение ОС, или целенаправленную деятельность вирусных или иных злонамеренных программ.Рассмотренный пример таблицы оглавления относится к случают.н. прямой адресации доступа (Рис.
1.8а). Здесь очевидны следующиеособенности:— таблица создается при инициализации и, даже будучи пустой, занимает определенный объем;— создание файла (даже состоящего из одного байта) приводит к выделению блока и занятию строки таблицы.Косвенная - списковая (рис. 12 а) и мультисписковая (Рис. 12 б)адресация создают управляющие структуры по мере необходимости(при заполнении файла). Высвобождение памяти в списковой структуреосуществляется автоматически при удалении любого промежуточногоблока, содержащего также адрес последующего блока файла.