🗊Презентация EXE и COM файлы. Выполнение программ и распределение памяти

Нажмите для полного просмотра!
EXE и COM файлы. Выполнение программ и распределение памяти, слайд №1EXE и COM файлы. Выполнение программ и распределение памяти, слайд №2EXE и COM файлы. Выполнение программ и распределение памяти, слайд №3EXE и COM файлы. Выполнение программ и распределение памяти, слайд №4EXE и COM файлы. Выполнение программ и распределение памяти, слайд №5EXE и COM файлы. Выполнение программ и распределение памяти, слайд №6

Вы можете ознакомиться и скачать презентацию на тему EXE и COM файлы. Выполнение программ и распределение памяти. Доклад-сообщение содержит 6 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





EXE и COM файлы. Выполнение программ и распределение памяти
После трансляции и редактирования программы сохраняются на диске как выполнимые файлы. Одна из основных задач ОС – организовать их выполнение.
Все программы рассматриваются как внешние команды ОС. Командная строка для выполнения программы имеет формат:
[устройство] [путь] имя [параметры командной строки]
Устройство и путь указывают место расположения программного файла, если они пропущены, то поиск осуществляется по имени файла в текущем каталоге. Программные файлы бывают двух типов: с расширением EXE и COM. Они различаются как по структуре, так и по способу их загрузки и выполнения. Фалы с расширением ВАТ также рассматриваются как внешние команды ОС.
При загрузке программы в ОП резидентный загрузчик командного процессора (COMMAND.COM) использует системную функцию  4Bh (EXEC). Принято называть в этом случае программу процессом. Для загружаемых программ COMMAND.COM является родительским процессом. Он поддерживает область памяти, называемую окружением. Окружение состоит из ASCII цепочек следующего формата:
Имя переменной = переменная                 Например:     SET ABC = XYZ12
Каждая цепочка завершается байтом 00h, последняя цепочка окружения – двумя такими байтами.  Команда SET управляет окружением, позволяя добавлять или устранять переменные или изменять их.  При активизации COMMAND в окружение записывается переменная COMSPEC, значение которой – полная файловая спецификация командного процессора, например: COMSPEC = С:\ COMMAND.СОМ. Последние команды  РАТН  и  PROMPT также включены в окружение. При загрузке программы на выполнение она получает копию окружения родительского процесса. Адрес окружения записывается в одном из полей PSP  -префикса сегмента программы ( смещение 2Ch от начала PSP ). Окружение каждого процесса, активированного COMMAND.СОМ статично и в процессе выполнения не изменяется.
Описание слайда:
EXE и COM файлы. Выполнение программ и распределение памяти После трансляции и редактирования программы сохраняются на диске как выполнимые файлы. Одна из основных задач ОС – организовать их выполнение. Все программы рассматриваются как внешние команды ОС. Командная строка для выполнения программы имеет формат: [устройство] [путь] имя [параметры командной строки] Устройство и путь указывают место расположения программного файла, если они пропущены, то поиск осуществляется по имени файла в текущем каталоге. Программные файлы бывают двух типов: с расширением EXE и COM. Они различаются как по структуре, так и по способу их загрузки и выполнения. Фалы с расширением ВАТ также рассматриваются как внешние команды ОС. При загрузке программы в ОП резидентный загрузчик командного процессора (COMMAND.COM) использует системную функцию 4Bh (EXEC). Принято называть в этом случае программу процессом. Для загружаемых программ COMMAND.COM является родительским процессом. Он поддерживает область памяти, называемую окружением. Окружение состоит из ASCII цепочек следующего формата: Имя переменной = переменная Например: SET ABC = XYZ12 Каждая цепочка завершается байтом 00h, последняя цепочка окружения – двумя такими байтами. Команда SET управляет окружением, позволяя добавлять или устранять переменные или изменять их. При активизации COMMAND в окружение записывается переменная COMSPEC, значение которой – полная файловая спецификация командного процессора, например: COMSPEC = С:\ COMMAND.СОМ. Последние команды РАТН и PROMPT также включены в окружение. При загрузке программы на выполнение она получает копию окружения родительского процесса. Адрес окружения записывается в одном из полей PSP -префикса сегмента программы ( смещение 2Ch от начала PSP ). Окружение каждого процесса, активированного COMMAND.СОМ статично и в процессе выполнения не изменяется.

Слайд 2





EXE файлы
Создаются редактором связей LINK из obj – файлов и состоят из двух частей:
Префикс (заголовок);
Выполнимый модуль.
Префикс состоит из управляющей информации и таблицы перемещаемых символов. Во время выполнения программы адресные константы должны иметь абсолютные адреса. Преобразование относительных адресов в абсолютные выполняется системным загрузчиком, который использует информацию из таблицы перемещаемых символов в которой описано местоположение адресных констант в выполнимом модуле. Управляющая информация в префиксе состоит из полей длиной слово и содержит следующую информацию:
Описание слайда:
EXE файлы Создаются редактором связей LINK из obj – файлов и состоят из двух частей: Префикс (заголовок); Выполнимый модуль. Префикс состоит из управляющей информации и таблицы перемещаемых символов. Во время выполнения программы адресные константы должны иметь абсолютные адреса. Преобразование относительных адресов в абсолютные выполняется системным загрузчиком, который использует информацию из таблицы перемещаемых символов в которой описано местоположение адресных констант в выполнимом модуле. Управляющая информация в префиксе состоит из полей длиной слово и содержит следующую информацию:

Слайд 3





