Заказать контрольную ПОИТ
 
 
Операционные системы и системное программирование
 
 
Задания контрольных работ для 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 для выяснения причины отказа ОС? 
  
Практическое задание. 
  
Привести исходный код программы, загружающей  битовый образ и масштабирующей его до определенных размеров (размеры должны задаваться пользователем). 
  
Также можно заказать курсовую работу по информатике в Воронеже
  
 |