МЕТОДИЧЕСКИЕ УКАЗАНИЯ И ЗАДАНИЯ НА КУРСОВУЮ РАБОТУ ПО ДИСЦИПЛИНЕ «ОПЕРАЦИОННЫЕ СИСТЕМЫ»
ИССЛЕДОВАНИЕ МЕХАНИЗМОВ МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ
ЦЕЛИ И ЗАДАЧИ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
Целью выполнения данной курсовой работы является закрепление и углубление теоретических знаний в области современных операционных систем, приобретение практических навыков разработки клиент-серверных приложений, использующих системные механизмы межпроцессного взаимодействия.
Задачи курсовой работы:
Изучить методы разработки клиент-серверных приложений.
Изучить механизмы обмена данными в Windows NT и особенности их применения на практике.
Изучить средства синхронизации процессов в Windows NT и особенности их применения на практике.
Изучить функции Win3API для получения системной информации, информации о процессах и потоках, состоянии памяти.
Разработать серверные приложения и приложение-клиент, обменивающиеся данными через заданный интерфейс.
Оформить результаты выполнения курсовой работы в виде пояснительной записки в соответствии с предъявляемыми требованиями.
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
Разработать многозадачное приложение, выполняющее получение, сбор и вывод системной информации в соответствии с вариантом задания (таблица 1). Номер варианта задания на курсовую работу совпадает с номером, под которым записана фамилия студента в журнале группы.
Таблица 1. Индивидуальные варианты заданий
Вариант
|
Сервер 1
|
Сервер 2
|
|
получает/выполняет и возвращает в качестве результата
|
1, 19
|
имя компьютера и имя пользователя
|
приоритет серверного процесса
|
перемещает окно серверного процесса согласно переданным координатам и возвращает результат выполнения (успех/ошибка)
|
разрешен ли сбор данных SQM в рамках программы улучшения качества программного обеспечения
|
2, 20
|
размер файла подкачки в байтах
|
время работы серверного процесса
|
количество свободных байтов файла подкачки
| |
3, 21
| |
процент используемой физической памяти
|
текущее положение курсора
| |
4, 22
| |
полное имя модуля текущего процесса
|
ширину и высоту основного монитора
| |
5, 23
|
приоритет серверного процесса
| |
идентификатор и дескриптор серверного процесса
|
версию операционной системы
|
6, 24
| |
идентификатор серверного процесса
| |
время работы серверного процесса в пользовательском режиме
|
7, 25
|
название используемого видеоадаптера
|
количество свободных байтов файла подкачки
|
размер клиентской области
|
объем используемой физической памяти в единицах, переданных клиентом (в байтах, мегабайтах, гигабайтах по выбору пользователя)
|
8, 26
| |
количество процессов в системе
|
количество логических процессоров
|
количество модулей серверного процесса
|
9, 27
|
ширину и высоту рамки окна
|
размер файла подкачки в байтах
|
изменяет название окна сервера на переданное из клиентского приложения и возвращает результат изменения (успех/ошибка)
|
количество свободных байтов файла подкачки
|
10, 28
| | | |
список потоков сервера и их приоритеты
|
11, 29
|
ширину и высоту основного монитора
|
идентификатор серверного процесса
|
цвет пикселя на сервере для переданных от клиента координат
|
дескриптор серверного процесса
|
12, 30
|
название используемого видеоадаптера
|
процент используемой физической памяти;
|
скрывает окно серверного процесса на переданное время (от 1000 до 10000 мс) и возвращает результат выполнения
(успех/ошибка)
|
процент используемой виртуальной памяти
|
13, 31
|
координаты окна серверного процесса
|
количество модулей серверного процесса
|
разрешение основного монитора
|
количество потоков серверного процесса
|
14, 32
| |
объем доступной физической памяти;
|
изменяет цвет шрифта на сервере на переданный из клиентского приложения и возвращает результат (успех/ошибка)
|
процент свободной физической памяти
|
15, 33
|
текущее положение курсора;
|
идентификатор серверного процесса
| |
перечень собственных потоков с указанием их приоритета
|
16, 34
|
продолжительность текущего сеанса работы
|
процент свободной физической памяти;
| |
время работы серверного процесса в пользовательском режиме
|
17, 35
|
размер окна серверного процесса
|
количество потоков серверного процесса;
| |
количество процессов на сервере
|
18, 36
| |
объем физической памяти в единицах, переданных клиентом (в байтах, мегабайтах, гигабайтах по выбору пользователя)
|
количество логических процессоров
|
объем свободной физической памяти в единицах, переданных клиентом (в байтах, мегабайтах, гигабайтах по выбору пользователя)
|
Общие указания к выполнению работы
Многозадачное приложение реализуется на основе технологии «клиент-сервер» средствами интегрированной среды разработки Microsoft Visual Studio/Visual C++ для устройств под управлением операционной системы Windows, по согласованию с преподавателем возможно использование других IDE, языка программирования и операционной системы. Процессы 1 и 2 выступают как серверы приложений, третий процесс является их клиентом. Обмен данными между клиентами и серверами осуществляется при помощи сокетов.
И клиентский, и серверные процессы оформляются как отдельные приложения, запускаются и завершают работу независимо друг от друга. Серверы должны быть многопоточными, то есть допускать одновременное подключение нескольких клиентов. Серверные процессы по запросу получают системную информацию в соответствии с вариантом задания и передают ее клиенту с указанием текущего времени. На стороне клиента необходимо реализовать интерфейс, позволяющий пользователю подключиться по выбору к первому или второму серверу, а также возможность раздельного получения и отображения данных по каждому из пунктов индивидуального задания.
Необходимо предусмотреть проверку на повторный запуск серверов, т.е. исключить ситуацию, когда запускается более чем один экземпляр каждого сервера. Клиентов может быть несколько. В течение всего времени подключения клиента к серверу информация в клиентской части должна обновляться либо автоматически, либо по команде от пользователя.
Достарыңызбен бөлісу: |