Загрузка...

ФАЙЛОВАЯ СИСТЕМА МS-DOS


2. ФАЙЛОВАЯ СИСТЕМА МS-DOS

Целью работы является ознакомление с мехнизмами управления па-
мятью на внешних запоминающих устройствах в операционной системе MS-
DOS, файловой системы MS-DOS и исследование особенностей их исполь-
зования.

2.1. ОРГАНИЗАЦИЯ ДИСКОВОЙ ПАМЯТИ

Самым распространенным носителем информации в ПЭВМ являются
магнитные диски. Диски бывают жесткие (винчестер) и гибкие
(флоппи). Организация дисковой памяти на дисках различных типов,
размеров, емкости практически не отличаются, за исключением того,
что потребуются учитывать изменяющиеся параметры — количество
дорожек, секторов на дорожке и т.п. Данные записываются на диск в
виде файлов. Нумерация сторон диска и дорожек начинается с 0, а
секторов — с 1. Для того, чтобы организовать хранение информации
на диске, DOS резервирует часть дисковой памяти для своих целей
(рис. 2.1).

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

Том можно определить как сменный носитель данных на внешнем
запоминающем устройстве.

Файл — виртуальный ресурс, создаваемый системой управления
данными операционной системы на базе виртуального устройства и
представляет собой именованную совокупность логических записей.

Справочник файлов — структура данных, располагаемая на томе
внейшей памяти и служащая для организации доступа к файлам через
систему управления данными операционной системы.

Сектор 1 2 3 4 5 6 7 8
Ъ———————В——————В———————В———————В———————В———————В———————В———————В
і Загрузочная і FAT і FAT і Корневая
і запись і копия 1 і копия 2 і
А———————Б——————Б———————Б———————Б———————Б———————Б———————Б———————Б

9 10 11 12
В———————В——————В———————В———————В———————В———————В———————В———————ї
директория і Кластер 5 і . . . . і Кластер N і
і і і і
Б———————Б——————Б———————Б———————Б———————Б———————Б———————Б———————Щ

Рис. 2.1. Расположение служебной информации на диске
(размер кластера — 2 сектора по 512 байт).

На нулевой стороне каждого диска с первого сектора нулевой дорож-
ки команда форматирования дисков FORMAT располагает загрузочную запись
MS-DOS. Она состоит из:

1) таблицы, содержащей информацию о диске;
2) машинного кода, загружающего резидентную часть MS-DOS (файлы
IO.SYS и MSDOS.SYS) в оперативную память.

Первые 4 байта стартовой записи занимает машинный код команды.
Она отсылает систему к адресу в стартовой записи, по котоpому
находится код загрузки системных файлов. Таблица, содержащая
информацию о диске, записана в промежутке между этой командой и
кодом загрузки.

Организация дисковой памяти зависит от емкости диска. Двустороннее
дискета емкостю 360 КБайт содержит следующию служебную информацию:

Сторона Дорожка Сектор

0 0 1 запись начальной загрузки

0 0 2,3 таблица распределение файлов

0 0 4…7 главное

1 0 1…3 директорие

1 0 4… файлы данных

Данные записываются на нулевую дорожку, нулевую сторону, затем на нуле-
вую дорожку первой стороны, после этого на 1-го
Так сделано, чтобы свести к минимуму количество перемещений головки дис-
ковода. Применяется описаний прием как на гибких так и на гиестких дисках.
Если дискета содержит файлы DOS ( IBM BIO.com и IBM DOS.com ) то они рас-
пологаются в первых секторах области данных. Все файлы независимо от раз-
меров начинаются на границе сектора. Размер сектора — 512 байт:
Для каждого файла DOS создает на нулевой дорожке диска элемент оглавления.

Формат элемента оглавления.

Байт
0 — 7 Имя файла

Значение 1-го байта: 00 — файл не исполн — ся
ES — файл удален
2Е — элемент подоглавление

8 — 10 расширение имени файла

11 атрибут файла:
00 — обычный файл
01 — только для чтение (READ ONLY)
02 — «скрытный» файл ( Hladiny file(?))
04 — системный файл
08 — метка тома
10 — подоглавление
20 — архивный файл (для винчестера)
22д.23 время создание или последний модификации файла, в следуищем
двоичном формате:

