Лекция №3
Системы управления файлами.
Структура магнитного диска. Дисковые утилиты.
Вопросы:
1.
Понятия
файловой системы и системы управления файлами.
2.
Структура
магнитного диска
3.
Процесс
загрузки ОС (кратко)
4.
Дисковые
утилиты
·
для
просмотра и редактирования содержимого разделов FAT (DiskEdit)
·
для
разбиения диска на разделы (FDISK, Partiton Magic и др)
·
менеджеры
загрузки
Напомним, что одной из групп системного программного
обеспечения являются системы управления файлами. К рассмотрению данной группы
ПО мы и приступим.
Данные на диске хранятся в виде файлов. Файл - это
именованная часть диска.
Для управления файлами предназначены системы
управления файлами.
Возможность иметь дело с данными, хранящимися в
файлах, на логическом уровне предоставляет файловая система. Именно файловая
система определяет способ организации данных на каком-либо носителе данных.
Таким образом, файловая
система - это набор спецификаций и соответствующее им программное
обеспечение, которые отвечают за создание, уничтожение, организацию, чтение,
запись, модификацию и перемещение файловой информации, а также за управление
доступом к файлам и за управлением ресурсами, которые используются файлами.
Система управления файлами является основной
подсистемой в абсолютном большинстве современных ОС.
С помощью системы управления файлами
·
связываются
по данным все системные обрабатывающие программы;
·
решаются
проблемы централизованного распределения дискового пространства и управления
данными;
·
предоставляются
возможности пользователю по выполнению операций над файлами (создание и т.п.),
по обмену данными между файлами и различными устройствами, по защите файлов от
несанкционированного доступа.
В некоторых ОС может быть несколько систем
управления файлами, что обеспечивает им возможность работать с несколькими
файловыми системами.
Постараемся различать файловую систему и систему
управления файлами.
Термин “файловая система” определяет принципы
доступа к данным, организованным в файлы.
Термин “система управления файлами” относится
к конкретной реализации файловой системы, т.е. это комплекс программных
модулей, обеспечивающих работу с файлами в конкретной ОС.
Итак, для работы с файлами, организованными в
соответствии с некоторой файловой системой, для каждой ОС должна быть
разработана соответствующая система управления файлами. Эта система УФ будет
работать только в той ОС, для которой она создана.
Например, всем известная
файловая система FAT имеет множество реализаций как система управления
файлами. Так, система, разработанная для первых ПК, называется FAT12
(раньше просто FAT). Затем ее усовершенствовали для работы с жесткими
дисками большего объема, эта реализация называется FAT16. Так называется и система
управления файлами ОС MS-DOS. Реализация с-мы управления
файлами для OS/2 (основанной на принципах FAT) называется super-FAT
(предоставляет возможность поддерживать для каждого файла расширенные
атрибуты). Существуют системы управления файлами, организованными в
соответствии с принципами FAT, и для Windows 95/98, Windows NT и т.д.
Мы будем изучать следующие файловые системы: FAT, VFAT, FAT32, HPFS, NTFS.
Но прежде необходимо рассмотреть специальные
системные соглашения о структуре магнитного диска.
Структура магнитного диска
Информация на магнитных дисках размещается и
передается блоками, которые называются секторами. Секторы расположены на
дорожках диска (концентрические окружности).
Современный НЖМД содержит два или три диска.
Группа дорожек одного радиуса образует цилиндр.
Современные жесткие диски могут иметь несколько
десятков тысяч цилиндров, на поверхности дискеты всего 80 цилиндров (дорожек).
Каждый сектор состоит из поля данных и поля
служебной информации, ограничивающей и идентифицирующей его. РЕФЕРАТ -
ДОКЛАД
В большинстве ОС размер сектора выбирается равным
512 байт.
Физический адрес сектора на диске определяется
триадой [c-h-s], где c - номер цилиндра (cylinder), h - номер рабочей поверхности диска (магнитной головки, head), s - номер
сектора на дорожке (sector).
В самом первом секторе на винчестере (по физическому
адресу [0-0-1]) располагается главный загрузочный сектор.
В главном загрузочном секторе содержится главная
загрузочная запись винчестера - Master Boot Record (MBR).
Формирование главной
загрузочной записи происходит во время первоначальной установки компьютера и
разделения его жесткого диска на разделы (логические диски).
! |
MBR обычно
не зависит от ОС (на платформе Intel она используется для
запуска любой из ОС).
Главная загрузочная запись - MBR -
состоит из
·
выполняемого кода - программы начальной загрузки (внесистемный загрузчик -
non-system bootstrap)
·
и
таблицы разделов, или таблицы
разбиения диска (Disk Partition Table).
Главный загрузочный сектор заканчивается специальной
сигнатурой АА55h (2 байта).
По наличию этой сигнатуры BIOS проверяет, что первый
сектор был загружен успешно.
Сигнатура выбрана не случайно. Ее успешная проверка
позволяет установить, что все линии передачи данных могут передавать и нули, и
единицы.
Программа начальной загрузки
предназначена для анализа (сканирования) таблицы разделов, выбора активного
(Bootable) раздела, считывания в ОП загрузочной записи активного раздела (Boot
Record) и передачи ему управления. 446 байт.
Жесткий диск может быть разбит на несколько
разделов, которые в принципе затем могут использоваться либо одной, либо
различными ОС.
! |
Итак.
На каждом
разделе может быть организована своя файловая система.
Разделы диска могут быть двух типов:
·
primary (первичный, простейший);
·
extended (расширенный).
На диске обязательно должен быть по крайней мере
один первичный раздел. Максимальное число первичных разделов равно 4. Если их
несколько, то только один может быть активным. (Остальные для систем,
использующих спецификации DOS, являются невидимыми.)
На одном жестком диске может быть только один
расширенный раздел, который, в свою очередь, может быть разделен на большое
количество подразделов - логических дисков.
Таким образом, расширенный раздел предназначен для
увеличения количества разделов (>4, позволенных форматом MBR).
! Расширенный
раздел не может быть активным.
Схема разделения жесткого диска на разделы (FAT)
В MS-DOS в первичном разделе может
быть сформирован только один логический диск, а в расширенном - любое их
количество.
Расширенный раздел DOS
содержит вторичную запись MBR (secondary MBR, SMBR), в состав которой вместо
таблицы разделов (остальные нули!) входит аналогичная таблица логического диска
(LDT, logical disk table). Таблица LDT содержит 2 элемента (вместо
4). Первый описывает размещение и характеристики раздела (код 1 или 4),
содержащего единственный логический диск, второй - указывает на следующую
запись SMBR или содержит 0 в поле кода - означает последний логический диск.
Т.е. перед каждым логическим
диском расположена SMBR.
Таким образом, если в
расширенном разделе DOS создано К логических дисков, то он содержит К
экземпляров SMBR, связанных в список. Каждый элемент этого списка
описывает соответствующий логический диск и ссылается на следующий элемент
списка.
В DiskEdit посмотреть
SMBR -
указать физический адрес, взятый из Partiton Table. Формат тот же, поэтому по смещ 1BEh располагается LDT. Можно просмотреть в форматном просмотре as Partition Table и найти физический адрес следующего.
! для DOS - в первичном разделе может
быть создан один логический диск, в расширенном - несколько.
! Итак, расширенный раздел отличается от
первичного еще и тем, что перед ним расположен сектор, содержащий таблицу LDT.
Таблица разделов содержит сведения о положении и
характеристиках имеющихся на винчестере разделов. Она располагается в MBR по
смещению Оx1ВЕ и занимает 64 байта.
Для описания каждого раздела
отводится по 16 байт (16 * 4 = 64).
Рассмотрим формат элемента
таблицы разделов.
Назначение |
Длина в байтах |
Замечания |
||
Флаг
активности раздела |
1 |
0
- не активен; 128 (80h) - активен |
||
Номер
головки начала раздела |
1 |
|
||
№ дорожки №сектора |
2 |
15 6 5 0 |
||
Кодовый
идентификатор ОС (System ID) 1
или 4 - первичный раздел DOS 5
- расширенный раздел |
1 |
Указывает
на принадлежность к той или иной ОС и установке на нем соответствующей
файловой системы |
||
Номер
конца головки раздела |
1 |
|
||
Номер
сектора и номер цилиндра последнего сектора раздела |
|
|
||
Относительный
номер сектора начала раздела |
4 |
*** см. ниже |
||
Размер
раздела в секторах |
4 |
|
***
Относительный номер 0 соответствует [0-0-1].
При увеличении относительного номера сектора вначале увеличивается № сектора,
затем № головки, затем № дорожки Þ относительный номер сектора можно вычислить по
формуле
Rsec = (Cyl*Sect*Head) +
(Head*Sect) + (Sect-1) , где Sect - №сектора на дорожке, Cyl - №дорожки, Head - №
головки.
Процесс
загрузки ОС (кратко)
Сразу после того, как включается питание компьютера,
начинает работать процедура проверки POST (Power On Self Test). В ходе проверки
определяется конфигурация компьютера, проверяется работоспособность основных
подсистем. Процедура POST записана в микросхеме постоянного запоминающего
устройства (ПЗУ), расположенного на системной плате компьютера. Часто ее
называют системным загрузчиком.
Процедура начальной загрузки вызывается как
программной прерывание (BIOS INT 19h).
Затем из CMOS-памяти считываются значения текущей
даты и времени, конфигурация дисковой подсистемы.
Затем процедура определяет
первое готовое устройство из списка разрешенных и доступных (гибкий или жесткий
диск, CD-ROM, сетевой адаптер или другое устройство) и пытается
загрузить с него в ОП главную программу загрузчик.
Необходимо заметить, что почти все современные
системные платы и версии программы Setup позволяют изменить порядок загрузки
компьютера.
Для жесткого диска - это
программа-загрузчик из MBR. Повторим, что она
анализирует таблицу разбиения диска, выбирает активный (Bootable) раздел и
считывает загрузочную запись активного раздела (Boot Record). Эта (system bootstrap) загрузочная запись продолжает загрузку операционной системы. Она
заключается просто в считывании с
диска необходимых файлов операционной системы и
передачи им управления.
Заметим, что в случае загрузки с гибкого диска -
программа-загрузчик, записанная в загрузочном секторе дискеты, аналогична
загрузочной записи активного раздела. Таким образом, при загрузке с дискеты
опускается этап анализа таблицы разбиения и поиска активного раздела.
Для ОС DOS считываютcя и загружаются в оперативную память файлы IO.SYS и MSDOS.SYS. Оба эти файла являются скрытыми
системными файлами. Для операционных систем, совместимых с MS-DOS, эти имена
могут отличаться. Например, в ОС IBM
PC-DOS загружаются файлы IBMIO.COM и
IBMSYS.COM. Для упрощения работы этой программы оба файла размещаются в
определенных постоянных местах на дискете. Это избавляет программу загрузки от
необходимости искать их в справочнике дискеты.
! |
Системная
дискета отличается от обычной тем, что на ней в определенных местах находятся
два системных файла IO.SYS и MSDOS.SYS. Важно помнить, что тем не менее
загрузочная запись присутствует даже на несистемной дискете.
Затем считывается файл конфигурации CONFIG.SYS, если
он есть. Анализируется его содержимое и загружаются указанные в нем драйверы.
После этого с дискеты считывается командный процессор COMMAND.COM и управление
передается ему. Командный процессор завершает загрузку операционной системы и выполняет
команды, записанные в файле AUTOEXEC.BAT. После выполнения команд файла
AUTOEXEC.BAT командный процессор ожидает ввода команд пользователя. Наличие файлов CONFIG.SYS и AUTOEXEC.BAT не обязательно.
Утилиты
Утилиты, позволяющие разбить диск на разделы, обычно называются FDISK (form или fixed disk) фирмы Microsoft.
Хотя есть и другие утилиты. Например, ADM фирмы
MITAC. РЕФЕРАТ- ДОКЛАД
FDISK для MS-DOS позволяет сделать только один первичный раздел и один
расширенный раздел. Расширенный раздел предлагается разделить на несколько
логических дисков.
FDISK для OS/2 позволяет
создавать несколько первичных разделов, причем их можно выделять даже с конца
свободного дискового пространства (это удобно, например, если надо исключить из
работы некоторый диапазон из-за дефектов)
Утилиты для просмотра и редактирования разделов
диска.
Одной из самых известных и до сих пор достаточно
часто используемых утилит является Disk Editor. Предназначена для
просмотра и редактирования содержимого любой области диска. С ее помощью можно
просмотреть и отредактировать любую системную область диска (и таблицу
разделов, и другие структуры).
В последнее время появилось большое количество
утилит, использующих графический интерфейс для представления разбиения диска на
разделы. Одной из самых известных и мощных программ для работы с разделами
жесткого диска является Partition Magic фирмы Power Quest.
Менеджеры загрузки
РЕФЕРАТ
- ДОКЛАД
Менеджеры загрузки (boot-менеджеры) предоставляют
возможность пользователю выбрать среди нескольких установленных на компьютере
ОС нужную и передают управление загрузчику выбранной ОС.
Существует большое количество таких менеджеров.
Например,
System
commander
(должен располагаться в активном разделе с файловой системой FAT -
это нельзя признать хорошим решением в наше время).
Boot-менеджер компании IBM,
входящий в состав утилит OS/2. Установка Boot-менеджера
осуществляется из программы FDISK.
Boot
star. Один
из последних менеджеров. Наиболее мощный. (Только для подготовленных
пользователей)
BootMagic
- входит в состав дисковой утилиты Partition Magic (позволяет установить новые ОС, а также выбрать Ос при загрузке
компьютера)
Литература
1.
Гордеев
А.В., Молчанов А.Ю. Системное программное обеспечение. - СПб.: Питер, 2001.
2. А.В.
Фролов, Г.В. Фролов. Осторожно: компьютерные вирусы. - М.: ДИАЛОГ-МИФИ, 1996.