Список вопросов на экзамен

Для получения оценки хорошо, необходимо написать одностраничный ответ на вопрос из второго столбца. Для получения оценки отлично, необходимо дополнительно написать одностраничный ответ на вопрос из третьего столбца с примерами фрагментов кода. Эти условия не касаются тех, кто не делал лабораторные работы или сдал меньше трёх лабораторных работ, такие студенты на экзамене борются за получение тройки.

Номер Теория Практика
1 Кодировка символов, поддержка многоязыковых программ Описать функцию для экспорта из DLL. Описать точку входа в DLL.
2 Объекты ядра, наследование Открыть файл, записать в него строку ABCDEF. Проверить на возможные ошибки все системные вызовы.

3 Порождение дочерних процессов Заставить процесс запустить свою копию. Убедитесь, что порождение процессов не будет бесконечным (остановитесь на 3 процессе).
4 Порождение нового потока Запустить 10 потоков, передав каждому потоку в качестве параметра его номер в коллективе потоков. Каждый поток должен вывести свой номер. Процесс должен ожидать завершения всех 10 потоков.
5 Атомарный доступ к переменным Создать ловушку для всех оконных сообщений в системе.
6 Критические секции кода Зарегистрировать критическую секцию в главном потоке программы, использовать ее для обрамления секции кода в другом потоке.
7 Передача сообщений другому потоку Создать второй поток, послать ему десять сообщений. Во втором потоке организовать обработку приходящих сообщений и вывод информации.
8 События и синхронизация Заставьте один поток ожидать события от другого потока.
9 Разделы виртуальной памяти Зарезервировать регион памяти размером 1 Мб, начиная с адреса 0x08560000, выделить из него 128 Кб памяти.
10 Проецирование файла в память Записать строку ABCDEF в файл, используя отображение в память.
11 Создание приватных куч Создайте приватную кучу без упорядочения обращений. Выделите из новой кучи 1 Мб памяти, затем освободите его.
12 Загрузка DLL Загрузите библиотеку OpenGL32.dll. Импортируйте из нее адрес функции glBegin.
13 Работа с TLS-памятью. Зарезервируйте TLS-слот. Запишите 32-разрядное значение в этот слот, попробуйте его прочитать.
14 Обработка исключительных ситуаций Создать оболочку последней линии обороны вокруг всех функций потоков (для исследования предсмертной информации о процессе)