|
|||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Необходимые терминыЗагрузчик (англ. loader) — программа, отвечающая за загрузку исполняемых файлов и запуск соответствующих новых процессов. Обычно является частью операционной системы, но может быть и самостоятельной программой, — к примеру, позволяющей операционной системе запускать программы, скомпилированные для других операционных систем. Процесс — абстрактное понятие, относящееся к программе. Часто процессом называют программу и все её элементы: адресное пространство, глобальные переменные, регистры, стек, счетчик команд, состояние, открытые файлы, дочерние процессы и т. д. Настраиваемые элементы – поля в заголовке.exe файла, которые должны содержать полные адреса точек в программе, значения которых окончательно могут быть сформированы только после загрузки программы в память, так как до ее загруз ки известны только смещения внутри сегментов, но не известны сегментные адреса, то есть адреса начала расположения сегментов в памяти. Диспетчер операционной системы — часть ОС, отвечающая за распределение ресурсов компьютера между процессами. Фатальная ошибка -Kernel panic (англ. букв.: паника ядра) — сообщение об ошибке ядра операционной системы, которое выдается после такой ошибки, которая приводит операционную систему в неопределённое состояние и не существует никакой возможности дальнейшей контролируемой работы ядра или операционной системы. Таблица открытых файлов – структура данных, создаваемая операционной системой в оперативной памяти компьютера. В этой таблице хранится необходимая операционной системе информация об открытых файлах.
Исполняемые файлы, как и любые другие файлы, имеют свою четко определенную внутреннюю структуру. При создании файлов типа.exe компоновщик формирует в начальных адресах файла заголовок, длиною 512 байтов, используемый в дальнейшем, программой загрузчиком (в нашей ситуации – это загрузчик, входящий в состав DOS). При загрузке исполняемого файла в оперативную память компьютера, загрузчик создает в памяти впереди программы, так называемый, Префикс Программного Сегмента (Program Segment Prefix, PSP) занимающий 256 байт. Эти две структуры (заголовок.exe фала и PSP) содержат системную информацию, используемую как для размещения программы в памяти и передачи ей управления, так и для корректного ее завершения. Под передачей управления программе понимают настройку соответствующих регистров центрального процессора на адреса исполняемой программы. Выполнение программы начинается, как только на регистровой паре CS:IP появляется адрес точки входа в программу. Под корректным завершением программы понимают выход из программы с восстановлением адресов некоторых важных системных прерываний, «перехват» которых могла выполнять наша программа. Перехватом прерывания называют загрузку вектора прерывания адресом собственной программы обработчика прерывания.
Таблица 2.1 – Структура заголовка.exe файла
Продолжение таблицы 2.1
Таблица 2.2 – Структура PSP (префикса программного Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |