- •Общие положения
- •1 Разработка и реализация программы управления процессом имитационного моделирования информационно-вычислительной системы
- •Варианты заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Рекомендуемая литература
- •Процесс p2
- •Требования к реализации
- •Требования к отчёту
- •Варианты
- •3 Разработка и программная реализация параллельных игровых алгоритмов
- •Задание 1 Курсовая работа «Крестики-нолики»
- •Задание 2 Курсовая работа «Игра "3 пальца"»
- •Задание 3 Курсовая работа «Гонки»
- •Задание 4 Курсовая работа «Морской бой»
- •Задание 5 Курсовая работа «Червяки»
- •Задание 6 Курсовая работа «Пакман»
- •Задание 7 Курсовая работа «Распределённое вычисление простых чисел»
- •Задание 8 Курсовая работа «Параллельный волновой алгоритм»
- •Задание 9
Вариант 14
Вычислительная система включает три ЭВМ. В систему в среднем через 30 с поступают задания, которые попадают в очередь на обработку к первой ЭВМ, где они обрабатываются около 30 с. После этого задания поступают одновременно во вторую и третью ЭВМ. Вторая ЭВМ может обработать задания за (14+-5) с, а третья - за (16+-1) с. Окончание обработки задания на любой ЭВМ означает снятие ее с решения с той и другой машины. В свободное время вторая и третья ЭВМ заняты обработкой фоновых задач. Смоделировать 4 ч работы системы. Определить необходимую емкость накопителей перед всеми ЭВМ.
Рекомендуемая литература
Карпов В. Е., Коньков К. А. Введение в операционные системы.
http://cs.mipt.ru/docs/courses/osstud/oc.html
Брюс Моли UNIX/LINUX. Теория и практика программирования.
http://bookwebmaster.narod.ru/unix.html
Мендель Купер Искусство программирования на языке сценариев командной
оболочки.
http://www.opennet.ru/docs/RUS/bash_scripting_guide/
Алексеев И.Г., Бранцевич П. Ю. Теория вычислительных процессов и структур.
Учебно-методическое пособие.
http://bsur-helper.ru.
Стасышин В М Управление ресурсами в ОС UNIX.
http://www.ict.edu.ru/ft/002355/Method1.HTM
Пример концептуальной схемы для варианта 3
Основной процесс P Создание
процессов P1, P2, P3 Создание
каналов взаимодействия процессов Генерация
входного потока транзактов Буферизация
потока транзактов
Ведение
журнала и обработка результатов Завершение
моделирования
Передача сообщений по основному каналу
связи
Запрос очередного сообщения из буфера
Процесс p2
2 Разработка и программная реализация многопользовательских сетевых приложений
Цель работы
Получение практических навыков разработки и реализации многопользовательских сетевых приложений под управлением операционной системы семейства Unix/Linux.
Общее описание задачи
В общем случае необходимо разработать 2 приложения: приложение-сервер (далее Сервер) и приложение-клиент (далее Клиент). В зависимости от варианта набор различных приложений может меняться.
Сервер предоставляет программный интерфейс (набор функций сервера) Клиенту. Если разработчиков несколько, то начать разработку лучше с интерфейса.
Приложения взаимодействуют друг с другом посредством протокола – набора правил, по которому Клиент вызывает функции программного интерфейса Сервера.
Пример взаимодействия Клиента с Сервером:
Сервер может одновременно обслуживать более одного Клиента (в несколько потоков). Максимальное количество Клиентов одновременно взаимодействующих с Сервером определяется конкретной задачей.
Основные отличия процессов Клиента и Сервера применительно к удаленному взаимодействию:
– Сервер работает постоянно, на всем протяжении жизни приложения, а Клиенты могут работать эпизодически.
– Сервер ждет запроса от Клиентов, инициатором же взаимодействия выступает Клиент.
– Клиент обращается к одному Серверу за раз, в то время как к Серверу могут одновременно поступить запросы от нескольких Клиентов.
– Клиент должен знать полный адрес Сервера перед началом организации запроса (до начала общения), в то время как Сервер может получить информацию о полном адресе Клиента из пришедшего запроса (после начала общения).
– И Клиент, и Сервер должны использовать один и тот же протокол транспортного уровня OSI модели.
Неравноправность процессов в модели клиент-сервер, накладывает свой отпечаток на программный интерфейс, используемый между уровнем приложений/процессов и транспортным уровнем.
Поступающие запросы Сервер может обрабатывать последовательно – запрос за запросом – или параллельно, запуская для обработки каждого из них свой процесс или thread. Как правило, Серверы, ориентированные на связь клиент-сервер с помощью установки логического соединения (TCP-протокол), ведут обработку запросов параллельно, а серверы, ориентированные на связь клиент-сервер без установления соединения (UDP-протокол), обрабатывают запросы последовательно.
Более подробно об организации взаимодействия между Клиентом и Сервером с помощью протоколов TCP, UDP необходимо прочитать:
http://www.intuit.ru/department/os/osintropractice/10/1.html (можно с 4-ой страницы)
Там же можно посмотреть примеры реализации Клиента и Сервера.
