игра брюс 2048
Главная / Программирование / Common Intermediate Language и системное программирование в Microsoft .NET / Тест 3

Common Intermediate Language и системное программирование в Microsoft .NET - тест 3

Упражнение 1:
Номер 1
Файл, который может быть загружен в память загрузчиком операционной системы и затем исполнен - это:

Ответ:

 (1) системый файл 

 (2) модульный файл 

 (3) интерпретируемый файл 

 (4) исполняемый файл 


Номер 2
В операционной системе Windows исполняемые файлы, как правило, имеют расширения:

Ответ:

 (1) ".exe" 

 (2) ".dll" 

 (3) ".bat" 

 (4) ".com" 


Номер 3
Основным форматом для хранения исполняемых файлов в операционной системе Windows является:

Ответ:

 (1) Portable Executable (PE) 

 (2) Linear Executable (LE) 

 (3) New Executable (NE) 

 (4) COM Executable (CE) 


Упражнение 3:
Номер 1
Смысл раздельной компиляции заключается в том, что части программы (модули) компилируются независимо в объектные файлы, которые затем связываются:

Ответ:

 (1) интерпретатором в один исполняемый файл 

 (2) компоновщиком в один исполняемый файл 

 (3) транслятором в один исполняемый файл 

 (4) компилятором в один исполняемый файл 


Номер 2
В ".NET Framework Glossary" утверждается, что:

Ответ:

 (1) PE - это формат исполняемых файлов 

 (2) COFF - это формат объектных файлов 

 (3) COFF - это формат исполняемых файлов 

 (4) PE - это формат объектных файлов 


Номер 3
Управление памятью в Windows NT/2k/XP/2k3 осуществляет:

Ответ:

 (1) system manager 

 (2) virtual-memory manager 

 (3) event viewer 

 (4) task scheduler 


Упражнение 4:
Номер 1
Менеджер виртуальной памяти использует страничную схему управления памятью, при которой вся физическая память делится на одинаковые отрезки размером в:

Ответ:

 (1) 512 байт 

 (2) 1024 байт 

 (3) 2512 байт 

 (4) 4096 байт 


Номер 2
Каждый процесс в Windows запускается в своем виртуальном адресном пространстве размером в:

Ответ:

 (1) 4 Гб 

 (2) 2 Гб 

 (3) 1 Гб 

 (4) 8 Гб 


Номер 3
Для memory-mapped files верно:

Ответ:

 (1) это отображаемые в память файлы 

 (2) это мощная возможность операционной системы 

 (3) не каждое обращение к отображенному в память файлу вызывает операцию чтения/записи 

 (4) это отображаемые в кэш-память файлы 


Упражнение 5:
Номер 1
Разность виртуального адреса данного элемента и базового адреса, по которому PE-файл загружен в память - это:

Ответ:

 (1) PE некоторого элемента RVA-файла 

 (2) RVA некоторого элемента PE-файла 

 (3) образ PE-файла 

 (4) секция PE-файла 


Номер 2
Секция в PE-файле представляет:

Ответ:

 (1) код 

 (2) глобальные переменные 

 (3) таблицы импорта 

 (4) ресурсы 


Номер 3
Как правило, все exe-файлы содержат в поле ImageBase значение:

Ответ:

 (1) 0x400000 

 (2) 0x400001 

 (3) 0x000000 

 (4) 0x400004 

 (5) 0x400044 

 (6) 0x440002 


Упражнение 6:
Номер 1
Какая секция описывает функции, которые PE-файл импортирует из динамических библиотек?

Ответ:

 (1) ".text" 

 (2) ".rsrc" 

 (3) ".idata" 

 (4) ".edata" 


Номер 2
Информация об экспортируемых функциях хранится внутри PE-файла в специальной секции:

Ответ:

 (1) ".edata" 

 (2) ".reloc" 

 (3) ".rdata" 

 (4) ".text" 


Номер 3
Сразу после заголовка MS-DOS следует сигнатура PE-файла, состоящая из четырех байт:

Ответ:

 (1) 0x50, 0x45, 0x00, 0x00 

 (2) 0x20, 0x15, 0x00, 0x00 

 (3) 0x00, 0x45, 0x00, 0x10 

 (4) 0x10, 0x00, 0x10, 0x00 


Упражнение 7:
Номер 1
Заголовок PE-файла состоит из следующих полей:

Ответ:

 (1) unsigned short Machine; 

 (2) unsigned short NumberOfSections; 

 (3) long TimeDateStamp; 

 (4) long NumberOfSymbols; 


Номер 2
Поля дополнительного заголовка можно разделить на следующие группы:

Ответ:

 (1) стандартные поля 

 (2) поля, специфичные для Windows NT. 

 (3) системные поля 

 (4) директории данных 


Номер 3
В дополнительном заголовке PE-файла поле longCodeSize; - это:

Ответ:

 (1) cуммарный размер всех кодовых секций 

 (2) старшее число версии компоновщика 

 (3) младшее число версии компоновщика 

 (4) RVA точки входа в программу 


Упражнение 8:
Номер 1
Cекция содержит исполняемый код в следующем случае:

Ответ:

 (1) 0x00000020 

 (2) 0x02000000 

 (3) 0x20000000 

 (4) 0x80000000 


Номер 2
Структура Hint/Name состоит из следующих полей:

Ответ:

 (1) short Hint; 

 (2) char Name[x]; 

 (3) short Pad; 

 (4) char Pad; 


Номер 3
Внесение исправления в 32-разрядное значение, которое находится по адресу FixupAddress, выполняется так:

Ответ:

 (1) *FixupAddress = ActualAddress + ImageBase; 

 (2) *FixupAddress += ActualAddress + ImageBase; 

 (3) *FixupAddress += ActualAddress - ImageBase; 

 (4) *FixupAddress = ActualAddress - ImageBase; 

 (5) *FixupAddress += ActualAddress | ImageBase; 


Упражнение 9:
Номер 1
В заголовоке CLI поле "long Cb;":

Ответ:

 (1) содержит размер заголовка в байтах 

 (2) содержит информацию о версии CLR 

 (3) описывает свойства сборки 

 (4) не используется и всегда заполнено нулями 


Номер 2
Какие поля в заголовоке CLI содержат информацию о версии CLR, для которой предназначена данная сборка:

Ответ:

 (1) short MinorRuntimeVersion; 

 (2) short MajorRuntimeVersion; 

 (3) long Flags; 

 (4) long EntryPointToken; 


Номер 3
Описывает свойства сборки следующее поле заголовока CLI:

Ответ:

 (1) long Flags; 

 (2) long CodeManagerTable[2]; 

 (3) struct { long RVA, Size; } VTableFixups; 

 (4) long Cb; 


Упражнение 10:
Номер 1
Токен метаданных, указывающий на точку входа в сборку для заголовока CLI - это:

Ответ:

 (1) short MinorRuntimeVersion; 

 (2) long CodeManagerTable[2]; 

 (3) long Flags; 

 (4) long EntryPointToken; 


Номер 2
В каком поле заголовка CLI указываются RVA и размер в байтах ресурсов сборки:

Ответ:

 (1) struct { long RVA, Size; } Resources; 

 (2) struct { long RVA, Size; } StrongNameSignature; 

 (3) struct { long RVA, Size; } VTableFixups; 

 (4) long ManagedNativeHeader[2]; 


Номер 3
Какое поле заголовка CLI не используется и всегда заполнено нулями:

Ответ:

 (1) long CodeManagerTable[2]; 

 (2) long ExportAddressTableJumps[2]; 

 (3) long ManagedNativeHeader[2]; 

 (4) struct { long RVA, Size; } VTableFixups; 

 (5) struct { long RVA, Size; } StrongNameSignature; 

 (6) struct { long RVA, Size; } Resources; 


Упражнение 11:
Номер 1
Программа pegen написана на языке:

Ответ:

 (1)

 (2) C++ 

 (3) C# 

 (4) Java 


Номер 2
В данном примере:
                  void make_file (FILE* file, PINPUT_PARAMETERS inP)
{
  make_headers	 		(file, inP);
  make_text_section	(file, inP);
  make_cli_section 	(file, inP);
  make_reloc_section	(file, inP);
};
                  функция make_file вызывает:

Ответ:

 (1) 1 функцию 

 (2) 2 функции 

 (3) 3 функции 

 (4) 4 функции 


Номер 3
Блок входных параметров описывается структурой:

Ответ:

 (1) INPUT_PARAMETERS 

 (2) IMAGE_SUBSYSTEM_WINDOWS_GUI 

 (3) IMAGE_SUBSYSTEM_WINDOWS_CUI 

 (4) DLL_TYPE 


Упражнение 12:
Номер 1
Можно выделить следующие этапы выполнения программы:

Ответ:

 (1) заполнение заголовка PE-файла 

 (2) генерация секции ".text" 

 (3) генерация секции ".cli" 

 (4) генерация секции ".reloc" 


Номер 2
В следующей форме в программе находится CIL-код методов:

Ответ:

 (1) unsigned char cilcode[] = { 0x56, 0x72, 0x01, 0x00, 0x00, 0x70, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x28, 0x01, 0x00, 0x00, 0x0A, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x2A }; 

 (2) unsigned cilcode[] = { 0x56, 0x72, 0x01, 0x00, 0x00, 0x70, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x28, 0x01, 0x00, 0x00, 0x0A, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x2A }; 

 (3) unsigned char { 0x56, 0x72, 0x01, 0x00, 0x00, 0x70, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x28, 0x01, 0x00, 0x00, 0x0A, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x2A }; 

 (4) char cilcode[] = { 0x56, 0x72, 0x01, 0x00, 0x00, 0x70, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x28, 0x01, 0x00, 0x00, 0x0A, 0x28, 0x02, 0x00, 0x00, 0x0A, 0x2A }; 


Номер 3
Сообщением об успешной генерации сборки hello.exe будет:

Ответ:

 (1) File: hello.exe generated 

 (2) hello.exe generated 

 (3) File: hello.exe 

 (4) File: generated 

 (5) File - hello.exe generated 

 (6) File - generated 




Главная / Программирование / Common Intermediate Language и системное программирование в Microsoft .NET / Тест 3