Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭУМК ОСиСПч3 май.doc
Скачиваний:
8
Добавлен:
03.05.2019
Размер:
1.2 Mб
Скачать

Практический раздел Контрольные работы

Рабочей программой дисциплины «Операционные системы и системное программирование. Часть 3» предусмотрено выполнение одной контрольной работы. Контрольная работа состоит из теоретической части. В теоретической части студент должен обстоятельно ответить на два теоретических вопроса.

Контрольная работа должна быть оформлена в соответствии с общеустановленными нормами и правилами, предъявляемыми к выполнению контрольных работ. Правила оформления контрольных работ представлены в документах:

  1. Методические указания по выполнению контрольных работ [Электронный ресурс]. – Электронные данные. – Режим доступа : «ДО Правила оформления контрольных работ.doc».

  2. Правила оформления пояснительных записок к курсовому проекту [Электронный ресурс] : БГУИР. – Электронные данные. – Режим доступа : «Стандарт предприятия. Правила оформления дипломных проектов (работ).doc».

Приблизительный объем контрольной работы – около 20 страниц печатного текста. При разработке теоретических вопросов необходимо пользоваться несколькими источниками. Списывание текста вопроса из учебников не допускается.

Контрольная работа №1 Указания по выбору варианта

Выбор вариантов теоретических вопросов назначается преподавателем.

Теоретическая часть (вопросы)

  1. Сравнительная характеристика технологий .NET и Java.

  2. Промежуточный язык IL и байт-код Java. Сравнительная характеристика.

  3. Основные принципы построения архитектуры .NET.

  4. Сравнительная характеристика языков C# и С++.

  5. Сборки (assembly) в среде .NET. Проблема версионности сборок и ее решение.

  6. Общая система типов данных в среде .NET. Размерные и ссылочные типы данных.

  7. Упаковка и распаковка размерных типов данных в среде .NET.

  8. Ссылочные типы данных. Объектная модель в среде .NET и языке C#.

  9. Модели ручной и автоматической утилизации динамической памяти, их сравнительная характеристика.

  10. Модель автоматической утилизации динамической памяти, основанная на сборке мусора. Проблема недетерминизма.

  11. Модель автоматической утилизации динамической памяти, основанная на аппаратной поддержке (тегированной памяти).

  12. Сборка мусора в среде .NET. Построение графа достижимых объектов.

  13. Сборка мусора в среде .NET. Механизм поколений объектов.

  14. Завершение объектов в среде .NET. Метод Finalize. Список завершаемых объектов (finalization queue) и очередь завершения (freachable queue).

  15. Модель детерминированного освобождения ресурсов в среде .NET. Интерфейс IDisposable и его совместное использование с завершителем (методом Finalize).

  16. «Мягкие ссылки» и кэширование данных в среде .NET.

  17. Динамические массивы в среде .NET и языке C#.

  18. Делегаты в среде .NET и механизм их работы.

  19. События в среде .NET; реализация событий посредством делегатов.

  20. Исключительные ситуации и реакция на них в среде .NET.

  21. Средства многопоточного программирования в среде .NET. Автономные потоки. Пул потоков.

  22. Асинхронные операции в среде .NET. Асинхронный вызов делегатов.

  23. Синхронизация программных потоков в среде .NET. Блокировки.

  24. Синхронизация программных потоков в среде .NET. Атомарные (Interlocked-) операции.

  25. Прерывание программных потоков в среде .NET. Особенности исключительной ситуации класса ThreadAbortException.

  26. Мониторы в среде .NET. Ожидание выполнения условий с помощью методов Wait и Pulse.

  27. Асинхронный вызов делегатов.

  28. Средства обобщенного (generic) программирования в языках C++ и C#.

  29. Итераторы в среде .NET. Создание и использование итераторов.

  30. Атрибуты в среде .NET и языке C#. Создание своих атрибутов.

  31. Получение всех классов и методов в сборке .NET.

  32. Сервисно-ориентированная архитектура (СОА) и ее принципы.

  33. Технология WCF. Создание сервиса и клиента.

  34. Типичные ошибки проектирования сервисов. Протокол взаимодействия с сервисом, обеспечивающий однократное выполнение длительных по времени запросов.

Индивидуальные практические работы

Рабочей программой дисциплины «Операционные системы и системное программирование. Часть 3» предусмотрено выполнение двух индивидуально практических работ. Индивидуально-практическая работа состоит из практической части. В этой части необходимо выполнить поставленное задание. Обычно это проектирование и реализация программного средства.

Индивидуальная практическая работа №1

Указания по выбору варианта

Задание данной индивидуально-практической работы № 1 назначается преподавателем.

Практическая часть

Темы индивидуально-практических работ представлены в таблице 1.

Таблица 1 Варианты заданий

№ варианта

Название темы

1.

Разработать программу, выполняющую сортировку очень большого текстового файла (считать, что данные из файла не умещаются в оперативной памяти). Программа должна быть сделана в двух вариантах: с консольным и графическим пользовательским интерфейсом. Процедура сортировки должна находиться в отдельной сборке. Сортировку выполнять по словам. Выполнить деассемблирование программы и изучить ее IL-код.

Для выполнения данной лабораторной работы необходимо разработать дополнительное программное средство, которое сможет сгенерировать текстовый файл заданного размера. Генератор должен создавать произвольные слова, размером от 7 до 20 символов. Для простоты под символом следует понимать любой символ из набора: «a - z», «A - Z», «1 - 0». Разделителем между словами является пробел. Разделителем между строками – «\n».