22222 мммммм ссссс

24д.25 дата создание или последний модификации файла в следующим
двойном формате:

ггггггг мммм ддддд
где:
— год начинается с 1980 и может принимать значения с 0 до 119
— месяц может принимать значения от 1 до 12
— день — от 1 до 31

26,27 Для файла номер начального кластера.Для директории — относите-
льный номер последних 2-х секторов части дисковой памяти, отве-
денной для организации директории.

28,31 Размер файла в байтах

Все поле в оглавлении диска, длина которых превышает (байт,
записываются в обратной последовательности байт.

Таблица распределение файлов
(FAT)

FAT — File Allocation Table в переводе на русский — таблица распреде-
ления файлов, распределяет дисковое пространство для записи содержимого
файлов. Сразу после записи начальной загрузки, начиная с сектора N 2
записывается FAT. Каждый элемент FAT соответствует одному кластеру на
диске. Длина элемента FAT и размер кластера зависят от емкости диска.
Кластер для односторонних дискет содержит (сектор, для двухсторонних
2 сектора и т.д. и т.п.

Первые байты FAT определяют тип устройства:

FE — одностороний диск на 8 секторов
FC — одностороний диск на 9 секторов
FD — гибкий диск на 1,2 м
F8 — твердый диск
2-й и 3-й байты содержат FFFF

Таблица организации данных для различных типов устройств.

Диск Запись начальной FAT Каталог Кластер
загрузки

Двустороний
9 сектор 1 2…5 6…12 2

Повышенной
емкости (1.2M) 1 2…15 16…29 1

Твердый диск XT 1 2…17 18…49 8

Твердый диск АТ 1 2…838 4…115 4

Каждый элемент FAT состоит из:

-3-х шестнадцатиричных цифр ( версии DOS ниже 3.0 )
-4-х шестнадцатиричных цифр ( версии DOS 3.0 и высше )
которые указывают на характер использования конкретного сектора:
000 — свободный кластер
ннн — относительный номер следующиего кластера
файла.
FF7 — сбостний кластер
FFF — последний кластер файл.
Два первых элемента FAT указывают на 2 последних сектора оглавления.
Например, дискета содержит файл TEXT.DOC, занимающий сектора 2,3,5.
Элемент оглавление для этого файла содержит:
— имя файла: TEXT
— расширение имени файла: DOC
— атрибут: 00
— дату и время создание
— номер 1-го кластера файла: 002
— размер файла в байтах.
В этом случае FAT может выглядеть следующим образом:

Эл — ты
FAT 0 1 2 3 4 5 6
FDF FFF 003 005 FF7 FFF 000

При работе с ЭВМ файлом DOS выполняет следующие действия:

1.Обращается к главной директории и ищет среди элементов оглавления
элемент, содержащий информацию о файле TEXT.DOC

2. Извлекает из оглавление номер первого кластера файла 002 и считывает
содержимое этого кластера в буфер в/в.

3. Извлекает из 2-го элемента FAT номер следующего кластера ( 003 ) и
считывает в буфер в/в содержимое этого кластера.

4. Извлекает из элемента FAT, соответствующего 3-му кластеру ( это эле-
мент N3 ) номер следующего кластера файла ( в нашем случае это 005 )
и загружает в память содержимое этого кластера.
5. Обращается к элементу FAT, который соответствует прочитанному кластеру
( в нашем случае это 005 ) и определяет, что достигнут конец файла,т.к.
5-й элемент FAT содержит FFF то есть это последний кластер файла.
Из-за того, что информация хранящиеся в FAT представляет собой большую
ценность, на диске хранится 2 FAT — оригинальное и копия.
Использование FAT, позволяет DOS записывать файл на диск используя все
свободные кластеры. Содержимое файла может занимать самые различные,
далеко от стоящие друг от друга кластеры, причем пользователь соверше-
нно не замечает этого. Ряд программ, например СУБД FOXPRO, при некоррект
ном выходе, например сбое на питанию не освобождают

Загрузка...