
Описание контрольной работы по курсу оСиУбд (заочники)
Контрольная работа выполняется в соответствии с индивидуальным заданием, состоящим из двух основных частей:
1 часть (теоретическая) – необходимо дать письменный ответ с пояснениями на теоретический вопрос в соответствии с индивидуальным заданием (если необходимо, то с уточняющими рисункам, графиками и т.п.)
2 часть (практическая) – необходимо разработать приложение, выполняющее действия, описанные в практическом задании в соответствии с индивидуальным вариантом (в контрольной привести скриншоты графического интерфейса, если он есть, и листинг программы)
№п/п |
ФИО |
Вариант (теория) |
Вариан (практика) |
1 |
Акулич Александр Сергеевич |
1 |
1 |
2 |
Батизатов Виктор Николаевич |
2 |
2 |
3 |
Верещако Андрей Геннадьевич |
3 |
3 |
4 |
Гармиза Сергей Александрович |
4 |
4 |
5 |
Гродецкий Егор Вячеславович |
5 |
5 |
6 |
Гросс Ульяна Игоревна |
6 |
6 |
7 |
Жабко Кирилл Игоревич |
7 |
1 |
8 |
Исакова Ольга Васильевна |
8 |
2 |
9 |
Мисько Роман Васильевич |
9 |
3 |
10 |
Напреенко Евгений Алексеевич |
10 |
4 |
11 |
Никулин Денис Михайлович |
11 |
5 |
12 |
Романовский Артем Дмитриевич |
12 |
6 |
13 |
Семенков Андрей Владимирович |
13 |
1 |
14 |
Семин Виталий Владимирович |
14 |
2 |
15 |
Сидорович Павел Иванович |
15 |
3 |
16 |
Соловьева Дина Юрьевна |
16 |
4 |
17 |
Суденкова Анастасия Васильевна |
17 |
5 |
18 |
Тимошенко Максим Васильевич |
18 |
6 |
19 |
Харук Екатерина Михайловна |
19 |
1 |
20 |
Цехановский Александр Казимирович |
20 |
2 |
21 |
Швед Игорь Вячеславович |
1 |
3 |
22 |
Юрча Сергей Михайлович |
2 |
4 |
23 |
Юшко Олег Викторович |
3 |
5 |
Теоретические вопросы для контрольной по курсу оСиУбд (заочники)
Критерии эффективности мультипрограммных вычислительных систем. Мультипрограммирование в системах разделения времени.
Мультипрограммирование. Планирование и диспетчеризация потоков в Windows и Linux.
Мультипрограммирование. Вытесняющие и невытесняющие алгоритмы планирования.
Алгоритмы планирования, основанные на квантовании.
Алгоритмы планирования, основанные на приоритетах.
Фунции API Win32 для работы с потоками.
Понятия: поток, процесс. Способы синхронизации потоков.
Функции API Win32 для управления памятью.
Создание и подключение динамических библиотек.
Сетевые операционные системы. Понятие. Структура.
Сетевые операционные системы. Особенности реализации компьютерных сетей общего назначения.
Сетевые операционные системы. Модель OSI.
Модель TCP/IP
Сетевые операционные системы. Логическая и физическая адресация сетевых устройств.
Функции API Win32 для управления потоками.
Функции API Win32 для управления процессами.
Поддержка мультипроцессирования. Привязка потоков и процессов к процессорам.
Функции API Win32 для работы с сокетами.
Подсистема ввода-вывода Windows (структура, основные компоненты).
Функции API Win32 для работы с именованными каналами.
Практическое задание для контрольной по курсу ОСиУБД (заочники)
Использование системных функций Windows для работы с
файловой системой
Цель
Получить практические навыки по использованию API-функций Windows для разработки многопоточных приложений.
Порядок выполнения
В среде MS Visual Studio С++ или Builder C++ разработать приложение (желательно с графическим пользовательским интерфейсом, но не обязательно) в соответствии с нижеприведѐнным заданием.
Вариант 1
Средствами Windows создать и запустить 3 потока (функция CreateThread), первый из которых периодически считывает текстовую информацию из заранее подготовленного текстового буфера (массив с элементами типа char, реализованный в виде проекции файла) и отображает еѐ на форме (с помощью системных функций передачи сообщений).
Второй поток постоянно (в фоновом режиме) сканирует содержимое буфера и производит замену всех букв “а” на буквы “б”.
Третий поток постоянно (в фоновом режиме) сканирует содержимое буфера и производит замену всех букв “б” на буквы “а”. Для синхронизации потоков при доступе к буферу памяти использовать критические секции.
Предусмотреть возможность изменение приоритета каждого потока (функции GetThreadPriority и SetThreadPriority), приостановки потока (функция SuspendThread) и принудительного завершения потока (функция TerminateThread).
--------------------------------------------------------------------------------------------------------------------------------------