https://github.com/n1ghtf1re/osasp-labs
Operating Systems and System Programming #2 labs
https://github.com/n1ghtf1re/osasp-labs
osasp-labs winapi
Last synced: 3 months ago
JSON representation
Operating Systems and System Programming #2 labs
- Host: GitHub
- URL: https://github.com/n1ghtf1re/osasp-labs
- Owner: N1ghtF1re
- Created: 2019-09-12T17:46:28.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-07T16:44:51.000Z (about 6 years ago)
- Last Synced: 2025-04-05T22:43:05.235Z (6 months ago)
- Topics: osasp-labs, winapi
- Language: C++
- Size: 406 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OSaSP-labs
Operating Systems and System Programming #2 labs## Lab1
```
- Разработать программу, позволяющую передвигать с помощью клавиатуры и мыши спрайт (окрашенный прямоугольник или эллипс) внутри рабочей области окна.
- Обеспечить работу колесика мыши. Прокручивание двигает спрайт по вертикали. С удерживаемой клавишей Shift прокручивание колесика двигает спрайт по горизонтали.
- Заменить спрайт на картинку с непрямоугольным контуром.
- Придать спрайту движение с отскоком от границ окна.
```## Lab2
```
- Разработать программу, которая вписывает в окно текстовую таблицу (N строк на M столбцов) таким образом, что все столбцы таблицы равномерно распределяются по ширине окна, а высота строк таблицы подбирается таким образом, чтобы вместить текст каждой ячейки.
- Размерность таблицы задается перед рисовкой (консольно, например).
- При изменении размеров окна таблица перерасчитывается и перерисовывается. Можно скейлить шрифт.
- Текст загружается из любого текстового файла(для демонстрации хотя бы два). Пробелы убираются.
```## Lab3
```
- Разработать DLL с функцией, выполняющей поиск по всей виртуальной памяти заданной строки и замену ее на другую строку.
- Разработать программу, которая выполняет статический импорт DLL и вызывает ее функцию.
- Разработать программу, которая выполняет динамический импорт DLL и вызывает ее функцию.
- Разработать программу, которая внедряет DLL в заданный процесс с помощью дистанционного потока и вызывает функцию DLL.
```## Lab4
```
- Разработать очередь заданий, в которую несколько потоков могут вставлять элементы атомарно.
- Разработать обработчик этой очереди, который извлекает из нее задания и раздает заданному количеству потоков.
- Разработать программу, которая использует очередь заданий и обработчик очереди для сортировки строк в текстовом файле:
- Входной поток читает файл в память, нарезает его на части и создает несколько заданий на сортировку (по числу сортирующих потоков), которые помещает в очередь заданий. Сортирующие потоки извлекают задания, сортируют свои части файла, отдают все результаты выходному потоку. Выходной поток дожидается всех сортированных частей и объединяет их методом сортирующего слияния.
```## Lab5
```
- Разработать драйвер (виртуального устройства), который отслеживает измнения в реестре Windows заданным процессом (или за какое-то время) и создает на диске журнал.
- Разработать драйвер (виртуального устройства), который отслеживает изменения на диске заданным процессом (или за какое-то время) и создает на диске журнал.
```