Skip to content

Operating Systems and System Programming #2 labs

Notifications You must be signed in to change notification settings

N1ghtF1re/OSaSP-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OSaSP-labs

Operating Systems and System Programming #2 labs

Lab1

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

Lab2

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

Lab3

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

Lab4

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

Lab5

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

About

Operating Systems and System Programming #2 labs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published