Загрузка программы (EXE – файла )
Управляющая информация из префикса (заголовка) считывается в рабочую область ОС.
Определяется размер выполнимого модуля в зависимости от полей 2, 3, 5, 6.
Находится первый свободный блок памяти, размер которого достаточен.
Строится PSP – префикс сегмента программы. Сегмент после PSP называется стартовым сегментом. Выполнимый модуль загружается с начала этого сегмента.
Обрабатывается таблица перемещаемых символов с целью настройки адресных констант в соответствии с адресом загрузки (стартовым сегментом).
Регистрам DS, ES, FS, GS присваивается сегментный адрес  PSP,  SS и SP присваиваются соответствующие значения из полей 8 и 9 префикса и к SS добавляется адрес стартового сегмента. CS присваивается сумма поля 12 префикса и адреса стартового сегмента. IP  загружается из поля 11 префикса EXE файла.
На этом этапе выполнимый модуль настроен в соответствии с адресом загрузки и управление передаётся по адресу  CS:IP.
Описание слайда:
Загрузка программы (EXE – файла ) Управляющая информация из префикса (заголовка) считывается в рабочую область ОС. Определяется размер выполнимого модуля в зависимости от полей 2, 3, 5, 6. Находится первый свободный блок памяти, размер которого достаточен. Строится PSP – префикс сегмента программы. Сегмент после PSP называется стартовым сегментом. Выполнимый модуль загружается с начала этого сегмента. Обрабатывается таблица перемещаемых символов с целью настройки адресных констант в соответствии с адресом загрузки (стартовым сегментом). Регистрам DS, ES, FS, GS присваивается сегментный адрес PSP, SS и SP присваиваются соответствующие значения из полей 8 и 9 префикса и к SS добавляется адрес стартового сегмента. CS присваивается сумма поля 12 префикса и адреса стартового сегмента. IP загружается из поля 11 префикса EXE файла. На этом этапе выполнимый модуль настроен в соответствии с адресом загрузки и управление передаётся по адресу CS:IP.

Слайд 4





Префикс сегмента программы PSP
PSP является важнейшим информационным блоком для каждого активного процесса. Когда программа загружается на выполнение,  ей выделяется вся необходимая  память от самого младшего свободного байта. Эта область называется сегментом программы. Первые 256 байт отводятся под PSP, куда ОС помещает разнородную информацию (системную и для программы). Сама программа загружается непосредственно после PSP. Основные поля PSP:
Описание слайда:
Префикс сегмента программы PSP PSP является важнейшим информационным блоком для каждого активного процесса. Когда программа загружается на выполнение, ей выделяется вся необходимая память от самого младшего свободного байта. Эта область называется сегментом программы. Первые 256 байт отводятся под PSP, куда ОС помещает разнородную информацию (системную и для программы). Сама программа загружается непосредственно после PSP. Основные поля PSP:

Слайд 5





СОМ - файлы
Не имеют префикса (заголовка). Они строятся так, чтобы не содержать адресных констант, зависимых от адреса загрузки программы в память. СОМ – файлы состоят из одного сегмента, в котором определены коды, данные и стек. Их размер не превышает 64Кб. СОМ файл представляет собой точную копию программы в двоичном виде, в каком её нужно загрузить в память. Поэтому загрузка сводится к определению свободного блока памяти, построению PSP и размещение всего файла в область после PSP. В MASM при построении СОМ файлов используется модель памяти TINY. При загрузке регистры получают следующие значения:
CS, DS, SS, ES, FS, GS – адрес PSP;
IP = 100h,   SP = FFFEh
Примечание. При загрузке СОМ и ЕХЕ файлов программе выделяется ещё один блок памяти в который помещается копия текущего окружения COMMAND.
Описание слайда:
СОМ - файлы Не имеют префикса (заголовка). Они строятся так, чтобы не содержать адресных констант, зависимых от адреса загрузки программы в память. СОМ – файлы состоят из одного сегмента, в котором определены коды, данные и стек. Их размер не превышает 64Кб. СОМ файл представляет собой точную копию программы в двоичном виде, в каком её нужно загрузить в память. Поэтому загрузка сводится к определению свободного блока памяти, построению PSP и размещение всего файла в область после PSP. В MASM при построении СОМ файлов используется модель памяти TINY. При загрузке регистры получают следующие значения: CS, DS, SS, ES, FS, GS – адрес PSP; IP = 100h, SP = FFFEh Примечание. При загрузке СОМ и ЕХЕ файлов программе выделяется ещё один блок памяти в который помещается копия текущего окружения COMMAND.

Слайд 6





Обобщенная структура com. файла
prog1       segment   para ‘code’
		assume  cs: prog1, ds: prog1,  ss: prog1,  es: prog1
		org   100h
	start:       jmp  M1
	       A      dw  ?
          B      db  ‘Пример  com.’
     old_N   dd   ?
		…
M1:   mov   al,  ES: [80h]
		…
		…
		int  20h           ;     mov  ax,   4c00h        int  21h
Stack1	dw   100 dup(?)
prog1     ends
		end  start
Описание слайда:
Обобщенная структура com. файла prog1 segment para ‘code’ assume cs: prog1, ds: prog1, ss: prog1, es: prog1 org 100h start: jmp M1 A dw ? B db ‘Пример com.’ old_N dd ? … M1: mov al, ES: [80h] … … int 20h ; mov ax, 4c00h int 21h Stack1 dw 100 dup(?) prog1 ends end start



Похожие презентации
Mypresentation.ru
Загрузить презентацию