Student.gomel.by
На главную ... Контакты ... Университеты ... Частые вопросы ...
Заказать курсовую ...
Репетитор по информатике ...
Условия ...
Так сколько же стоит?


Заказать контрольную ПОИТ



Операционные системы и системное программирование

Задания контрольных работ для 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 для выяснения причины отказа ОС?


Практическое задание.


Привести исходный код программы, загружающей битовый образ и масштабирующей его до определенных размеров (размеры должны задаваться пользователем).


Также можно заказать курсовую работу по информатике в Воронеже