Ассемблер с нуля. Часть 4. Кратко об MS-DOS.

Операционная система MS-DOS и Turbo Assembler.

Операционная система MS-DOS — необходимый минимум.

Программирование на языке низкого уровня подразумевает знание операционной системы, для которой пишутся приложения. Операционная система MS-DOS — Microsoft Disk Operating System. Её основные назначение, как и всех операционных систем — обеспечить взаимодействие между софтом и железом, человеком и компьютером. Операционная система — это основная программа, которая как минимум должна быть запущена на машине. Ниже упрощённо описан необходимый минимум, который необходимо знать о системе, чтобы начать программировать.

Файлы, папки, диски.

Операционная система MS-DOS работает с файлами, папками (по сути — подвиды файлов), дисками.
Файлы делятся на виды:
1. Исполняемые файлы.
2. Файлы данных.
(Кстати, опять мы встречаемся с двумя понятиями: кодом и данными).
Файлы могут взаимодействовать друг с другом. Программа может состоять из одного исполняемого файла, а может включать в себя множество файлов.

Память.

Как код, так и данные в компьютере присутствуют в следующих видах памяти:

  1. Долговременной памяти — работает медленно, но имеет большой объём, сохраняет информацию после перезагрузки операционной системы (жёсткий диск компьютера).
  2. Кратковременной (оперативной) памяти — работает быстро, имеет небольшой объём, не сохраняет информацию после перезагрузки операционной системы (т.н. «оперативка»).
  3. Кэш процессора — память, являющаяся составной частью процессора, работает очень быстро, имеет небольшой объём, не сохраняет информацию после перезагрузки операционной системы (физически обычно встроен в процессор).

Процессор компьютера напрямую способен работать только с оперативной памятью. Операционная система делит оперативную память на различные участки по предназначению. В одни участки она записывает свои функции и данные, другие оставляет для пользовательских программ.

При запуске исполняемого файла операционная система, кроме всего прочего, «проецирует» файл, то есть переписывает его с жёсткого диска в оперативную память. Но переписывает не копируя, а делая записи в определённой последовательности, в определённые места и в определённом объёме.

Пока это всё, что нужно знать об оперативной памяти начинающему программисту. Такие часто используемые понятия для работы с памятью в операционной системе MS-DOS, как cm, xms, ems, umb нам, для создания ассемблерного кода, не понадобятся. Для написания 32 и 64 битных Windows приложений они тем более не нужны.

Операционная система MS-DOS - структура памяти.
Структура памяти операционной системы MS-DOS.

Файлы данных и исполняемые файлы.

Файлы данных в операционной системе MS-DOS могут иметь различные (практически любые) расширения (TXT, INI, MAC, ASM, CPP). С файлами данных работают исполняемые файлы.

Информация в исполняемых файлах разбивается на сегменты. Один сегмент в системе MS-DOS не может превышать 64 Кбайта. Связано это с особенностями работы железа.
Исполняемые файлы в системе MS-DOS бывают трёх видов, которые соответствуют расширениям:

  1. СОМ
  2. EXE
  3. BAT

Рассмотрим их поподробнее:

  1. Файлы с расширением .COM состоят из одного сегмента, в котором размещаются код, данные и стек. В результате получаем крохотную, «сжатую» программу, размер которой не может превышать 64 Кбайта. В формате COM для системы MS-DOS можно писать любые программы — хватило бы места для данных и кода. Отдельные программы (обработчики прерываний, резидентные программы) обычно пишутся в формате COM.
  2. Файлы с расширением EXE для кода, данных и стека имеют отдельные сегменты. Число сегментов данных и кода не ограничено, что даёт возможность создания исполняемых файлов большого размера, не ограничивая объёмы кода и данных.
  3. Файлы с расширением BAT — «батники». Они также выполняют определённые действия, однако не являются полноценными исполняемыми программами. В батнике можно записать алгоритм запуска определённых файлов типа СОМ или EXE в определённой последовательности и при определённых условиях. Это очень удобно и экономит уйму времени, исключая монотонные и многочисленные действия пользователя.

Ядро системы MS-DOS.

Операционная система MS-DOS в своём минимальном стандартном виде состоит из следующих файлов:

  1. IO.SYS
  2. MSDOS.SYS
  3. COMMAND.COM
  4. AUTOEXEC.BAT
  5. CONFIG.SYS

Причём файлы AUTOEXEC.BAT и CONFIG.SYS для запуска операционной системы не обязательны. Эти файлы являются предшественниками реестра Windows и содержат текстовые записи, позволяющие настроить загрузку системы при запуске (организовать меню загрузки, распределить память, запустить отдельные драйверы и программы).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *