ZlataZueva / OSaSP

Laboratory works on the Operation Systems and System Programming (BSUIR, POIT:), 5th sem)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OSaSP

Laboratory works on the Operation Systems and System Programming (BSUIR, POIT:), 5th sem)

  1. Изучение событийной архитектору Windows-приложений, механизма обработки сообщений, механизма перерисовки окна.
  • Разработать программу, позволяющую передвигать с помощью клавиатуры и мыши спрайт (окрашенный прямоугольник или эллипс) внутри рабочей области окна.
  • Обеспечить работу колесика мыши. Прокручивание двигает спрайт по вертикали. С удерживаемой клавишей Shift прокручивание колесика двигает спрайт по горизонтали.
  • Заменить спрайт на картинку с непрямоугольным контуром.
  • Придать спрайту движение с отскоком от границ окна.
  1. Изучение вывода текста и шрифтов.
  • Разработать программу, которая вписывает в окно текстовую таблицу (N строк на M столбцов) таким образом, что все столбцы таблицы равномерно распределяются по ширине окна, а высота строк таблицы подбирается таким образом, чтобы вместить текст каждой ячейки.
  • При изменении размеров окна таблица перерасчитывается и перерисовывается.
  1. Изучение создания и использования динамически-загружаемых библиотек (DLL), метода внедрения DLL в другой процесс с помощью дистанционного потока.
  • Разработать DLL с функцией, выполняющей поиск по всей виртуальной памяти заданной строки и замену ее на другую строку.
  • Разработать программу, которая выполняет статический импорт DLL и вызывает ее функцию.
  • Разработать программу, которая выполняет динамический импорт DLL и вызывает ее функцию.
  • Разработать программу, которая внедряет DLL в заданный процесс с помощью дистанционного потока и вызывает функцию DLL.
  1. Изучение создания и использования потоков и механизмов синхронизации.
  • Разработать очередь заданий, в которую несколько потоков могут вставлять элементы атомарно.
  • Разработать обработчик этой очереди, который извлекает из нее задания и раздает заданному количеству потоков.
  • Разработать программу, которая использует очередь заданий и обработчик очереди для сортировки строк в текстовом файле: Входной поток читает файл в память, нарезает его на части и создает несколько заданий на сортировку (по числу сортирующих потоков), которые помещает в очередь заданий. Сортирующие потоки извлекают задания, сортируют свои части файла, отдают все результаты выходному потоку. Выходной поток дожидается всех сортированных частей и объединяет их методом сортирующего слияния.
  1. Изучение создания драйверов Windows режима ядра, методов перехвата API-вызовов в режиме ядра.
  • Разработать драйвер (виртуального устройства), который отслеживает изменения на диске заданным процессом и создает на диске журнал.

  • Разработать драйвер (виртуального устройства), который отслеживает измнения в реестре Windows заданным процессом (или за какое-то время) и создает на диске журнал.

About

Laboratory works on the Operation Systems and System Programming (BSUIR, POIT:), 5th sem)


Languages

Language:C++ 95.1%Language:C 4.9%