Операционная система Microsoft DOS
MS-DOS - Microsoft Disk Operatting System
🕛 17.09.2009, 16:32
В настоящее время MS-DOS (Microsoft Disk Operatting System - "дисковая операционная система фирмы Microsoft) остается самой популярной в мире операционной системой для IBMPC-совместимых персональных компьютеров. Ее поставки начались в 1981 году вместе с компьютерами IBM PC (под названием PC-DOS). Многие черты MS-DOS были унаследованы от операционной системы CP/M-80 фирмы Digital Research, применявшейся в 8-разрядных персональных компьютерах.Операционная система MS-DOS позволяет использовать программное обеспечение, созданное для MS-DOS, и предоставляет пользователю ряд возможностей по работе с файлами данных, их организации в каталоги и использованию устройств ввода-вывода. MS-DOS является однозадачной однопользовательской операционной системой, работающей в реальном режиме микропроцессоров x86, использующей 640 Кбайт памяти компьютера и поддерживающей сравнительно простую файловую систему (File Allocation Table, FAT). Изначально MS-DOS ориентирована на работу с микропроцессорами 8086 и 8088, имевшими только один режим работы - так называемый реальный. Защищенный режим работы микропроцессоров Intel 80286 и выше (с адресацией до 16 Мбайт памяти) могут использовать только некоторые драйверы MS-DOS, с виртуальной памятью система не работает.
Самой совершенной версией операционной системы MS-DOS, выпущенной отдельно, является MS-DOS 6.22 (1994 г.).
Для использования системой -MSDOS диск должен быть не только размечен на стандартные сектора и дорожки. При форматировании дисков в системе MS-DOS на них записывается стандартная служебная информация, необходимая для работы, и создаются структуры данных, входящие в системную область диска.
Системной областью диска в MS-DOS называется служебная область, в которой не могут храниться файлы данных. Системная область состоит из трех частей: загрузочной записи, таблицы размещения файлов и корневого каталога.
Загрузочная запись (Boot Record) размещается на каждом диске в логическом секторе с номером 0. Она содержит данные о формате диска, а также короткую программу, используемую в процедуре начальной загрузки операционной системы.
Таблица размещения файлов (File Allocation Table, FAT) находится после загрузочного сектора и содержит описание физического расположения всех файлов на диске; за FAT следует ее точная копия - такое дублирование повышает надежность хранения данных на диске.
Корневой каталог (Root Directory) всегда находится за копией FAT, и количество записей в нем никогда не превышает определенной величины, а именно: 112 на дискетах двойной плотности, 224 на дискетах высокой плотности и 512 на жестких дисках.
Все логические тома хранятся под общей физической “обложкой” одного жесткого диска. Информация о разбиении на тома фиксируется в самом первом физическом секторе диска, то есть в секторе 1 дорожки 0 стороны 0, в главной загрузочной записи (Master Boot Record).
Загрузочный код из загрузочной записи диска считывается программой начального загрузчика ROM BIOS (записанной на ПЗУ базовой системы ввода-вывода) компьютера и получает управление после включения компьютера. Загрузочная программа определяет, являются ли первые два файла на диске файлами IO.SYS и MSDOS.SYS (в системе MS-DOS). Если это так, то происходит загрузка операционной системы MS-DOS, в противном случае загрузочная программа выводит на дисплей сообщение о том, что диск не является системным. Для успешной загрузки -MSDOS также необходим исполняемый файл командного процессора, по умолчанию - COMMAND.COM.
Таблица размещения файлов (File Allocation Table, FAT) - это список кластеров диска. Кластер - это единица выделения дискового пространства, некоторое количество секторов, число которых равно степеням числа 2. Каждый файл в FAT охарактеризован цепочкой цифр - порядковых номеров его кластеров на диске.
Первые две записи в FAT зарезервированы для описания формата диска, первый кластер в области дисковых данных поэтому пронумерован числом 2. В FAT ровно столько значимых записей, сколько кластеров на диске. Если в ячейке FAT записано значение “0”, кластер пуст. Специальные обозначения приняты для последнего кластера файла, для дефектных и зарезервированных кластеров. Номер начального кластера каждого файла записан в каталоге. При записи и удалении файлов, модификации файлов и каталогов вносятся изменения в FAT, причем сразу в обе таблицы.
Корневой каталог состоит из ограниченного количества записей, каждая из которых содержит информацию о файле или подкаталоге, а может также включать одну запись с меткой диска. В списке файлов, доступных из корневого каталога, присутствуют записи с разными атрибутами, например файлы с атрибутом “Каталог” (Dir), то есть подкаталоги. В каталоге хранятся и номера начальных кластеров файлов, необходимые для того, чтобы начать “отслеживание” кластеров файла по цепочке номеров в ячейках FAT.
При удалении файла или подкаталога соответствующая ему запись не освобождается - просто первый символ имени заменяется на байт с номером 229, то есть “” (или “х” в кодировке 866). Корневой каталог системного диска обязательно начинается с записей “IO.SYS” и “MSDOS.SYS”, в любом подкаталоге сначала идут записи: “.” (текущий каталог) и “..” (надкаталог).
Подкаталоги являются файлами с атрибутами “Каталог”. Они имеют ту же структуру, что и корневой каталог, и также могут содержать записи о файлах и подкаталогах. В отличие от корневого каталога подкаталоги могут иметь неограниченную длину. В любом подкаталоге первыми являются записи: “.” (текущий каталог) и “..” (надкаталог) с атрибутами “Каталог”.
Имя файла в MS-DOS может состоять из двух частей. Первая часть имени файла содержит не более 8 символов. В качестве имени файла нельзя использовать имена PRN, LPT1, LPT2, LPT3, AUX, COM1, COM2, COM3, COM4 и CON, а также имена NUL и CLOCK$, так как они зарезервированы за устройствами. Вторая, необязательная, часть имени файла называется расширением, она может состоять не более чем из трех символов. Между именем и расширением ставится символ “.”.
Файлы программ имеют расширения COM или EXE. Можно организовать также BAT-файлы, которые содержат списки команд, вызывающих внутренние программы MS-DOS, COM-, EXE- и другие BAT-файлы.
Полное имя каталога состоит из имени диска, имен надкаталогов и имени каталога, разделеных символом “\”.
C:\DOS (каталог DOS диска C)
C:\WINDOWS\SYSTEM (подкаталог SYSTEM каталога C:\WINDOWS)
Имя корневого каталога любого диска - \.
C:\ - корневой каталог диска C:.
Полный адрес файла состоит из полного имени каталога и имени файла.
C:\WINDOWS\WIN.COM (файл WIN.COM каталога C:\WINDOWS)
Файл IO.SYS содержит драйверы консоли ввода-вывода, последовательного и параллельного интерфейсов, системного таймера, устройства начальной загрузки и модуль SYSINIT, управляющий процессом загрузки операционной системы.
Файл MSDOS.SYS содержит ядро операционной системы -MSDOS. Ядро MS-DOS обеспечивает прикладным программам функции управления процессами, работы с памятью и дисковыми данными.
Если у пользователя возникает проблема нехватки дискового пространства, MS-DOS предполагает возможность уплотненного размещения файлов на диске. Дисковый компрессор обеспечивает сжатие данных, записываемых на диск и распаковку данных, с них считываемых, то есть осуществляет перехват и преобразование данных, передаваемых между оперативной памятью и дисками.
В MS-DOS 6.0 и 6.2 входит модуль динамического сжатия дисковых данных DBLSPACE.BIN, а в версию 6.22 - DRVSPACE.BIN.
Стандартным командным процессором MS-DOS является COMMAND.COM. Командный процессор MS-DOS обрабатывает команды, выданные пользователем. Резидентная часть командного процессора, которая постоянно находится в памяти, обрабатывает нажатия клавиш Ctrl+C, критические ошибки. При необходимости резидентная часть вызывает транзитную часть командного процессора, объем которой примерно в 10 раз больше. Она выполняет команды пользователя, в ней хранится код всех встроенных команд COMMAND.COM.
Для удобства работы с компьютером, выполнения дополнительных задач и повышения производительности в оперативную память могут загружаться резидентные программы и драйверы. Для использования старших адресов памяти, верхней, дополнительной и отображаемой памяти в MS-DOS входят драйверы.
Сразу после включения компьютера выполняется программа загрузчика операционной системы, проверяющая наличие файлов операционной системы на активном диске компьютера. Управление передается файлу IO.SYS. Процессом дальнейшей загрузки управляет модуль SYSINIT.
Загружается модуль ядра операционной системы MSDOS.SYS.
При использовании программы динамического сжатия дисковых данных Microsoft DriveSpace, входящей в -MSDOS 6.22 (в версиях MS-DOS 6.0 и 6.2 - DoubleSpace), загружается также модуль DRVSPACE.BIN (DBLSPACE.BIN).
После загрузки ядра MS-DOS модуль SYSINIT выполняет команды текстового файла CONFIG.SYS, находящегося в корневом каталоге системного диска.
Команды файла CONFIG.SYS определяют режимы работы MS-DOS и загружают драйверы устройств и резидентные программы. Если в зависимости от потребностей пользователя предполагается выполнение программ, требующих загрузки взаимоисключающих или несовместимых драйверов и резидентных программ, наличия различной конфигурации оборудования, можно организовать “интерактивное конфигурирование DOS” (вариантную загрузку). На дисплее отображается меню загрузки, пункты которого должны быть указаны командами MENUITEM в разделе [menu] файла CONFIG.SYS. После выбора пункта меню выполняются команды, находящиеся в секции с именем, определенным соответствующей командой MENUITEM, команды, находящиеся в секции [common] и в начале файла CONFIG.SYS. Затем SYSINIT вызывает командный процессор.
Процесс загрузки завершается выполнением команд файла AUTOEXEC.BAT. Выполнение программ и установка переменных окружения, определяемых в файле AUTOEXEC.BAT, также может быть вариантным, синхронизованным с меню CONFIG.SYS. Если файла AUTOEXEC.BAT нет в корневом каталоге системного диска, загрузка заканчивается выводом стандартного сообщения MS-DOS:
В начале -загрузки MSDOS 6.x на экране появляется сообщение
Starting MS-DOS…
В этот момент можно нажать одну из клавиш - Shift (недокументированная возможность), F5, F8, Ctrl+F5 или Ctrl+F8.
Если в любой момент после нажатия F8 или Ctrl+F8 нажать Esc, все оставшиеся команды будут выполнены без запроса на подтверждение. Если в файле CONFIG.SYS имеется команда SWITCHES=/N, нажатие Shift, F5 или F8 не повлияет на процесс загрузки, а нажатие Ctrl+F5 или Ctrl+F8 подействует, только если установлена система сжатия DoubleSpace (DriveSpace).
В основе работы с -MSDOS лежит система команд, которые пользователь набирает на клавиатуре в командной строке в ответ на приглашение к работе. Операционная система MS-DOS исторически поддерживает крайне недружелюбный интерфейс. В случае ошибки в командной строке приходится всю команду набирать заново, иногда это бывает несколько утомительно. Поэтому MS-DOS обычно используется в “сопровождении” файловых мониторов или оболочек, которые организуют удобную подачу команд.
Внутренние команды -MSDOS, такие как DIR, COPY, DEL, DATE, TIME, встроены в командный процессор COMMAND.COM. Программы, находящиеся на магнитных дисках в виде COM- и EXE-файлов, а также пакетные файлы вызываются внешними командами MS-DOS. Например, программа MS-DOS Editor, входящая в MS-DOS, вызывается командой EDIT (исполняемый файл EDIT.COM), а программа Norton Commander фирмы Symantec - командой NC (NC.EXE).
Если исполняемый файл не найден, MS-DOS выдает сообщение “Bad command or file name” (“Неверная команда или имя файла”). Поиск исполняемого файла производится в следующем приоритетном порядке:
- если есть COM-файл, выполняется он;
- если нет COM-файла, выполняется EXE-файл;
- если нет ни COM-, ни EXE-файлов, выполняется BAT-файл.
Для вызова программ, файлы которых находятся не в текущем каталоге, необходимо специально настроить переменную окружения PATH командой PATH.
Команда PATH с параметром - списком каталогов, в которых должен производиться поиск, модифицирует список каталогов, в которых MS-DOS должна искать программные файлы.
Path=c:\windows;c:\windows\command;c:\tools
Рекомендуется поместить команду PATH со списком необходимых каталогов в файл AUTOEXEC.BAT.
Символы “*” и “?” (называемые маской файлов) можно передавать многим программам вместо имен файлов или их частей. Символ “?” заменяет один любой символ, символ “*” заменяет любое количество любых символов.
Направить вход из файла (вместо клавиатуры) можно командой вида:
Направить выход в файл (вместо дисплея) можно такой командой:
При использовании символа > выходной файл перезаписывается. Для присоединения каждого последующего выходного файла к одноименному предыдущему используют >> вместо >:
Направить выход из команды_1 на вход команды_2:
Команда 1 | команда 2
Операционная система PC-DOS фирмы IBM до последнего времени оставалась практически идентична -MSDOS. IBM PC-DOS 7.0 (1995 г.) обладает более широким набором сервисных программ, чем MS-DOS 6.22.
Операционная система Novell DOS 7.0 (бывшая DR-DOS фирмы Digital Research) обладала существенно более широкими возможностями, чем MS-DOS. В 1994 году фирма Novell прекратила выпуск этой операционной системы.
Многие операционные системы для IBMPC-совместимых компьютеров поддерживают работу программ для MS-DOS. В операционную систему Microsoft Windows95 входит ядро реального режима и ряд сервисных программ, которые в комплексе являются дальнейшим развитием MS-DOS, но не носят официального наименования MS-DOS 7.0. Операционная система IBM OS/2 позволяет работать практически с любыми программами для MS-DOS. Операционная система Microsoft WindowsNT также позволяет выполнять многие программы для MS-DOS и поддерживает команды MS-DOS.