Заказать контрольную ПОИТ
Операционные системы и системное программирование
Задания контрольных работ для 3 курса заочного отделения специальности ПОИТ
Задание контрольной работы состоит из двух частей: теоретической и практической.
Практическое задание необходимо выполнить на языке программирования С++. При выполнении задания необходимо пользоваться функциями Windows API и не использовать библиотеки и расширения языка, не являющиеся частью стандартной библиотеки С++.
Литература:
- Ч. Петзолд. Программирование для Windows 95 в двух томах.
- Дж. Рихтер. Windows для профессионалов. Создание эффективных Win32-приложений.
- А.П. Побегайло. Системное программирование в Windows.
- М. Руссинович, Д. Соломон. Внутреннее устройство Microsoft Windows.
Вариант 1
Теоретические вопросы.
Вопрос 1: Изобразите диаграмму состояний процесса, поясните все возможные переходы из одного состояния в другое.
Вопрос 2: Опишите распределение оперативной памяти в Windows NT.
Практическое задание.
Привести исходный код программы, отображающей на экране информацию об оперативной памяти компьютера (всего, свободно, занято, кэшировано) в реальном времени.
Вариант 2
Теоретические вопросы.
Вопрос 1: Объясните значения следующих терминов: task (задача), process (процесс), thread (поток, нить), задание (job). Как они между собой соотносятся?
Вопрос 2: Какие задачи возлагаются на интерфейс прикладного программирования (API)?
Практическое задание.
Привести исходный код программы, запускающей команду ping google.com и выводящей результат работы этой команды в Message Box. Использовать анонимные каналы.
Вариант 3
Теоретические вопросы.
Вопрос 1: Для чего каждая задача получает соответствующий дескриптор? Какие поля, как правило, содержатся в дескрипторе процесса (задачи)?
Вопрос 2: Для чего нужны файлы, проецируемые в память? Опишите механизм загрузки таких файлов в память ОС Windows.
Практическое задание.
Привести исходный код программы, которая позволяет двум потокам изменять значение общей переменной, используя критическую секцию.
Вариант 4
Теоретические вопросы.
Вопрос 1: Как вы считаете: сколько и каких списков дескрипторов задач может быть в системе? От чего должно зависеть это число?
Вопрос 2: Расскажите о концепции построения ОС с монолитным ядром.
Практическое задание.
Привести исходный код программы, производящей вывод 3-х сообщений на экран раз в пять минут. Каждое сообщение должно выводится отдельным потоком. Использовать для выполнения работы ожидаемые таймеры.
Вариант 5
Теоретические вопросы.
Вопрос 1: Как строится адресация ячеек памяти в реальном режиме?
Вопрос 2: Расскажите о механизме кэширования памяти.
Практическое задание.
Привести исходный код программы, рисующей по нажатию мыши прямоугольник случайного размера и цвета заливки с центром в точке нажатия курсора мыши.
Вариант 6
Теоретические вопросы.
Вопрос 1: Что такое библиотека времени выполнения? Опишите механизм загрузки библиотек времени выполнения в память в ОС Windows.
Вопрос 2: Опишите механизмы выполнения нескольких задач в многозадачной ОС.
Практическое задание.
Привести исходный код программы, загружающей битовый образ и масштабирующей его до определенных размеров (размеры должны задаваться пользователем).
Вариант 7
Теоретические вопросы.
Вопрос 1: Опишите схему отправки и обработки сообщения в программах для ОС Windows с графическим интерфейсом.
Вопрос 2: Понятие прерывания в ОС Windows. Какие уровни прерываний Вы знаете?
Практическое задание.
Привести исходный код программы, отображающей на экране информацию о загрузке ЦП компьютера в реальном времени.
Вариант 8
Теоретические вопросы.
Вопрос 1: Объекты синхронизации в ОС Windows. Понятие, основные отличия, примеры решаемых задач.
Вопрос 2: Опишите основные задачи, которые позволяют решать отладчики режима ядра.
Практическое задание.
Привести исходный код программы, запускающей команду ping google.com и выводящей результат работы этой команды в Message Box. Использовать анонимные каналы.
Вариант 9
Теоретические вопросы.
Вопрос 1: В чем отличие между синхронными и асинхронными сообщениями в ОС Windows. Опишите принципы работы очереди сообщений.
Вопрос 2: Опишите механизм перехода из пользовательского режима в режим ядра в ОС Windows.
Практическое задание.
Привести исходный код программы, которая позволяет двум потокам изменять значение общей переменной, используя мьютексы.
Вариант 10
Теоретические вопросы.
Вопрос 1: Какие базовые концепции построения ядра операционных систем Вы знаете?
Вопрос 2: Что такое отложенные процедуры и асинхронные процедуры в ОС Windows? В чем их отличие?
Практическое задание.
Привести исходный код программы, производящей вывод одного из 3-х сообщений на экран раз в пять минут. Каждое сообщение должно выводится отдельным потоком. Использовать для выполнения работы ожидаемые таймеры с автосбросом.
Вариант 11
Теоретические вопросы.
Вопрос 1: Перечислите основные подсистемы ОС Windows. Каковы основные принципы построения этой ОС?
Вопрос 2: Что такое отложенные и асинхронные процедуры в ОС Windows? В чем их отличие?
Практическое задание.
Привести исходный код программы, рисующей по нажатию мыши треугольник случайного размера и цвета заливки с центром в точке нажатия курсора мыши.
Вариант 11
Теоретические вопросы.
Вопрос 1: Расскажите о способах применения технологии COM.
Вопрос 2: Стек драйверов в ОС Windows.
Практическое задание.
Привести исходный код программы, загружающей битовый образ и масштабирующей его до определенных размеров (размеры должны задаваться пользователем).
Вариант 12
Теоретические вопросы.
Вопрос 1: Что такое контекст устройства в ОС Windows? Как он связан с графическим пользовательским интерфейсом?
Вопрос 2: Таблицы дескрипторов функций в ОС Windows.
Практическое задание.
Привести исходный код программы, отображающей на экране информацию об оперативной памяти компьютера (всего, свободно, занято, кэшировано) в реальном времени.
Вариант 13
Теоретические вопросы.
Вопрос 1: Как происходит обработка сообщений от клавиатуры в прикладных программах для ОС Windows?
Вопрос 2: Какие методы перехвата функций в ОС Windows Вы знаете? Перечислите их.
Практическое задание.
Привести исходный код программы, запускающей команду ping google.com и выводящей результат работы этой команды в Message Box. Использовать анонимные каналы.
Вариант 14
Теоретические вопросы.
Вопрос 1: В чем преимущества и недостатки статического и динамического импорта библиотек dll?
Вопрос 2: Пулы памяти в ОС Windows.
Практическое задание.
Привести исходный код программы, которая позволяет двум потокам записать данные в один файл, используя критическую секцию.
Вариант 15
Теоретические вопросы.
Вопрос 1: Опишите механизм перерисовки окна в ОС Windows.
Вопрос 2: Расскажите о представлении объекта в памяти ядра в ОС Windows.
Практическое задание.
Привести исходный код программы, производящей вывод 3-х сообщений на экран раз в пять минут. Каждое сообщение должно выводится отдельным потоком. Использовать для выполнения работы ожидаемые таймеры.
Вариант 16
Теоретические вопросы.
Вопрос 1: Что такое контекст потока в ОС Windows? Для чего он используется?
Вопрос 2: Расскажите об организации сетевых драйверов в ОС Windows.
Практическое задание.
Привести исходный код программы, рисующей по нажатию мыши эллипс случайного размера и цвета границы с центром в точке нажатия курсора мыши.
Вариант 17
Теоретические вопросы.
Вопрос 1: Перечислите основные принципы построения графической подсистемы ОС Windows.
Вопрос 2: Как можно использовать дамп памяти Windows для выяснения причины отказа ОС?
Практическое задание.
Привести исходный код программы, загружающей битовый образ и масштабирующей его до определенных размеров (размеры должны задаваться пользователем).
Также можно заказать курсовую работу по информатике в Воронеже
|