Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Demkin_otvety_New (1).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.21 Mб
Скачать
  1. Перечислите форматы исполняемых файлов. Опишите и охарактеризуйте формат elf.

форматы исполняемых файлов:

.COM

.EXE

A.out

Executable and Linkable Format

MZ (формат)

Portable Executable

.EXE (сокр. англ. executable — исполнимый) — расширение исполнимого файла, применяемое в системах DOSMicrosoft WindowsSymbianOS/2, и в некоторых других. Кроме объектного кода, может содержать различные метаданные (значокцифровую подпись[1]).

Расширение файла .COM (англ. command) использовалось в некоторых компьютерных системах в различных целях.

В системах DOS и в 8-битной CP/M, файл COM — простой тип исполняемого файла, размер которого не может превышать 64 Кбайт-256 байт (65280 = 216 − 28 байт). COM-файлы для DOS можно выполнять также на эмуляторах, например в среде Windows.

ELF (англ. Executable and Linkable Format — формат исполняемых и компонуемых файлов) — формат файлов, используемый во многих UNIX-подобных операционных системах, например, в GNU/Linux и Solaris, а также после некоторой модификации ПО — в мобильных телефонах компании Siemens (серии SGold, NewSGold, NewSGold2 (ELKA)), Sony Ericsson (db2020, db2010, db2000), в телефонах Motorola на платформе P2K и во многих цифровых фотовидеокамерах (Olimpus, Rekam и проч.).Каждый файл формата ELF имеет специальный заголовок, в котором, в частности, указан адрес точки входа (стартовый адрес) программы.Поля этого заголовка использует загрузчик (ELF interpreter) для загрузки программы в оперативную память перед исполнением.

  1. Из каких этапов состоит создание исполняемой программы из исходного кода? Опишите их суть. Для каких сред исполнения может создаваться программа?

Первый этап — который модифицирует исходный код программы перед компиляцией в соответствии с командами препроцессора, содержащимися в программе. В соответствии с этими командами выполняются простые подстановки текста. Второй — собственно компилятор, который обрабатывает исходный код и преобразует его в код на языке ассемблера. Третий этап — ассемблер, который генерирует объектный код. И, наконец, четвертый этап — компоновщик, который собирает исполняемый файл из файлов объектного кода.

Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Трансляция в байтовый код увеличивает скорость выполнения и уменьшает размер Java программ.

Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.

Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. Данное утверждение было справедливо для первых версий виртуальной машины Java, однако в последнее время оно практически потеряло актуальность. Этому способствовал ряд усовершенствований:

  • применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,

  • широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,

  • аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]