Сервисное программное обеспечение
ЛЕКЦИЯ 6
3.3 Операционная система MS-DOS
3.3.1 Логическая структура дисков
Все винчестеры и флоппи-диски, поддерживаемые MS-DОS, за рядом исключений имеют сходный логический формат.
Под логическим форматом понимается то, что на диске резервируются определенные ______
Процесс создания и заполнения этих областей носит название логического форматирования.
Для создания логической структуры диска используются специальные программы, входящие обычно в состав операционной системы или существующие как независимые утилиты. Содержимое создаваемых областей может полностью или частично заполняться и изменяться не только во время форматирования, но и в процессе последующей работы с данным диском.
3.3.1.1 Логическая структура гибкого магнитного диска
_____________ (рис. 3.7, 3.8).
Рис. 3.7. Логическая структура гибкого магнитного диска
Рис. 3.8. Структура системной области
Загрузочный сектор BR (SB) (рис. 3.9) каждого диска занимает по определению только один сектор и хранится в логическом секторе 0. В нем содержится некоторая информация о диске и небольшая программа IPL (2) (Initial Program Loading 2). Почему именно 2, а не 1, будет ясно из дальнейшего объяснения. Первым байтом этого сектора должен быть либо код безусловного перехода JMP (E9h) с последующим 16-битным смещением, либо код "короткого" (short) перехода JMP (EBh) с 8-битным смещением, причем третьим байтом в этом случае является код операции NOP (90h). Заканчивается сектор определенной кодовой комбинацией – сигнатурой (AA55h). Сразу за инструкцией JMP в этом секторе следует 8-байтное поле, резервируемое для идентификации имени и версии OEM (Original Eguipment Manufacturer). Программы форматирования традиционно записывают здесь ASCII-строку, содержащую марку и версию используемой операционной системы или наименование пакета, например MSDOSn.n либо PCTools.
Рис. 3.9. Структура загрузочного сектора
Безусловно, главным компонентом сектора BR является так называемый блок параметров BIOS BPB (BIOS Parameter Block). Это важнейшая структура данных, содержащая важную информацию: тип носителя (media descriptor), количество используемых байт на сектор и секторов на кластер, количество копий FAT и др.
Последний элемент сектора BR – это программа IPL2. Начальная инструкция JMP в этом секторе выполняет переход на точку входа именно этой программы.
Таблица размещения файлов располагается непосредственно после загрузочной записи и имеет переменный размер (в секторах). FAT используется для хранения сведений о размещении файлов на диске. Эта таблица состоит из элементов (12- или 16-битных), каждый из которых соответствует определенному участку дискового пространства и соответствующим кодом характеризует его состояние: занят, свободен или имеет дефект. В самом начале каждой таблицы FAT (первый элемент) хранится дескриптор (media descriptor), определяющий тип носителя (например для жесткого диска – F8h).
Минимальным элементом, которым MS-DOS оперирует при работе с дисками, является не сектор, а кластер. Кластеры состоят из нескольких секторов (2, 4 и т. д.).
Для дисков с магнитным носителем обычно используется две копии FAT, которые следуют одна за другой. Содержимое их полностью дублируется.
Корневой каталог диска всегда занимает строго фиксированное место – сразу за последней таблицей FAT. Он состоит из ограниченного числа 32-байтных записей, каждая из которых содержит информацию о файле или другом каталоге (подкаталоге), а также метке диска.
Корневая директория включает список всех файлов на дискете, его элементы содержат всю информацию о файле, за исключением сведений о размещении файла, которые хранятся в таблице размещения файлов. Любой элемент имеет длину 32 байт и включает восемь полей (все они выравниваются по левой границе, пустые байты заполняются пробелами):
1) имя файла – 8 байт. Если первый байт имеет значение Е516, то элемент не используется, если 2Е16, то этот элемент указывает на директорий нижнего уровня;
2) расширение имени файла – 3 байт;
3) атрибут – 1 байт. Используется для установления признака:
- "только чтение" (нулевой бит);
- скрытого файла (первый бит);
- системного файла (второй бит);
- признака метки тома (третий бит);
- признака поддиректории (четвертый бит);
- признака архивного файла (пятый бит);
- шестой и седьмой биты этого байта резервные.
Если задан признак метки тома, то этот элемент содержит не ссылку на файл, а имя диска, которое занимает первые 11 байт. Архивный бит используется утилитами BACKUP и RESTORE;
4) зарезервированное поле для возможного использования в будущем – 10 байт;
5) время – 2 байт. Здесь хранится время создания или последней модификации файла. Первые 5 бит занимают часы, вторые 3 бит – минуты, третьи 5 бит – секунды. В последнем поле каждая единица соответствует 2 с;
6) дата – 2 байт. Здесь хранится дата создания последней модификации файла. Первые 7 бит занимают годы, которые отсчитываются от значения 1980 (от 1980 г.), вторые 4 бит – месяцы, третьи 5 бит – дни;
7) номер начального кластера – 2 байт. Начальный кластер является первой частью пространства данных в файле на дискете;
8) размер файла – 4 байт. Наличие этого поля связано с тем, что файл обычно частично занимает последний отведенный ему кластер, а здесь указывается его точная длина.
Все остальное место на диске занимает область данных, содержащая файлы данных или подкаталогов.
3.3.1.2 Логическая структура жесткого магнитного диска
Особенности логической структуры жесткого магнитного диска обусловлены наличием несистемного загрузчика NSB (главный загрузочный сектор MBR – MASTER BOOT RECORD).
Каждый жесткий диск (как отдельное электронное устройство) имеет еще одну область, которая называется главной загрузочной записью, или сектором MBR, или несистемным загрузчиком (NSB). Единый жесткий диск может быть разбит на несколько логических дисков, с которыми она может работать как с отдельными устройствами. Именно поэтому физические сектора на жестком диске могут характеризоваться в двух системах координат: физической (сектор, головка, цилиндр) и логической (номер логического сектора).
Для MBR на жестком диске всегда выделяется физический сектор 1 (сектор 1, головка 0, цилиндр 0). Логического номера он не имеет, так как является общим для всех логических дисков.
Этот сектор содержит программу IPL1 (Initial Program Loa-ding 1), расположенную в его начале, которая при своем выполнении сканирует содержимое второго важного элемента MBR – таблицу разделов диска (Partition Table) (рис. 3.10), состоящую, в свою очередь, из четырех 16-байтных элементов (разделов), разбитых на поля. Они содержат информацию о номерах начального и конечного секторов, номерах головок и цилиндров для соответствующего раздела, а также числе секторов, предшествующих разделу и включенных в раздел. Из четырех разделов, на которые может быть поделен диск, только два могут принадлежать MS-DOS: первичный (Primary) и расширенный (Extended), два оставшихся резервируются для других операционных систем: OS/2, Xenix, UNIX, Windows NT и т. д.
Рис. 3.10. Структура MBR
Не следует отождествлять понятия "раздел" и "логический диск", поскольку, например, с расширенным разделом могут быть связаны несколько логических дисков.
Байт поля "Признак загрузки" используется программой IPL1 (при ее выполнении) для выяснения, какой из разделов диска содержит загружаемую операционную систему. Активный (загружаемый) раздел в этом поле содержит код 80h, остальные разделы должны быть помечены кодом 00h.
В поле "Начало раздела" хранятся номера головки, сектора и цилиндра стартового сектора раздела; в поле "Конец раздела" – соответствующие величины для конечного сектора этого раздела.
Число секторов до начала раздела хранится в 4-байтном поле "Относительный сектор". Это число определяется путем последовательного подсчета секторов, начиная с сектора 1, головки 0, цилиндра 0 физического диска, и увеличения номера сектора на дорожке, затем номера головки и цилиндра.
Число секторов в разделе хранится в 4-байтном поле "Размер". Как и для предыдущего поля, первое слово содержит младшую часть числа, второе – старшую.
Еще одно важное поле элементов таблицы разделов – "Тип раздела". Код в нем указывает, какой именно операционной системе принадлежит данный раздел.
Если поле "Тип раздела" содержит код 05h (Extended-раздел), то физический сектор, определяемый в поле "Начало раздела" диска, является вовсе не загрузочным сектором (BR) расширенного раздела, а вторичным главным загрузочным сектором жесткого диска SMBR (Secondary Master Boot Record). Этот сектор содержит собственную таблицу разделов, называемую таблицей логического диска LDT (Logical Drive Table), и непременную сигнатуру AA55h. Эта таблица и определяет местоположение и размер раздела, с которым MS-DOS обращается как с отдельным физическим диском.
Отличия SMBR-сектора от MBR-сектора:
- во-первых, он не содержит программы IPL1 и соответственно никогда не определяет загрузочный диск;
- во-вторых, таблица логического диска включает максимум два 16-байтных элемента, а не четыре, как основная таблица разделов. Причем, если поле "Тип раздела" первого элемента таблицы определяет размер элемента FAT, то такое же поле второго элемента таблицы (если он существует) содержит код Extended-раздела – 05h. Таким образом, второй элемент таблицы логического диска может определять следующий вторичный загрузочный сектор и т. д.
Каждый диск, определяемый таблицей логического диска, содержит сектор BR, две копии FAT, корневую директорию и, безусловно, область данных (рис. 3.11).
Рис. 3.11. Логическая структура жесткого магнитного диска
Таким образом, Extended-раздел может быть поделен на логические диски от D до Z по количеству букв латинского алфавита.
3.3.2 Начальная загрузка MS-DOS
При загрузке или перезагрузке системы выполнение начинается с адреса OFFFFOH (рис. 3.12). Это определяется особенностями семейства микропроцессоров 8086/8088, а не самой системы MS-DOS. Системы, базирующиеся на этих процессорах, сконструированы так, что адрес OFFFFOH лежит внутри области ПЗУ и содержит машинную команду передачи управления программе проверки системы и программе начального загрузчика ПЗУ.
Программа начального загрузчика ПЗУ считывает в некоторую область памяти программу дискового начального загрузчика, начиная с первого сектора загружаемого диска (сектор загрузчика), и затем передает ей управление. Кроме того, сектор загрузчика содержит таблицу с информацией о формате диска.
Программа дискового начального загрузчика проверяет наличие на диске копии операционной системы MS-DOS. Для этого считывается первый сектор корневого каталога и определяется, являются ли его первые два файла системными файлами IO.SYS и MSDOS.SYS (или IBMBIO.COM и IBMDOS.COM) (в указанном порядке). Если этих файлов там нет, то пользователю предлагается сменить диск и нажать на произвольную клавишу для новой попытки. Если оба системных файла найдены, то дисковый начальный загрузчик считывает их в память и передает управление на точку входа модуля IO.SYS. В некоторых реализациях дисковый начальный загрузчик считывает в память только файл IO.SYS, который, в свою очередь, загружает файл MSDOS.SYS.
Файл IO.SYS, загруженный с диска, обычно состоит из двух отдельных модулей. Первый из них BIOS содержит связанный набор резидентных драйверов таких устройств, как консоль, последовательный порт, печатающее устройство, блочно-ориентированное устройство и таймер, а также программу инициализации, выполняемую только при начальной загрузке системы.
Второй модуль SYSINIT, поддерживаемый системой Microsoft, компонуется в файл IO.SYS, как и BIOS, изготовителем компьютера.
Рис. 3.12. Алгоритм загрузки системы MS-DOS
SYSINIT вызывается с помощью программы инициализации BIOS. Модуль определяет величину непрерывной памяти, доступной системе, и затем располагается по ее старшим адресам. Далее модуль переносит ядро системы DOS MSDOS.SYS из области ее начальной загрузки в область окончательного расположения в памяти, перекрывая начальную программу SYSINIT в любую другую расширяемую программу инициализации, которая содержалась в файле IO.SYS.
Далее SYSINIT вызывает программу инициализации в модуле MSDOS.SYS. Ядро DOS инициализирует ее внутренние таблицы и рабочие области, устанавливает векторы прерываний по адресам с 2OH по 2FH и перебирает связанный список резидентных драйверов устройств, вызывая функцию инициализации для каждого из них.
Функции драйверов определяют состояние оборудования, выполняют всю необходимую инициализацию аппаратуры и устанавливают векторы для внешних аппаратных прерываний имеющихся драйверов.
В процессе инициализации ядро DOS проверяет блоки параметров диска, возвращаемые с помощью резидентных драйверов блочно-ориентированных устройств, определяет наибольший размер сектора, который будет использован в системе, строит блоки параметров дисковода и выделяет буфер сектора диска, затем управление передается модулю SYSINIT.
Когда ядро DOS проинициализировано и все резидентные драйверы доступны, модуль SYSINIT может открыть файл CONFIG.SYS. Этот необязательный файл содержит различные команды, которые позволяют пользователю настраивать среду MS-DOS. Например, пользователь может задать дополнительные драйверы аппаратных устройств, число буферов диска, максимально возможное число одновременно открытых файлов и имя файла командного процессора (оболочки).
Если файл CONFIG.SYS найден, он загружается в память для выполнения. Драйверы, указанные в файле CONFIG.SYS, последовательно загружаются в память, активизируются с помощью вызовов соответствующих модулей инициализации и заносятся в связанные списки драйверов. Функции инициализации каждого из них сообщают модулю SYSINIT размер памяти, отведенной под соответствующий драйвер.
После загрузки всех устанавливаемых драйверов SYSINIT закрывает все дескрипторы файлов и открывает вновь консоль (CON), принтер (PRN) и последовательный порт (AUX) как устройство стандартных ввода и вывода, ошибки, печати и последовательного устройства. Это позволяет символьно-ориентированному драйверу, установленному пользователем, замещать резидентные драйверы BIOS стандартных устройств.
В конце своего выполнения модуль SYSINIT вызывает функцию EXEC для загрузки интерпретатора командной строки, или оболочки. Стандартной оболочкой является COMMAND.COM, однако с помощью файла CONGIG.SYS можно устанавливать и другие оболочки. После загрузки оболочка высвечивает на экране дисплея запрос и ждет от пользователя ввода команды. Теперь система MS-DOS готова для работы и модуль SYSINIT уже не требуется.
3.3.3 Файловая система MS-DOS
Файловая система MS-DOS ______________________Каталог –_____________________________Подкаталог – каталог, который входит в другой каталог.
Доступ ____
Файл ____.
С понятием файловой системы тесно связано понятие файловой структуры диска, под которой понимают, как размещаются на диске главный каталог, подкаталоги, файлы, операционная система, а также какие для них выделены объемы секторов, кластеров, дорожек.
При формировании файловой структуры диска операционная система MS-DOS работает по определенным правилам:
- файл или каталог могут быть зарезервированы с одним и тем же именем в различных каталогах, но в одном и том же каталоге только один раз;
- порядок следования имен файлов и подкаталогов в родительском каталоге произвольный;
- файл может быть разбит на несколько частей, для которых выделяются участки дискового пространства одинакового объема на разных дорожках и секторах.
3.3.3.1 Файлы
Файл служит ____________________________. Любые действия с информацией в MS-DOS осуществляются над файлами: запись на диск, вывод на экран, ввод с клавиатуры, печать, считывание информации CD-ROM и пр.
На диске файл ____________________ Сведения о номерах этих кластеров хранятся в FAT-таблице.
В файлах могут храниться разнообразные виды и формы представления информации: ______Особенности конкретных файлов определяются их формами.
Под формами понимается ________________________________
Текстовая информация хранится в файле в кодах _______________________________ Содержимое текстовых файлов можно просмотреть на экране дисплея с помощью разных программных средств, в том числе и в MS-DOS.
Любой другой файл с нетекстовой информацией просмотреть теми же средствами, что и текстовый файл, не удается. При просмотре на экран будут выводиться абсолютно непонятные символы.
Для характеристики файла используются следующие параметры:
_____________________________
1) R (Read only) ____
2) H (Hidden) _____
3) S (System) ____________________________
4) A (Archive) _____
Вся эта информация хранится _____________________________
3.3.3.2 Каталоги
В операционной системе MS-DOS принята _____________________ На каждом диске всегда имеется ____Он находится на ________________ уровне иерархической структуры и обозначается символом ________. Корневой каталог создается при ____________ диска, имеет ограниченный размер и не может быть удален средствами DOS. В главный каталог могут входить другие каталоги и файлы, которые создаются командами операционной системы и могут быть удалены соответствующими командами.
Таким образом, любой каталог, содержащий каталоги нижнего уровня, может быть, с одной стороны, по отношению к ним родительским, а с другой – подчиненным по отношению к каталогу верхнего уровня. Если это не вызывает путаницы, употребляют термин "каталог", подразумевая или подкаталог, или родительский каталог в зависимости от контекста.
Каталоги на дисках организованы как ____________________файлы. Единственное исключение – ___, для которого отведено фиксированное место на диске. Доступ к каталогам можно получить, как к обыкновенному файлу.
Доступ к содержимому файла организован из главного каталога, через цепочку соподчиненных каталогов (подкаталогов) n-го уровня.
3.3.3.3 Путь и приглашение
_________________ (рис. 3.13).
Корневой каталог:\ | Родительский каталог:\ | Подкаталог:\ | Имя файла |
Рис. 3.13. Структура пути
Из рисунка видно, что доступ к файлу осуществляется через каталог благодаря зарегистрированному в нем имени данного файла. Если каталог имеет иерархическую структуру, то доступ к файлу операционная система организует в зависимости от положения подкаталога, в котором зарегистрировано имя искомого файла.
Доступ к файлу можно организовать следующим образом:
– если имя файла зарегистрировано в текущем каталоге, то достаточно для доступа к файлу указать только его имя;
– если имя файла зарегистрировано в пассивном каталоге, то, находясь в текущем каталоге, вы должны указать путь, т. е. цепочку соподчиненных каталогов, через которые следует организовать доступ к файлу.
При задании пути имена каталогов записываются в порядке следования и отделяются друг от друга символом "\".
Взаимодействие пользователя с операционной системой осуществляется с помощью командной строки, индицируемой на экране дисплея. В начале командной строки всегда имеется приглашение, которое заканчивается символом ">". В нем могут быть отображены имена текущих диска и каталога, текущее время и дата, путь, символы-разделители.
Приглашение операционной системы – индикация на экране дисплея информации, означающей готовность операционной системы к вводу команд пользователя.
Сервисное программное обеспечение
3.4.1 Характеристика компьютерных вирусов
1)Массовое применение персональных компьютеров оказалось связанным с понятием самовоспроизводящихся программ-вирусов, препятствующих нормальной работе компьютера, разрушающих файловую структуру дисков и наносящих ущерб хранимой в компьютере информации. Проникнув в один компьютер, компьютерный вирус способен распространяться на другие компьютеры.
2)Компьютерным вирусом называется _____________________________
3)Причины появления и распространения компьютерных вирусов, с одной стороны, скрываются в психологии человеческой личности и ее теневых сторонах (зависти, мести, тщеславии непризнанных творцов, невозможности конструктивно применить свои способности), с другой стороны, обусловлены отсутствием аппаратных средств защиты и противостояния со стороны операционной системы персонального компьютера.
4)Несмотря на принятые во многих странах законы о борьбе с компьютерными преступлениями и разработку специальных программных средств защиты от вирусов, количество новых программных вирусов постоянно растет. Это требует от пользователя персонального компьютера знаний о природе вирусов, способах заражения вирусами и защиты от них.
5)Основными путями проникновения вирусов в компьютер являются _______________________________ Заражение жесткого диска вирусами может произойти при загрузке компьютера с дискеты, содержащей вирус. Такое заражение может быть и случайным, например, если дискету не вынули из дисковода А и перезагрузили компьютер, при этом дискета может и не быть системной.
6)Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто вставить в дисковод зараженного компьютера и, например, прочитать ее оглавление.
7)В загрузочном секторе зараженного диска находится программа-вирус.
8)После запуска программы, содержащей вирус, становится возможным заражение других файлов. Наиболее часто вирусом заражаются _____________________________Зараженная программа содержит ____________________________
9)При заражении компьютера вирусом очень важно своевременно его обнаружить. Для этого следует знать об основных признаках проявления вирусов:
10) _______________________
11) Следует заметить, что вышеперечисленные явления необязательно вызываются присутствием вируса, а могут быть следствием других причин, поэтому всегда затруднена правильная диагностика состояния компьютера.
12) В настоящее время известно более 35 000 программных вирусов (по данным лаборатории Касперского AVP), их можно классифицировать по следующим признакам (рис. 3.14):
_____________________________
Рис. 3.14. Классификация компьютерных вирусов:
а – по среде обитания; б – по способу заражения;
в – по степени воздействия; г – по особенности алгоритмов
13) В зависимости от среды обитания вирусы можно разделить на _______________ Сетевые вирусы распространяются по разным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.
14) По способу заражения вирусы делятся на _____________________ Резидентный вирус при заражении компьютера оставляет в оперативной памяти свою _____________, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. ______________________Простейшие вирусы____________________Можно отметить вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии. Известны вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего "тела" незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты, содержащие алгоритм шифровки–расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов. Имеются и так называемые квазивирусные или "троянские" программы, которые _________
_
15)