Структура и управление оперативной памятью в ОС DOS
ФГОУ ВПО «БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ»
Факультет
______________________________
Кафедра
______________________________
Специальность ___________________________
Специализация ___________________________
Форма обучения____________
Курс, группа ______________
(Фамилия, имя, отчество студента)
Структура и управление оперативной памятью в ОС DOS
Расчетно-графическая работа
«К защите допускаю»
Руководитель
_______________________
(ученая степень, звание, Ф. И. О.)
____________________
(подпись)
“___”_____________20___г.
Оценка при защите
_________________
_________________
(подпись)
“___”________20___г.
Уфа 2014
Содержание
Введение
1.Операционная система MS DOS 4
1.1 назначение операционной системы 4
1.2модульная структура MS DOS 6
2.Функции и назначение базовой системы ввода - вывода BIOS 7
2.1функции и назначение модуля расширения базовой системы ввода
- вывода 10
2.2функции и назначение базового модуля дисковой операционной
системы. 11
2.3функции и назначение командного процессора 11
3. Загрузка MS DOS в оперативную память с диска 14
4. Понятие файла 16
4.1способы обращения к файлу 17
4.2 организация доступа к файлу 20
Заключение 25
Библиографический список 26
Введение
В настоящее
время существуют множество операционных
программ, которые в достаточной степени
эффективности и надежности, управляют
оперативной памятью. К таким системам
можно отнести Windows, Unix и т.д. Прогресс электроники
привел к значительному улучшению элементов
памяти. А именно таких параметров, модулей
памяти, как объем, надежность, оперативность
и компактность. Память применяется везде,
где есть элемент, обрабатывающий информацию
(процессор, контроллер). В следствии этого,
появились новые, более мощные системы
управления способные использовать ресурсы
оперативной памяти. Это привело к увеличению
скорости обработки информации и к увеличению
мощности программных средств и следовательно
самой мощи, всего компьютера в целом.
Например, подсистема управления оперативной
памятью MS-DOS базировалась на использовании
блоков управления памятью MCB. Такое "управление"
памятью полностью основано на джентльменском
соглашении между программами о сохранении
целостности операционной системы, так
как любая программа может выполнить запись
данных по любому адресу. Программа может
легко разрушить системные области MS-DOS
или векторную таблицу прерываний. На
сегодняшний день существует приложение
Windows, которое выполняется в защищенном
режиме, поэтому оно не может адресоваться
к любым областям памяти. Это сильно повышает
надежность операционной системы.
Операционная система MS DOS
НАЗНАЧЕНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ
Как известно, компьютер выполняет действия в соответствии с предписаниями программы, созданной на одном из языков программирования. При работе пользователя на компьютере часто возникает необходимость выполнить операции с прикладной программой в целом, организовать работу внешних устройств, проверить работу различных блоков, скопировать информацию и.т.п.
Наиболее часто используемые операции:
- запуск программы на решение;
- организация записи программы на диск и считывания ее с диска;
- печать текста и результатов решения;
- копирование программы на другой диск;
- удаление программы с диска;
- просмотр содержимого диска и.т.п. операции.
По существу, эти операции используются для работы с другой программой, воспринимаемой как единое целое. Поэтому целесообразно из всего многообразия операций, выполняемых компьютером, выделить типовые и реализовать их с помощью специализированных программ, которые следует принять в качестве стандартных средств, поставляемых вместе с аппаратной частью.
Программы, организующие работу устройств и не связанные со спецификой решаемой задачи, вошли в состав комплекса программ, названного операционной системой. Функции операционной системы многообразны, постоянно расширяются за счет введения дополнительных программ и модификации старых.
Операционная система- совокупность программных средств, обеспечивающая управление аппаратной частью компьютера и прикладными программами, а также их взаимодействие между и пользователем.
Операционная система образует автономную среду, не связанную ни с одним из языков программирования. Любая же прикладная программа связана с операционной системой и может эксплуатироваться только на тех компьютерах, где имеется аналогичная системная среда. Прикладные программные средства, разработанные в среде одной операционной системы, не могут быть использованы для работы в среде другой операционной системы, если нет специального комплекса программ, позволяющего это делать. В таком случае говорят о программной несовместимости компьютеров.
Программа, созданная в среде одной операционной системы, не функционирует в среде другой операционной системы, если в ней не обеспечена возможность конвертации (преобразования) программ.
Для работы с операционной системой необходимо овладеть языком этой среды - совокупностью команд, структура которых определяется синтаксисом этого языка.
Операционная система выполняет следующие функции:
- управление работой каждого блока персонального компьютера и их взаимодействием;
- управление выполнением программ;
- организация хранения информации во внешней памяти;
- взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя.
Обычно операционная система хранится на жестком диске, а при его отсутствии выделяется гибкий диск, который называется системным диском. При включении компьютера операционная система автоматически загружается с диска в оперативную память и занимает в ней определенное место. Операционная система создается не для отдельной модели компьютера, а для серии компьютеров, в структуре которых заложена и развивается во всех последующих моделях определенная концепция.
МОДУЛЬНАЯ СТРУКТУРА MS DOS
Модули системы MS DOS
Понятие модуля широко используется применительно как к аппаратной, так и программной части компьютера.
Модуль - унифицированная самостоятельная функциональная часть системы, имеющая законченное оформление и средства сопряжения с другими функциональными узлами и модулями.
Структурой операционной системы MS DOS образуют модули.
BIOS (Basic Input/Output System) - базовая система ввода- вывода;
Модуль расширения - EM BIOS (Extension Module BIOS) в виде файла с именем IO.SYS;
Базовый модуль (BM - Basic Module) дисковой операционной системы (БДОС) в виде файла с именем COMMAND.COM;
Внешние команды и драйверы, утилиты - файлы с расширением .COM, .EXE, .SYS;
Системный загрузчик (SB - System Bootstrap);
Инструментальные средства DOS: система программирования MS DOS QBASIC; текстовый редактор MS DOS EDITOR, обеспечивающий подготовку текстовых документов и текстов исходных программ; отладчик DEBUG для тестирования отлаживания исполняемых файлов.
BIOS, модуль расширения EM BIOS, загружаемые (внешние) драйверы, системный загрузчик составляют машинозависимую часть операционной системы. (Рис.1)
Базовый модуль DOS, командный процессор, внешние команды, инструментальные средства составляют машинонезависимую часть операционной системы.
Рис.1 Модульная структура операционной системы MS DOS
Операционная система MS DOS, кроме модуля BIOS, хранится на внешнем носителе, обычно на жестком, реже на гибком диске. После включения компьютера в сеть начинается процесс перезаписи операционной системы MS DOS c диска в оперативную память. Этот процесс получил название загрузка операционной системы. Алгоритм загрузки будет рассмотрен далее.
Функции и назначение базовой системы ввода - вывода BIOS
Базовая система ввода - вывода BIOS - самый близкий к аппарату компонент DOS. BIOS находится в постоянной памяти, которая входит в комплект поставки персонального компьютера. Тип операционной системы может изменяться, а BIOS остается постоянным. Поэтому BIOS, являясь неизменяемой частью персонального компьютера, с одной стороны, может рассматриваться как компонент аппаратной части, а с другой стороны, как компонент любой операционной системы, в том числе и MS DOS. Строго говоря, BIOS не входит в состав MS DOS, но, учитывая, что без этого модуля функционирование операционной системы невозможно, будем считать его компонентом ее структуры.
Основная функция BIOS реализуется в процессе нормальной работы персонального компьютера. Это - управление стандартными и внешними (периферийными) устройствами, входящими в состав комплекта персонального компьютера конкретной модели, а именно: дисплеем, клавиатурой, дисководами, принтером, таймером. Выделение BIOS в отдельный аппаратно - программный модуль позволяет обеспечить независимость программного обеспечения от специфики конкретной модели персонального компьютера.
Вспомогательные функции BIOS реализуются при включении персонального компьютера на этапе загрузки и состоят в следующем:
- поиск сначала на гибком, а затем на жестком диске программы загрузчика операционной системы и загрузка с диска в оперативную память;
- тестирование аппаратной части, в том числе оперативной памяти, а при обнаружении неисправностей индикации сообщения;
- инициализация векторов прерываний нижнего уровня.
BIOS содержит: специальные программы (драйверы) по управлению работой стандартными внешними устройствами; текстовые программы для контроля работоспособности аппаратуры; программы начальной загрузки операционной системы.
Драйвер - программа, расширяющая возможности операционной системы.
Драйвер устройства - программа операционной системы для управления работы периферийными устройствами: дисководами, дисплеем, клавиатурой, принтером, манипулятором "мышь" и пр.
Драйвер устройства должен учитывать специфику работы вашего устройства, все тонкости его функционирования. Поэтому каждому устройству должен соответствовать свой драйвер.
Функции драйвера состоят в следующем:
прием и обработка запроса (управляющего сигнала), который поступает к данному периферийному устройству;
преобразование запроса при необходимости связи с этим устройством в серию команд управления им, с учетом всех деталей конструкции и особенностей его работы;
Драйверами также считаются программы, обеспечивающие управление расширенной памятью, а также создание и обслуживание виртуальных устройств, например электронного диска - имитации гибкого диска в оперативной памяти.
Драйверы могут быть либо стандартными, либо загружаемыми.
Стандартные (внутренние) драйверы - это программы, которые находятся внутри BIOS или его модуля расширения EM BIOS и служат для управления внешними устройствами, входящими в стандартный комплект поставки персонального компьютера. Эти драйверы подключаются к системе автоматически после перехода компьютера в нормальное рабочее состояние.
Загружаемые (внешние, устанавливаемые) драйверы - это программы, хранящиеся на диске и предназначенные для управления внешними устройствами, которые отличаются от стандартных либо по своим техническим параметрам, либо особыми режимами эксплуатации. Загружаемые драйверы подключаются к системе только тогда, когда они указаны в файле конфигурации CONFIG.SYS. Возможность использования загружаемых драйверов облегчает адоптацию операционной системы к новым внешним устройствам.
Постоянный модуль BIOS хранится в постоянной памяти или может быть изменен при обычных условиях эксплуатации. Записывается он в постоянной памяти только при изготовлении персонального компьютера. Однако необходимость изменения содержимого BIOS вполне вероятно может быть вызвана следующими причинами: подключение к персональному компьютеру новых внешних устройств и использованием нестандартного командного процессора и др.
Функции и назначение модуля расширения базовой системы ввода -
вывода
Модули расширения базовой системы ввода - вывода EM BIOS придает гибкость операционной системе при обращении к внешним устройствам, а при необходимости и перекрывает (блокирует) функции постоянного модуля BIOS. Он хранится на диске в виде файла IO.SYS после главного каталога заранее выделенном фиксированном месте. Объем этого файла небольшой, например, для MS DOS версии 6.22 он равен 40 Кбайт.
Наличие модуля расширения позволяет легко провести модификацию параметров операционной системы, используя файл конфигурации CONFIG.SYS, который хранится в главном каталоге. При подключении новых внешних устройств в этом файле указываются имена новых драйверов, управляющих их работой. Сами драйверы в виде файлов размещаются на диске.
После загрузки (переписи) операционной системы в оперативную память осуществляется поиск на диске файла CONFIG.SYS, где должны быть указаны необходимые драйверы, и модули расширения осуществляет их подключение.
Основная функция модуля расширения в процессе нормальной работы компьютера - это увеличение возможностей BIOS.
Функции модуля расширения на этапе загрузки состоят в следующем:
- определение состояния оборудования;
- конфигурирование MS DOS по указаниям в файле CONFIG.SYS;
- инициализация и переустановка некоторых векторов прерываний нижнего уровня;
- запуск базового модуля DOS.
Функции и назначение базового модуля дисковой операционной системы.
Базовый модуль располагается в виде файла MS DOS.SYS на системном диске специально выделенном для него месте вслед за файлом модуля расширения IO.SYS. Объем файла MSDOS.SYS для версии 6.22 - 38 Кбайт. Базовый модуль не имеет жесткой привязки к аппаратной части и при необходимости может быть заменен на другой файл.
Основная функция базового модуля в процессе нормальной работы компьютера - управление ресурсами компьютера, файловой системой на дисковом пространстве и управление работой программ при помощи системы прерывания.
Функциями базового модуля на этапе загрузки являются: считывание в память и запуск командного процессора, инициализация векторов прерываний верхнего уровня.
Функции и назначение командного процессора.
Командный процессор - иногда называемый процессором консольных команд, предназначен для поддержки пользовательского интерфейса DOS. Он представляет собой обычный файл COMMAND.COM и располагается в системном диске в любом месте пространства, выделенного под файлы. Так, для MS DOS версии 6.22 объем равен 55К байтам.
Командный процессор состоит из двух модулей - резидентного и транзитного. Резидентный модуль хранится в оперативной памяти постоянно после загрузки операционной системы. Транзитный модуль может вытесняться из оперативной памяти на диск прикладной программы, если ей для работы не хватает памяти. После окончания работы такой программы транзитный модуль вновь восстанавливается на прежнем месте оперативной памяти путем считывания его с диска. Транзитный модуль содержит исполнитель внутренних команд и загрузчик команд в оперативную память для выполнения.
Взаимодействие с командным процессором осуществляется при помощи команд. Под командой понимается указание на выполнение некоторого действия. Команды бывают двух типов: резидентные (внутренние) и транзитные (внешние).Резидентные команды входят в состав самого командного процессора. Транзитные команды являются файлами типа EXE или COM, входящими в состав операционной системы DOS и хранящимися в обычном каталоге, как правило, с именем DOS.
Основные функции командного процессора в процессе нормальной работы компьютера состоят в следующем:
- пример и анализе команд, введенных с клавиатуры или из командного файла;
- выполнение внутренних команд;
- загрузке программ в память для выполнения;
- отработке прерываний по завершении задачи.
Основная функция программного процессора на этапе загрузки - это выполнение файла автонастройки AUTOEXEC.BAT.
При нормальном функционировании операционной системы командный процессор выдает на экран приглашение к работе, например С:\. В ответ на это приглашение вы вводите имя программы или команды, а командный процессор расшифровывает символы введенного имени и продолжает работу по одному из следующих вариантов:
в случае резидентной команды он сразу приступает к ее выполнению;
в случае транзитной команды или любой другой программы он загружает ее в оперативную память, подключая для этого два других модуля в операционной системе: базовый модуль БДОС и модуль расширения BIOS, и передает этой программе или команде управления.
После окончания работы введенной команды (программы) управление вновь возвращается командному процессору.
Назначение загрузчика
Загрузчик BOOT RECORD (модуль начальной загрузки) всегда размещается на диске в нулевом секторе занимает объем 512 байт. Основное значение этой небольшой программы состоит в поиске и перезаписи ( загрузке) с диска в оперативную память в двух файлов -IO.SYS и MSDOS.SYS. Поиск этих модулей и их загрузка в оперативную память осуществляются в определенном порядке, поэтому на диске и в оперативной памяти они занимают фиксированное место и следует один за другим. Если блок начальной загрузки не обнаружит этих модулей на диске, то он выдает соответствующее сообщение и работа компьютера приостанавливается. Кроме того, функцией загрузчика является запуск модуля расширения BIOS.
Как различать утилиты, внешние команды и драйверы
Утилиты, внешние команды и драйверы представляют собой программы, хранящиеся во многих случаях в каталоге системного диска в виде файлов типа .COM, .EXE, .SYS. Внешнее различие между ними весьма условное, и связывает его с интерфейсом взаимодействия с пользователем.
Внешними командой принято считать программу, выдающую пользователю ряд простых запросов или выполняющуюся автоматически без специально организованного интерфейса с пользователем. MS DOS имеет определенный перечень внешних команд.
Внешние драйверы, как правило, выполняются без диалога и поставляются отдельно от MS DOS либо совместно с внешними устройствами, либо самостоятельно.
Утилиты - обслуживающие программы, которые представляют пользователю сервисные услуги. Они, как правило, имеют полноэкранный, организованный в виде меню интерфейс взаимодействие с пользователем. Реже интерфейс организован как в виде запросов.
ЗАГРУЗКА MS DOS В ОПЕРАТИВНУЮ ПАМЯТЬ С ДИСКА
Алгоритм загрузки операционной системы
Операционная система хранится во внешней памяти обычно на жестком диске, реже - на гибком. Для нормальной работы компьютера необходимо, чтобы основные модули операционной системы находились в оперативной памяти. Поэтому после включения компьютера организованна автоматическая перезапись (загрузка) операционной системы с диска в оперативную память. Наиболее важные аспекты этой загрузки отражены в виде алгоритма.
Загрузка операционной системы - перезапись операционной системы с диска (жесткого или гибкого) в оперативную память.
После включения компьютера вы наблюдаете за сменой цифр на экране. Эти цифры отображают процесс тестирования оперативной памяти программой BIOS. При обнаружении неисправности в ячейках оперативной памяти будет выдано сообщение.
После успешного окончания тестирования аппаратуры производится обращение к дисководу с гибким диском A, и рядом с ним загорается лампочка индикации. Если вы загружаете операционную систему с гибкого диска, то надо до или во время тестирования вставить системный диск в дисковод A. В противном случае при отсутствии на диске A операционной системы осуществляется обращение к жесткому диску, о чем свидетельствует засветившаяся рядом с ним лампочка индикации.
Начинается считывание в оперативную память 0-го сектора 0-й стороны диска, в котором находится загрузчик (BOOT RECORD). Управление передается загрузчику, который проверяет наличие на системном диске модуля расширения IO. SYS и базового модуля MSDOS.SYS. Если они находятся в отведенном для них месте, то он загружает их в оперативную память, в противном случае будет выдано сообщение об их отсутствии. В этом случае рекомендуется произвести повторную загрузку. Сигнал повторной загрузки передает управление постоянному модулю BIOS, который снова переписывает с диска в оперативную память блок начальной загрузки и т.д.
После успешно выполненной загрузки в оперативную память модуля расширения IO.SYS и базового модуля MSDOS.SYS загружается командный процессор COMMAND.COM и обрабатывается файл конфигурации CONFIG.SYS, который содержит команды подключения необходимых драйверов. Этот файл может отсутствовать, если вас устраивает базовый вариант операционной системы.
Затем выполняется обработка командного файла AUTOEXEС.BAT. С помощью этого файла вы можете произвести настройку параметров операционной среды. Например, создать виртуальный диск, обеспечить смену печати, загрузить вспомогательные программы и т. д.
Файлы с расширением .BAT играют при работе в системной среде особую роль. Они содержат совокупность команд операционной системы или имен исполняемых файлов. После запуска файла с расширением .BAT все записанные в нем команды выполняются автоматически одна за другой.
В случае отсутствия файла AUTOEXEC.BAT вам будет предложено ввести дату и время:
Если вы нажмете клавишу ввода, то в качестве текущей даты и времени будут приняты так называемые системные параметры, который определяет компьютерный таймер;
После окончания работы файла AUTOEXEC.BAT, а также если этот файл не обнаружен, на экране дисплея будет выдано приглашение системного диска, например C:\>. Это является свидетельством нормального завершения процесса загрузки, и вы можете приступить к работе, введя имя прикладной программы или команду операционной системы.
ПОНЯТИЕ ФАЙЛА
В основе любой операционной системы лежит принцип организации работы внешнего устройства хранения информации. Несмотря на то, что внешняя память может быть технически реализована на разных материальных носителях (например, в виде гибкого магнитного диска или магнитной ленты), их определяет принятый в операционной системе принцип организации хранения логически связанных наборов информации в виде так называемых файлов.
Файл- логически связанная совокупность данных или программ, для размещение которой во внешней памяти выделяется именованная область.
Файл служит учетной единицей информации в операционной системе. Любые действия с информацией в MS DOS осуществляются над файлами: запись на диск, вывод на экран, ввод с клавиатуры, печать, считывание информации CD-ROM и пр.
На диске файл не требует для своего размещения непрерывного пространства, обычно он занимает свободные кластеры в разных частях диска. Сведения о номерах этих кластеров хранятся в специальной FAT- таблице. Кластер является минимальной единицей пространства диска, которое может быть отведено файлу. Самый маленький файл занимает один кластер, большие файлы- несколько десятков кластеров.
Сектор- 512 байт. На гибком диске обычно 80 дорожек. На каждой дорожке: для 5 ""диска 9 секторов; для 3,5"диска-18 секторов.
Кластер- группа смежных секторов. Кластер для гибкого диска- 1,2 сектора (0,512,1Кбайт). Кластер для жесткого диска- 4,8,16 секторов (2-8 Кбайт).
В файлах могут хранится разнообразные виды и формы представления информации: тексты, рисунки, чертежи, программы, таблицы и. Особенности конкретных файлов определяется их форматом. Под форматом понимается элемент языка, в символическом виде описывающий представления информации в файле. Текстовая информация хранится в файле в кодах ASCII, в так называемом текстовом формате. Содержимое текстовых файлов можно посмотреть на экране дисплея с помощью разных программных средств, в том числе и в MS DOS.
Любой другой файл с нетекстовой информацией просмотреть теми же средствами, что и текстовый файл, не удается. При просмотре на экран будут выводиться абсолютно непонятные символы.
Для характеристики файла используются следующие параметры:
- полное имя файла;
- объем файла в байтах;
- дата создания файла;
- время создания файла;
- специальные атрибуты файла: R(Read only)- только для чтения, H(Hidden)-скрытый файл, S(System)- системный файл, A(Archive)- архивированный файл.
С понятием файла в MS DOS тесно связанно понятие логического диска. Логический диск создается и управляется специальной программой (драйвером). Он имеет уникальное имя в виде одной латинской буквы, например C,D,E,F и т.д. Логический диск может реализоваться на жестком диске, на гибком диске, на CD-ROM, в оперативной памяти (электронный диск) и т.п. На одном физическом диске может быть создано несколько логических дисков.
СПОСОБЫ ОБРАЩЕНИЯ К ФАЙЛУ
Как обращаться к файлу
К файлу можно обращаться с помощью имени, полного имени, спецификации. Для того чтобы воспользоваться одним из этих вариантов, надо знать ряд правил и соглашений, позволяющих унифицировать в операционной системе процедуру обращения к файлу. Рассмотрим эти варианты.
Правило образования имени. Имя файла всегда уникально и служит для отличия одного файла от другого. Имя файла образуется не более чем из восьми символов, причем используются только латинские буквы.
По имени к файлу обращаются редко, обычно только в тех прикладных программах, когда это специально предусмотрено, а также при вводе имени файла, где хранится команда операционной системы.
В качестве имени файла можно использовать символьное имя устройства:
PRN или LPT 1(2,3) - принтер или любое устройство, подключенное к параллельному порту;
CON- консоль(клавиатура при вводе и дисплей при выводе);
COM 1(2,3,4)-внешнее устройство, подключенное к последовательному порту;
NUL-фиктивное устройство, вывод в файл NUL никуда не направляется, а просто уничтожается.
Правило образования полного имени. Обычно к файлу обращаются с помощью полного имени, за исключением оговоренных выше случаев. Полное имя файла более подробно характеризует файл и образуется из имени файла и типа (расширение), раздельных точкой.
Тип файла служит для характеристики хранящейся в файле информации и образуется не более чем из трех символов, причем используется, как и при образовании имени, только буквы латинского алфавита.
При работе на персональном компьютере установлен ряд соглашений по заданию типа файла. (Рис.2)
Тип |
Назначение |
ARJ BAK BAS BAT COB COD СOM DAT DOC EXE FOR HEX HLP LIB OBJ OVL OVR PAS PIC PRN SYS SYM TER TMP TXT $$$ |
Архивный файл Копия файла, создаваемая при перезаписи файла оригинала Программа на языке Бейсик Командный файл Программа на языке Кобол Версия файла типа. OBJна языке ассемблера Командный системный файл, исполняемый файл Файл данных Файл документов (текстовый) Исполняемый файл Программа на языке Фортран Символьное шестнадцатеричное представление двоичных данных в коде ASCII Файл для справочной информации Библиотека программ Скомпилированная объектная программа на машинном языке Оверлейный файл прикладной программы Оверлейный файл программы компилятора Программа на языке Паскаль Данные выводимого на экран изображения Листинг (распечатка программы) Файлы, расширяющие возможности операционной системы, например драйверы Таблица символов для компилятора Описание терминала (для асинхронной передачи) Временный файл Текстовый файл Временный файл |