2.

Разработать программу на базе библиотеки WinForms, позволяющую просматривать и редактировать фотографии. Список команд: поворот на заданный угол; изменение цветности, яркости, контрастности; увеличение-сжатие, рисование кисточкой, сохранение на диск, чтение с диска.

При выполнении больших по вычислительным ресурсам, команд необходимо запустить выполнение данной команды в отдельном потоке или использовать класс BackgroundWorker.

3.

Выполнить задание № 2 с использованием библиотеки Windows Presentation Foundation.

4.

Разработать программу, которая выполняет опрос RSS-источников и показывает появляющиеся в них новости. Полученные новости необходимо внести на HTML страницу. Предусмотреть возможность сохранения и чтения списка RSS источников на (с) жесткий диск посредством сериализации объектов. Вид сериализации выбирается самостоятельно.

5.

Разработать программу, которая загружает данные из RSS-источников (в соответствии с заданным графиком), фильтрует их по заданным критериям и рассылает на заданные почтовые адреса. Загрузка данных, их фильтрация и рассылка должна выполняться параллельно.

График загрузки представляет собой задаваемый временной интервал, через значение которого программное средство должно произвести опрос RSS источника. График загрузки для каждого RSS источника может иметь свое значение.

Рассылка данных также происходит через свое значение графика загрузки.

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

6.

Создать программу, которая отображает загрузку системы. Окно программы должно сворачиваться в область уведомлений на панели задач. Замеры загрузки должны выполняться DLL-библиотекой, написанной на языке С++, а отображение пользовательского интерфейса — программой на языке C#.

При выполнении данного задания необходимо продемонстрировать работу с различными параметрами DLLImport, а также провести сравнение использования неуправляемого кода посредством DLLImport и «маршалинга».

7.

Разработать программу, которая имеет расширяемый графический пользовательский интерфейс. Расширение интерфейса выполняется копированием в каталог программы новой сборки, которая должна автоматически загружаться при старте главной программы, а ее окна — встраиваться в главное окно программы. Необходимо разработать атрибуты, которыми будут помечаться встраиваемые окна и их элементы. Эти атрибуты должны управлять режимами встраивания окна с его элементами.

8.

Модифицировать программу, полученную в работе № 5, чтобы она представляла собой множество взаимодействующих Web-сервисов: сервис загрузки, сервис фильтрации, сервис рассылки и сервис управления.

Методические указания

При работе использовать материал представленный в теоретической части данного ЭУМКД.

Индивидуальная практическая работа №2

Указания по выбору варианта

Задание данной индивидуально-практической работы выбирается из таблицы 1 и должна быть утверждена преподавателем.

Практическая часть

Методические указания

При работе использовать материал представленный в теоретической части данного ЭУМКД.

Курсовое проектирование

Рабочей программой дисциплины «Операционные системы и системное программирование. Часть 3» предусмотрено выполнение курсового проекта.

Цели и задачи курсового проектирования изложены в документе - Положение об организации и проведении курсового проектирования в БГУИР [Электронный ресурс]. – Электронные данные. – Режим доступа : «Правила оформления курсовых проектов (работ).doc».

Темы и задания

Указания по выбору темы курсового проекта

Тема курсового проекта выбирается из таблицы 2 и должна быть утверждена преподавателем.

Таблица 2 Варианты тем курсовых проектов

№ варианта

Название темы

1.

Программное средство сокрытия информации в файлах.

2.

Программное средство выработки и проверке ЭЦП файлов используя Microsoft CryptoAPI. Предусмотреть возможность встраивания в контекстное меню ОС Windows.

3.

telnet под ОС Windows. Реализация в виде windows сервиса

4.

telnet под ОС Unix. Реализация в виде «демона»

5.

Программное модуль шифрования/дешифрования данных передаваемых по сети. Данный модуль реализовать как плагин к QIP

6.

Программное средство обмена сообщениями на основе протокола XMPP(Jabber)

7.

Программное средство создания и использования виртуального сетевого адаптера. Требования к программному обеспечению, необходимые условия работы

8.

Программное средство фильтрации входящих/исходящих IP пакетов (firewall)

9.

Программное средство записи звуковой информации на жесткий диск. Звуковая информация поступает с микрофона

10.

Программное средство обработки данных под ОС Windows Mobile

11.

Программное средство обработки данных под ОС Android

12.

Программное средство работы с электронной почтой

13.

Программное средство удаленного управления рабочим столом

14.

Программное средство сравнения содержимого двух файлов (diff)

15.

Программное средство хранения версий файлов используя Google Docs API

16.

Программное средство для выкачивания файлов из Internet

17.

Программное модуль, встраиваемый в процедуру аутентификации ОС Windows Vista

18.

Программное модуль, встраиваемый в процедуру аутентификации ОС Windows 7

19.

Криптопровайдер под ОС Windows

20.

Программное средство отображения html страниц (браузер)

21.

Программное средство обмена данными используя технологию p2p

22.

Программное средство защиты программного обеспечения от взлома

23.

Программное средство встраивания в файлы (вирусы)

24.

Программное средство синхронизации текущего времени в ОС Windows с серверами точного времени

25.

Программное средство создания и редактирования XML документов. Предусмотреть возможность сохранения (вычитки) XML документа на (с) диска

26.

Screensaver под ОС Windows

27.

Программное средство встраивания «водяных знаков» в медиафайлы

28.

Программное средство считывания RSS-новостей

29.

Программное средство проигрывания видеофайлов