- •Методичні вказівки до лабораторних робіт по курсу "інтерфейси паралельного програмування "
- •Методичні вказівки до лабораторних робіт по курсу "інтерфейси паралельного програмування "
- •7091502 “Системне програмування”;
- •Общие положения
- •1. Управление процессами и потоками
- •1.3.2. Создание и завершение процесса
- •1.3.3. Создание и завершение потока Поток создается вызовом функции
- •1.3.4. Приостановка и возобновление потоков
- •1.3.5. Переключение потоков
- •1.3.6. Определение периодов выполнения потоков
- •1.3.7. Приоритеты потоков
- •1.4. Задание на лабораторную работу
- •1.5. Контрольные вопросы и задания
- •2. Объекты синхронизации потоков и процессов
- •2.3.2. Мьютексы
- •2.3.3. Семафоры
- •Программа завершает работу с семафором вызовом функции
- •2.3.4.События
- •2.3.5. Wait -функции
- •2.4. Задание на лабораторную работу
- •2.5. Контрольные вопросы и задания
- •3. Обмен данными между программами на основе объекта winsock
- •3.1. Цель работы
- •3.2. Указания по подготовке к выполнению лабораторной работы
- •3.3. Сущность работы
- •3.3.1. Сторона клиента.
- •3.3.2 Сторона сервера
- •3.4. Задание на лабораторную работу
- •4.5. Контрольные вопросы и задания
- •4. Интерфейс параллельного программирования
- •4.1. Цель работы
- •4.2. Указания по подготовке к выполнению лабораторной работы
- •4.3. Обзор темы работы
- •4.3.1. Mpi. Терминология и обозначения
- •4.3.2. Общие процедуры mpi
- •4.3.3. Прием/передача сообщений между отдельными процессами
- •4.3.4. Прием/передача сообщений без блокировки
- •4.3.5. Объединение запросов на взаимодействие
- •4.3.6. Совмещенные прием/передача сообщений
- •4.3.7. Коллективные взаимодействия процессов
- •4.3.8. Синхронизация процессов
- •4.3.9. Работа с группами процессов
- •4.4. Задание на лабораторную работу
- •Вариант 2
- •4.5. Контрольные вопросы и задания
- •5.4. Задание на лабораторную работу
- •5.5. Контрольные вопросы и задания
- •Список литературы
- •Содержание
3.4. Задание на лабораторную работу
Написать две программы – "клиент" и сервер, которые взаимодействуют между собой при помощи объекта WINSOCK согласно следующим вариантам задания:
Вариант 1.
Первая программа (клиент) имеет 4 кнопки, указывающие направления: вверх, вниз, вправо, влево. Программа-сервер в центре экрана имеет объект (например, прямоугольник), который двигается по клиентской области окна в зависимости от нажатой кнопки в программе-клиенте.
Вариант 2.
Программа-сервер содержит два окна edit, в которые пользователь может вводить свой текст. Программа-клиент имеет 2 кнопки, по нажатию одной из которых, клиент получает текст соответствующего окна программы-сервера.
Вариант 3.
Программа-клиент содержит три полосы скроллинга, каждая из которых соответствует одному из составляющих цвета – R,G,B. Программа-сервер должна реагировать на изменение положения скроллинга изменением цвета фона клиентской области окна.
Вариант 4.
Программа-сервер содержит данные о студентах группы, которые включают имя, фамилию, возраст, средний бал. Программа-клиент должна реализовать следующие запросы к серверу: выдать полный список студентов, выдать список студентов, старше 18 лет, выдать список студентов, получающих стипендию (средний бал выше 4).
Вариант 5.
В программе-клиенте находится 3 кнопки, соответствующие линии, прямоугольнику и эллипсу. После нажатия одной из кнопок в программе-сервере при помощи мыши рисуется соответствующая фигура.
Вариант 6.
В программе-клиенте находится две кнопки. По нажатию одной из них в программе-сервере рисуется график функции y=sin(x), по нажатию другой – y=x*x.
Вариант 7.
Написать программу "Телетайп", которая отображает в клиентской области окна вводимый с клавиатуры текст. При этом текст должен появляться как в программе-клиенте, так и в программе-сервере.
Вариант 8.
В программе-клиенте есть возможность выбора одного из трех типов курсоров. При осуществлении выбора в программе-сервере происходит смена курсора. Сами курсоры созданы в ресурсном файле программы-сервера.
Вариант 9.
Программа-клиент имеет возможность заменить текст заголовка программы-сервера на любой, который вводится пользователем с клавиатуры в окно edit. Смена заголовка происходит после активации кнопки или пункта меню в программе-клиенте.
Вариант 10.
В программе-клиенте вводятся два числа m<30, n<20. Клиентская область окна программы-сервера должна разбиваться на соответствующее число прямоугольников (m х n).
4.5. Контрольные вопросы и задания
-
Дайте определение понятию "сокет".
-
С какими сетевыми протоколами может работать сокет в операционной системе Windows?
-
Какие из функций, работающих с сокетами, приостанавливают работу программы до совершения некоторого события? Каким способом можно устранить эффект "зависания", возможный при использовании этих функций?
-
Приведите порядок работы программы – сервера.
-
Приведите порядок работы программы – клиента.
-
Какие функции используются для организации приема и передачи информации в компьютерной сети?
-
Каким образом идентифицируется сокет?
-
Каким образом сокет "прослушивает" сеть в поисках запросов?