Какие компоненты входят в состав dos что такое ядро dos
Операционная система MS-DOS. Начальные сведения
В 1980 г. Президент фирмы Microsoft Билл Гейтс убедил руководство фирмы IBM в том, что их новый персональный компьютер должен быть 16 – ти разрядный. В том же году фирма IBM заключила контракт с компанией Microsoft о создании для их персонального компьютера новой операционной системы. Год спустя, на компьютерном рынке появилась операционная система MS DOS, которая длительное время «господствовала» на подавляющем большинстве IBM совместимых персональных компьютеров. В настоящее время существуют ее версии 6.22 и 7.0. Последняя распространяется в составе Windows 95/98 – 32 – разрядной многозадачной операционной системы с графическим интерфейсом и расширенными сетевыми возможностями. С наступлением эры графических операционных сред DOS отошла в тень. Однако ее роль в обеспечении процессов управления ЭВМ по – прежнему остается ощутимой. Практика показывает, что знание основ DOS способствует более глубокому пониманию того, как функционирует программное обеспечение последующих поколений.
MS- DOS 6.22 – это программно-аппаратный комплекс со следующими функциями:
1. Управление выполнением программ.
2. Управление ресурсами ПК.
3. Организация обмена информацией процессора с внешними устройствами.
4. Хранение информации во внешней памяти и обслуживание дисков.
MS-DOS хранится на дисках (DOS), её основное назначение:
Облегчить другим программам и пользователям управление дисковым вводом – выводом. MS-DOS не содержит встроенной поддержки:
а) телекоммуникационных сетей и б) накопителей на магнитных лентах.
ОС MS DOS – это комплекс программ, неоднородный по характеру и динамичный по своему составу: из него можно удалять и в него добавлять определенные части. Та часть программ, которая взаимодействует с аппаратными средствами непосредственно и должна постоянно храниться в ПК, составляет ядро операционной системы.
В ядро DOS входят следующие компоненты (или модули – логически взаимосвязанные программы):
1. BIOS – находится в микросхеме на материнской плате ПК – содержит набор программ для взаимодействия ОС с различными стандартными устройствами как ПК, так и подключёнными к нему.
Какие компоненты входят в состав dos что такое ядро dos
Дисковая операционная система
1. Дисковая операционная система (DOS). Основные понятия DOS.
2. Версии DOS. MS-DOS.
3. Составные части DOS.
4. Командный процессор command.com и его функции.
5. Начальная загрузка DOS.
6. Файловая система. Основные понятия.
7. Файлы autoexec.bat и config.sys, их назначение и структура.
2) Операционные системы делятся на однопользовательские и много пользовательские, однозадачные и многозадачные, с текстовым или с графическим интерфейсом. Кроме того бывают сетевые ОС, обеспечивающие работу компьютеров в локальной сети. ОС MS-DOS является однопользовательской однозадачной ОС с текстовым (командным) интерфейсом. В такой ОС в каждый момент времени работает 1 пользователь, который может одновременно запустить 1 программу, и общается с ОС, набирая текстовые команды. ОС Windows-95 является однопользовательской многозадачной ОС с многооконным графическим интерфейсом. Примером многопользовательской многозадачной ОС может служить ОС UNIX. Она используется в компьютерах мировой компьютерной сети Интернет и во многом определяет ее свойства.
Их файлы находятся, как правило, в каталоге WINDOWS или WIN9х, а утилиты DOS размещаются в подкаталоге COMMAND (C:\WINDOWS\COMMAND или C:\WIN9х\COMMAND).
3. Составные части DOS (на примере MS-DOS).
1) Базовая система ввода вывода (BIOS). Ее называют также CMOS Setup. В ее энергонезависимой памяти записана конфигурация компьютера и находятся системные часы. Она при включении электропитания осуществляет тестирование памяти и основных устройств компьютера и вызывает загрузчик операционной системы.
На рисунке показаны системные области на дискете, полученные программой PCTools.
3) Дисковые файлы IO.SYS и MSDOS.SYS (они могут называться в других DOS и по-другому, например I BMIO.C OM и IBMDOS.COM). Они загружаются в память загрузчиком операционной системы и остаются в памяти компьютера постоянно. Файл IO.SYS представляет собой дополнение к базовой системе ввода-вывода. Файл MSDOS.SYS реализует основные услуги MS-DOS высокого уровня.
4) Командный процессор command.com.
Дисковые файлы IO.SYS и MSDOS.SYS и командный процессор command.com образуют ядро DOS. Они находятся в корневом каталоге жесткого диска (системной дискеты) и служат для загрузки компьютера. Уже одних этих файлов достаточно для простейшей загрузки компьютера.
5) Утилиты (или вспомогательные программы) DOS, расположенные в каталоге DOS для MS-DOS или подкаталоге COMMAND для Windows-95. Они выполняют внешние команды DOS и оказывают некоторые дополнительные услуги.
4. Командный процессор command.com выполняет следующие функции:
1) Запуск прикладных программ на исполнение.
2) Выполнение внутренних команд DOS (обработка команд пользователя).
3 ) Запуск файла конфигурации config.sys и файла автозапуска машины autoexec.bat.
5. Начальная загрузка DOS выполняется автоматически при следующих случаях:
1) Включении электропитания компьютера.
2) Нажатии кнопки Reset на системном блоке компьютера.
3) Одновременном нажатии клавиш Ctrl, Alt, Del.
Для выполнения начальной загрузки DOS необходимо, чтобы либо на жестком диске была записана операционная система, либо в дисководе А: находилась системная дискета.
Если нет ошибок, загрузка проходит нормально. Однако, если есть серьезные ошибки, загрузка прекращается и выдается сообщение об ошибках. После считывания дисковых файлов IO.SYS и MSDOS.SYS, считывается файл config.sys, затем командный процессор сommand.com и наконец файл autoexec.bat, который запускает оболочку Norton Commander. Если отсутствуют файлы config.sys и autoexec.bat, то запрашиваются текущая дата и время, и после их ввода загрузка протекает нормально и завершается появлением приглашения DOS в виде значка C:\>, что означает, что DOS готова к приему команд пользователя. Таким образом, для загрузки машины достаточно, чтобы на диске было записано хотя бы только ядро операционной системы: файлы IO.SYS, MSDOS.SYS и command.com. Если при загрузке MS-DOS 6.22 при появлении на мониторе слов «Starting MS-DOS» быстро нажать клавишу F5, то файлы config.sys и autoexec.bat исполняться не будут и загрузка сразу закончится появлением приглашения DOS C:\>. Это следует делать, если в файлах config.sys и autoexec.bat есть грубые ошибки и загрузка прерывается. Тогда надо вручную загрузить Norton Commander и исправить ошибки, отредактировав указанные файлы. Можно также при ошибках в загрузке вместо F5 нажать клавишу F8 и просматривать поочередно директивы файлов config.sys и autoexec.bat, давая команду на их исполнение (Y-Yes) или пропуск (N-No), если директива ошибочна.
Ряд служебных слов зарезервировано DOS и не может использоваться в качестве имен файлов: PRN, CON, AUX, NUL, LPT1-LPT3, COM1-COM4.
Расширение файла позволяет отнести его к тому или иному общепринятому типу:
Полное имя файла строится следующим образом: [имя диска:] [путь\]
их логических разделов, электронных (виртуальных) дисков и для
лазерных дисков CD-ROM.
7. Файлы autoexec.bat и config.sys, их назначение и структура.
Файлы autoexec.bat и config.sys, находящиеся в корневом каталоге жесткого диска (системной дискеты), загружаются при включении или перезагрузке компьютера и служат для создания на компьютере привычной для пользователя обстановки. С помощью этих файлов загружаются драйверы внешних устройств: мыши, клавиатуры, расширенной памяти и др., без которых нормальная работа компьютера и важнейших программ невозможна. Указанные файлы являются текстовыми, поэтому для их редактирования может использоваться любой текстовый редактор. Рассмотрим структуру и основные директивы файлов autoexec.bat и config.sys на примерах. Пример типичного файла con fig.sys:
веры расширенной памяти HIMEM.SYS
и эмулятора верхней памяти emm386.exe
(Русской) клавиатуры и
драйвера CD-ROM в верхнюю память.
Пример типичного файла autoexec. bat:
ректива path задает путь (каталоги-их длина не более 128 б), где
операционная система должна находить основные программы.
Директива lh позволяет производить загрузку программ в верхнюю память, освобождая место для исполняемых программ в основной памяти. Если нужно сделать, чтобы какая-либо директива в файлах autoexec.bat или config.sys не выполнялась, то перед ней пишут слово REM. Это слово используется при настройке компьютера.
В современных компьютерах встречаются меню в файлах autoexec.bat и config.sys, что позволяет выбирать варианты загрузки компьютера, например, либо в Norton Commander, либо в Windows, или иные варианты загрузки, что создает определенные удобства в работе.
1. Что такое дисковая операционная система?
2. Какие бывают операционные системы?
3. Какие бывают версии DOS?
4. Какие компоненты входят в состав DOS? Что такое ядро DOS?
5. Что такое командный процессор и какие функции он выполняет?
6. Что такое драйвер?
7. Как происходит начальная загрузка DOS?
8. Что такое файловая система?
9. Какие существуют правила для задания на диске имени файла и
каталога? Что такое задание файла по маске?
10. Как строится полное имя файла и каталога?
MS-DOS для программиста
1.3. Состав и общая схема работы MS-DOS
Для того чтобы правильно работать с системным программным и аппаратным обеспечением, вы должны понимать механизм взаимодействия прикладной программы с операционной системой MS-DOS и аппаратурой компьютера.
Как мы уже говорили, в идеальном случае программа MS-DOS обращается к портам аппаратуры компьютера при помощи многоступенчатой схемы, в которую входит базовая система ввода/вывода BIOS, драйверы и программные прерывания MS-DOS (рис. 1.1).
Рис.1.1. Схема взаимодействия программы с MS-DOS, BIOS и аппаратурой компьютера
Из рис. 1.1 видно, что программа MS-DOS может обращаться к ядру MS-DOS (вызывая программные прерывания MS-DOS), к базовой системе ввода/вывода BIOS, а также непосредственно к портам ввода/вывода аппаратуры. Однако программа не может непосредственно вызывать драйверы MS-DOS.
Ядро MS-DOS вызывает драйверы и прерывания BIOS, а также может работать с аппаратурой. В свою очередь, драйверы могут вызывать программные прерывания BIOS и работают с портами ввода/вывода.
Эти системы общаются с аппаратурой через прерывания BIOS, драйверы или напрямую. Прикладное программное обеспечение может вызывать системы MS-DOS, работать с BIOS или непосредственно с аппаратурой. Еще раз обращаем ваше внимание на то, что прикладные программы могут обращаться к драйверам только через соответствующую систему MS-DOS.
Рассмотрим системы MS-DOS отдельно.
Файловая система
Файловая система работает с дисками через драйверы. Драйверы, в свою очередь, пользуются сервисом BIOS.
Используя систему MS-DOS, отвечающую за связь с драйверами, прикладные программы могут выполнять элементарные операции с диском, такие как форматирование, с помощью драйвера диска.
Система управления памятью
Эта система MS-DOS используется для распределения памяти запускаемым программам.
MS-DOS управляет памятью с помощью блоков MCB (Memory Control Block). Память разбивается на фрагменты. Каждому фрагменту памяти предшествует MCB, в котором записаны характеристики блока памяти. Для каждой вновь запускаемой программы MS-DOS создает определенное количество фрагментов памяти. При освобождении памяти или при выполнении запросов на получение дополнительной памяти MS-DOS проверяет и соответствующим образом изменяет содержимое блоков MCB.
Все блоки MCB располагаются друг за другом. Адрес первого блока хранится в векторной таблице связи CVT, доступ к которой можно получить с помощью недокументированных средств.
Прикладная программа может заказать для себя дополнительные фрагменты памяти. Для этого она обращается к системе управления памятью, используя функции прерывания INT 21h.
Система управления программами
Система связи с драйверами устройств
Возможно, что запрет на непосредственный вызов драйверов введен для обеспечения совместимости с будущими версиями операционной системы, в которых механизм вызова драйверов может измениться. Однако используя сведения, приведенные в этой книге, вы сможете обойти этот запрет и обратиться непосредственно к драйверу. При этом вам придется использовать некоторые недокументированные прерывания MS-DOS, что само по себе нежелательно из-за возможной потери совместимости с другими версиями операционной системы.
Для управления состоянием устройства ввода/вывода или состоянием драйвера используется специальная функция 44h прерывания INT 21h. Эта функция предназначена для обмена управляющей информацией между прикладной программой и драйвером.
Система обработки ошибок
Система обработки ошибок MS-DOS проста и удобна. Для обнаружения ошибок, возникающих при вызове прерываний MS-DOS, как правило, используется флаг переноса процессора. Если после обращения к прерыванию MS-DOS флаг переноса установлен в 1, произошла ошибка. Для того чтобы проанализировать ошибку и предпринять какие-то действия, можно вызвать соответствующую функцию MS-DOS, которая вернет уточняющую информацию об ошибке и предоставит соответствующие рекомендации (разумеется, лишь в виде кодов, находящихся в регистрах процессора).
Если произошла критическая ошибка ввода/вывода (например, невозможно прочитать дискету), вызывается стандартная процедура MS-DOS, которая выводит на экран запрос о дальнейших действиях. Программа может подключить вместо системной свою функцию обработки критических ошибок.
Служба времени
Любой компьютер оборудован системными часами. Это часы с питанием от аккумулятора. Их содержимое не сбрасывается при выключении компьютера.
Дополнительно для формирования временных интервалов используется таймер, постоянно вырабатывающий прерывания. Программа может использовать прерывания таймера для регулярного выполнения каких-либо функций.
Операционная система MS-DOS ведет подсчет времени и хранит текущие показания часов, а также текущую дату. Программа может опросить часы, обратившись к MS-DOS через одну из функций прерывания INT 21h, или установить новое состояние часов.
В составе операционной системы MS-DOS имеется драйвер устройства CLOCK$. Прикладная программа может обратиться к этому устройству для чтения показания часов или для установки часов.
Работа с консолью оператора
Операционная система обслуживает консоль с помощью функций прерывания INT 21h, обеспечивающих ввод и вывод символов на устройство CON. Для работы с клавиатурой и видеоконтроллером этот драйвер вызывает прерывания BIOS.
Другие системы MS-DOS
MS-DOS имеет драйверы для работы с параллельными и последовательными портами, которые обеспечивают обмен данными в символьном режиме и управление подключенными к ним устройствами (обычно это принтеры, мышь или факс-модемы).
Кроме того, для печати текста в фоновом режиме в состав MS-DOS входит программа print.com. Эта практически единственная «мультизадачная» программа MS-DOS является примером стандартной резидентной программы. Она позволяет выполнять почти любую работу (такую, например, как редактирование текста или прием файла через модем) параллельно с печатью текста.
Специально следует отметить драйверы электронного диска и кэш-памяти. Драйвер электронного диска называется ramdrive.sys. Этот драйвер организует в расширенной или в дополнительной памяти компьютера быстрый псевдодиск. Можно организовать электронный диск и в основной памяти, но основной памяти всегда мало!
Операционная система MS-DOS версии 6.22 имеет в своем составе систему управления дополнительной и расширенной памятью, которая реализуется драйверами himem.sys и emm386.exe. Эти драйверы позволяет программам, составленным специальным образом, использовать расширенную или дополнительную память для хранения данных и выполнения программ (в некоторых случаях).
С помощью программы memmaker.exe и перечисленных выше драйверов пользователь может в автоматическом режиме освободить первый мегабайт оперативной памяти, переместив драйверы и резидентные программы в расширенную память.
Если подключен драйвер himem.sys, то с помощью драйвера smartdrv.exe можно создать кэш-память (или просто кэш) для жесткого диска. Особенно эффективно применение кэша для работы с базами данных, когда вам периодически требуется одна и та же информация. Если данные были считаны с диска, то в следующий раз, когда они потребуются снова, с большой вероятностью данные будут доступны без повторного обращения к диску.
Такое широко распространенное и ставшее стандартным для любого персонального компьютера устройство, как мышь, не поддерживается операционной системой MS-DOS. Для использования мыши следует подключить драйвер, который обычно поставляется вместе с этим устройством.
Другие периферийные устройства (сканеры, плоттеры, стримеры, факс-модемы и т. п.) также не поддерживаются MS-DOS. Для этих устройств фирмы-изготовители поставляют специальные программы, а также драйверы, которые надо подключить к операционной системе.
Операционная система MS-DOS
1.3. Общая схема работы DOS
Для того чтобы правильно работать с системным программным и аппаратным обеспечением, нужно четко представлять себе механизм взаимодействия прикладной программы с компьютером. На рис. 1.1 показаны функциональные связи программы с программно-аппаратным обеспечением IBM PC.
Эти подсистемы общаются с аппаратурой через BIOS, драйверы или напрямую. Прикладное программное обеспечение может вызывать подсистемы DOS, работать с BIOS или непосредственно с аппаратурой. Обратите, однако, внимание на то, что прикладные программы могут обращаться к драйверам только через соответствующую подсистему DOS.
Очевидно также, что чем выше уровень интерфейса прикладной программы и аппаратуры, тем меньше программа будет зависеть от особенностей аппаратуры.
Рассмотрим подсистемы DOS отдельно.
Файловая система.
Файловая система работает с дисками через драйверы. Драйверы, в свою очередь, пользуются сервисом BIOS.
Используя подсистему DOS, отвечающую за связь с драйверами, прикладные программы могут также выполнять элементарные операции с диском, такие как форматирование.
Система управления памятью.
Эта подсистема DOS используется для распределения памяти запускаемым программам.
DOS управляет памятью с помощью блоков MCB (Memory Control Block). Память разбивается на блоки; каждому блоку предшествует MCB, в котором записаны характеристики блока памяти. Для каждой вновь запускаемой программы DOS создает определенное количество блоков MCB. При освобождении памяти или при выполнении запросов на получение дополнительной памяти DOS также использует блоки MCB, проверяя при этом правильность их содержимого.
Все блоки MCB располагаются друг за другом. Адрес первого блока хранится в векторной таблице связи, CVT, о которой мы будем говорить в главе 2. Там же будет описан формат блока управления памятью.
Прикладная программа может заказать для себя дополнительные блоки памяти. Для этого она обращается к системе управления памятью, используя функции прерывания 21h DOS.
Система управления программами.
Система связи с драйверами устройств.
Возможно, что запрет на непосредственный вызов драйверов введен для обеспечения совместимости с будущими версиями операционной системы, в которых механизм вызова драйверов может измениться. Однако, используя сведения, приведенные в этой книге, вы сможете обойти этот запрет и обратиться непосредственно к драйверу. При этом вам придется использовать некоторые недокументированные прерывания DOS, что само по себе нежелательно из-за возможной потери совместимости с другими версиями операционной системы.
Для управления состоянием устройства ввода/вывода или состоянием драйвера используется специальная функция 44h прерывания DOS 21h. Эта функция предназначена для обмена управляющей информацией между прикладной программой и драйвером.
Система обработки ошибок.
Система обработки ошибок DOS проста и удобна. Для кодирования ошибок как правило используется флаг переноса (CARRY, CF). Если после обращения к прерыванию DOS флаг переноса установлен в 1, произошла ошибка. Для того чтобы проанализировать ошибку и предпринять какие-то действия, можно вызвать соответствующую функцию DOS, которая вернет уточняющую информацию об ошибке и предоставит соответствующие рекомендации (разумеется, лишь в виде кодов, находящихся в регистрах процессора).
Если произошла критическая ошибка ввода/вывода (например, прочитать дискету невозможно), вызывается стандартная процедура DOS, выводящая на экран запрос о дальнейших действиях. Пользовательская программа может подключить вместо системной свою программу обработки критических ошибок. Подробнее об обработке ошибок будет сказано в разделе 1.6.
Служба времени.
Компьютер обычно оборудуется системными часами. Это могут быть КМОП-часы с питанием от аккумулятора, содержимое которых не сбрасывается при выключении питания компьютера, или таймер, регулярно вырабатывающий прерывания. В любом случае операционная система ведет подсчет времени и хранит текущие показания часов и дату.
Программа может опросить часы, обратившись к DOS с запросом через одну из функций прерывания 21h, или установить новое состояние часов.
Операционная система содержит драйвер устройства CLOCK$. Прикладная программа может обратиться к этому устройству для чтения показания часов или для установки часов. В книге 2 первого тома приведен пример программы для работы с устройством CLOCK$.
Программа может также использовать прерывания таймера для регулярного выполнения каких-либо функций.
Ввод/вывод на консоль оператора.
Операционная система обслуживает консоль с помощью функций прерывания 21h, обеспечивающих ввод и вывод символов на устройство CON. Для работы с физической клавиатурой и дисплейным адаптером этот драйвер использует прерывания BIOS.
Другие подсистемы DOS.
DOS имеет набор драйверов для работы с печатающими устройствами и последовательными портами, которые обеспечивают прием/передачу символов и управление режимами работы устройств.
Кроме того, для печати текста в фоновом режиме в состав дистрибуции DOS входит программа PRINT.COM. Эта практически единственная «мультизадачная» утилита операционной системы является примером стандартной резидентной программы. Она позволяет выполнять параллельно с печатью текста другую работу (например, редактирование другого текста).
Специально следует отметить драйверы электронного диска и кэш-памяти. Драйвер электронного диска называется RAMDRIVE.SYS. Этот драйвер организует в расширенной или в дополнительной памяти компьютера быстрый псевдо-диск. Можно организовать электронный диск и в основной памяти, но основной памяти всегда мало!
Операционная система MS-DOS версий 4.01 и 5.0 имеет в своем составе систему управления дополнительной и расширенной памятью, которая реализуется драйвером HIMEM.SYS. Этот драйвер позволяет программам, составленным специальным образом, использовать расширенную или дополнительную память для хранения данных (но не для выполнения программ).
Если подключен драйвер HIMEM.SYS, то с помощью драйвера SMARTDRV.SYS можно создать кэш-память для жесткого диска. Особенно эффективно применение кэш-памяти для работы с базами данных, когда вам периодически требуется одна и та же информация. В следующий раз, когда информация потребуется, она будет доступна без обращения к диску.
Такое широко распространенное и ставшее стандартным для любого персонального компьютера устройство как мышь не поддерживается операционной системой. Для использования мыши следует подключить драйвер, который обычно поставляется вместе с этим устройством.
Другие устройства ввод/вывода (сканеры, плоттеры, стримеры и т.п.) также не поддерживаются DOS. Для этих устройств фирмы поставляют драйверы, которые надо подключить к операционной системе.