Системное программное обеспечение Лекция № 7 «Структура MS DOS» Структура MS DOS В октябре 1980 г. менеджеры фирмы IBM занялись поисками OS для своего 16-разрядного PC, находящегося в стадии разработки. В тот период на ПЭВМ наиболее широко применялась OS CP/M (Control Program for MicroComputers) фирмы Digital Research. Не достигнув приемлемых соглашений с Digital Research, фирма IBM обратилась к фирме Microsoft ( Билл Гейтс). В тот момент у Microsoft не было соответствующей OS, но ей была известна небольшая фирма (Seattle Computer Products), которая имела такую OS. За 50 000$ Билл Гейтс приобрел права на эту OS. В дальнейшем эта OS послужила основой для MS DOS. В ноябре 1980 года Microsoft и IBM подписали договор на разработку OS для IBM PC. В феврале 1981 г. появилась первая версия PC/MS-DOS, которая работала на IBM PC. В августе 1981 г. - PC DOS 1.0 (эта версия была утверждена для применения на IBM PC). Структура MS DOS Операционная система MS DOS (Microsoft Disk Operating System) состоит из следующих основных модулей: Каждый из указанных модулей выполняет определенную часть функций, возложенных на операционную систему. Места постоянного размещения этих модулей различны. Структура MS DOS Структура MS DOS Базовая система ввода/вывода (BIOS) находится в постоянном запоминающем устройстве (ПЗУ), а не на дисках, как все остальные модули, и выполняет наиболее простые и универсальные услуги операционной системы, связанные с осуществлением вводавывода. В функции BIOS входит также автоматическое тестирование основных аппаратных компонентов (оперативной памяти и др.) при включении машины и вызов блока начальной загрузки DOS. Системный загрузчик — это очень короткая программа, единственная функция которой заключается в считывании с диска в оперативную память двух других частей DOS — модуля расширения базовой системы ввода/вывода и модуля обработки прерываний. Базовый модуль (MSDOS.SYS) реализует основные высокоуровневые услуги DOS, поэтому его и называют основным. Структура MS DOS Модуль расширения базовой системы ввода/вывода (IO.SYS) дает возможность использования дополнительных драйверов, обслуживающих новые внешние устройства. Файлы IO.SYS и MSDOS.SYS называют системными. Внешние драйверы устройств - это те драйверы, которые не вошли в состав BIOS. Это чаще всего драйверы мыши, принтера, таймера. Все внешние драйверы хранятся на дисках в виде отдельных файлов и являются компонентами MS DOS. Командный процессор (интерпретатор) (COMMAND.COM) обрабатывает команды пользователя. Все команды COMMAND.COM делятся на внутренние, которые интерпретатор выполняет сам (DIR, COPY), и внешние, для выполнения которых вызываются одноименные файлы (форматирование диска, очистка экрана, проверка диска). Структура MS DOS Утилиты DOS — это программы, поставляемые вместе с операционной системой в виде отдельных файлов. Они выполняют действия обслуживающего характера, например, разметку дискет, проверку дисков и т.д. Есть еще ряд важных для MS DOS файлов: Файл config.sys представляет собой текстовый файл, предназначенный для определения конфигурации MS-DOS, а также для загрузки драйверов и резидентных автоматически программой программ. Он создается установки MS-DOS и затем при необходимости редактируется пользователем. Для редактирования файла можно использовать текстовый редактор edit, который входит в состав MS-DOS. Структура MS DOS На этапе установки MS-DOS в корневом каталоге диска C: создается файл с именем autoexec.bat. Этот файл запускается сразу после загрузки MS-DOS и содержит команды определения среды выполнения программ, а также вызовы инициализирующих и резидентных программ. Модульная структура MS-DOS значительно облегчает ее модификацию, т.е. она открыта для наращивания возможностей. Уровни вложенности элементов MS-DOS: своих Структура MS DOS На внутреннем уровне находятся программы, управляющие аппаратурой, а на внешнем - средства для организации диалога с пользователями. Основная часть MS-DOS - промежуточные уровни, которые управляют файловой системой, выполнением и взаимодействием программ, использованием памяти. Структура 3,5" системного диска, состоящего из 2847 секторов: Структура MS DOS • Тестирование ПК выполняет (BIOS комплекс программ начального тестирования компьютера) • Загрузка MS (считывание операционной системы из DOS внешнего запоминающего устройства в оперативную память) • Настройка MS DOS (настройка ОС выполняется по командам, записанным в файлах autoexec.bat. config.sys и Структура MS DOS В зависимости от применения физических адресов, различные области памяти имеют различные названия. Рассмотрим типы памяти, различаемые ОС MS-DOS. Базовая память является основным видом памяти и присутствует в каждом компьютере. Все программы, работающие с DOS, могут использовать базовую память размером до 640 Кбайт. Верхняя граница UMA (Upper Memory Area) ограничена 1024 Кб. Это связано с тем, что первые процессоры могли осуществлять адресацию к памяти объемом 1 Мб (адресная шина была 20-разрядной). Структура MS DOS Если компьютер снабжен наращенной памятью, то первые 64 Кб этой памяти называются областью старших адресов – HMA (High Memory Area). Эта область памяти становится доступна при использовании специального драйвера управления наращенной памятью HIMEM.SYS. Этот драйвер позволяет загружать DOS в HMA, что позволяет освободить порядка 50 Кб базовой памяти. Область наращенной памяти начинается с 1024 Кб. В англоязычной литературе эта область памяти обозначается EMB (Extended Memory Block) или XMS (eXtended Memory Specification). В 1985 году был разработан стандарт памяти EMS (Expanded Memory Specification). Этот стандарт позволяет получить доступ через верхнюю память, блоки UMB (Upper Memory Blocks) к памяти объемом до 32 Мб. Структура MS DOS Структура MS DOS К управлению памятью в DOS имеют отношение различные установки и команды. Четыре из них могут определяться в CONFIG.SYS: HIMEM.SYS; DOS=HIGH, UMB; EMM386.EXE и DEVICEHIGH. Кроме того, можно использовать команду LOADHIGH, которую удобно поместить в файл AUTOEXEC.BAT. Для правильной работы с системным программным и аппаратным обеспечением, нужно четко представлять себе механизм взаимодействия прикладной программы с компьютером. Структура MS DOS Функции, выполняемые BIOS и DOS, а также драйверы образуют так называемые системные программные средства, без использования которых невозможно написать ни одну программу на языке ассемблера. При разработке программ на языках высокого уровня многие средства DOS реализуются в неявной форме с помощью использования встроенных функций или библиотечных процедур, в то время как ассемблерная программа обращается к функциям BIOS и DOS непосредственно с помощью механизма программных прерываний. Для вызова функции (модулей) BIOS или DOS программа использует команду int n с соответствующим номером прерывания n. Программа передает параметры модулям BIOS (или DOS) через регистры процессора, результат работы модуля возвращается также в регистрах. Структура MS DOS BIOS обеспечивает управление аппаратурой компьютера на самом низком (физическом) уровне путём обращения к портам и аппаратным буферам, поэтому её программные модули меняются с изменением "материнской" платы компьютера. Прикладные программы используют не все возможные номера прерываний для BIOS. Часть из них предназначена для аппаратных прерываний от периферийных устройств, а часть зарезервирована для MS-DOS. Ниже перечислены функции BIOS, предоставляемые пользовательским программам на ассемблере: Структура MS DOS • работа с видеоконтроллером (Int 10h) • определение конфигурации компьютера (Int 11h) • определение объема оперативной памяти (Int 12h) • обслуживание дисковой подсистемы (Int 13h) • обслуживание последовательного порта (Int 14h) • работа с клавиатурой (Int 16) • вывод данных в параллельный порт (Int 17h) • перезагрузка операционной системы (Int 19h) • работа с системными часами (Int 1Ah) Структура MS DOS Программы DOS, размещаемые в основном в файлах Io.sys и Msdos.sys, образуют более высокий уровень управления компьютером через механизм прерываний: • завершение работы программы (Int 20h) • чтение диска и запись на диск с абсолютной адресацией секторов (Int 25h, Int 26h) • завершение работы программы с оставлением ее резидентной в памяти (Int 27h) • недокументированное прерывание, используемое резидентными программами (Int 28h) • выполнение команды MS-DOS (Int 2Eh) • мультиплексное прерывание, используется для программы печати print и других резидентных программ; открывает доступ к внутренним функциям и структурам MS-DOS (Int 2Fh) Структура MS DOS Важные функции выполняет прерывание Int 21h – их можно разделить на следующие группы: • получение системной информации • символьный ввод/вывод • работа с файловой системой • управление программами • управление памятью • связь с драйверами устройств • прочий системный сервис (обработка ошибок, служба времени) Структура MS DOS MS DOS послужила основой для целого ряда совместимых с ней ОС, наиболее развитая из которых - PC DOS фирмы IBM. Развитие самой MS DOS закончилось на версии 6.22, версия 7 существует только как встроенная в Windows 9x. PС DOS продолжает развиваться и сейчас существует в версии 8, в которую опционно включены, например, невытесняющая многозадачность и графический интерфейс. Несмотря на явную бесперспективность развития MS DOS, ее применение будет продолжаться, прежде всего, в качестве ОС клиентского рабочего места с минимальными вычислительными ресурсами. Огромное число приложений, существующих для MS DOS, диктует для других ОС необходимость обеспечивать ту или иную эмуляцию среды MS DOS для выполнения этих приложений.