- •Введение
- •Задание на курсовую работу
- •Дополнительные задания
- •Цель курсовой работы
- •Постановка задачи
- •Теоретические сведения
- •Разработка и описание алгоритма
- •Описание структуры программы
- •Результаты программы
- •Исходный код
- •Исходный код первого сервера
- •Файл «Program.Cs»
- •Файл «Form1.Cs»
- •Файл «Server2.Cs»
- •Файл «Server1.Cs»
- •Заключение
- •Список использованных источников
Министерство цифрового развития, связи и массовых коммуникаций
Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
_____________________________________________________________
Кафедра Системного программирования
КУРСОВАЯ РАБОТА
по дисциплине
ОПЕРАЦИОННЫЕ СИСТЕМЫ
на тему:
«ИССЛЕДОВАНИЕ МЕХАНИЗМОВ МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ»
Выполнил:
студент Рахимов Егор Константинович
(Ф.И.О.)
группа_______БФИ1901_________
Проверил:
Алексанян Диана Ашотовна - ассистент
(Ф.И.О., должность преподавателя)
Оценка_________________________
Дата ___________________________
Москва 2021
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1 ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ 4
1.1 ДОПОЛНИТЕЛЬНЫЕ ЗАДАНИЯ 4
2 ЦЕЛЬ КУРСОВОЙ РАБОТЫ 4
3 ПОСТАНОВКА ЗАДАЧИ 4
4 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 4
5 РАЗРАБОТКА И ОПИСАНИЕ АЛГОРИТМА 5
6 ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ 6
7 РЕЗУЛЬТАТЫ ПРОГРАММЫ 6
8 ИСХОДНЫЙ КОД 8
8.1 ИСХОДНЫЙ КОД ПЕРВОГО СЕРВЕРА 8
8.1.1 Файл «Program.cs» 8
8.1.2 Файл «Form1.cs» 9
8.1.3 Файл «Server2.cs» 22
8.1.4 Файл «Server1.cs» 32
ЗАКЛЮЧЕНИЕ 39
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 40
Введение
Клиент и сервер это программы, расположенное на разных компьютерах, в разных контроллерах и других подобных устройствах. Между собой они взаимодействуют через вычислительную сеть с помощью сетевых протоколов(TCP/IP).
Программы-серверы являются поставщиками услуг. Они постоянно ожидают запросы от программ-клиентов и предоставляют им свои услуги (передают данные, решают вычислительные задачи, управляют чем-либо и т.п.). Сервер должен быть постоянно включен и “прослушивать” сеть. Каждая программа-сервер, как правило, может выполнять запросы от нескольких программ-клиентов.
Программа-клиент является инициатором запроса, который может произвести в любой момент. В отличие от сервера клиент не должен быть постоянно включен. Достаточно подключиться в момент запроса.
В наше время практически во всех сферах жизни человеческого общества применяются те или иные системы обработки данных. Это могут быть банковские системы, промышленные программные комплексы, средства автоматизации торговли и многие другие приложения. Постоянное расширение областей применения вычислительной техники и всевозрастающая сложность решаемых задач требуют совершенствования методов создания современных информационных систем.
Задание на курсовую работу
Разработать многозадачное приложение, выполняющее получение, сбор и вывод системной информации в соответствии с вариантом задания (таблица 1).
Таблица 1- Индивидуальные варианты заданий
Вариант |
Сервер 1 |
Сервер 2 |
|
получает/выполняет и возвращает в качестве результата |
|
25 |
|
|
Дополнительные задания
При обновлении информации на клиенте по таймеру данные передается только в том случае, если что-либо изменилось с момента прошлого обновления.
Обновление информации на клиенте происходит по инициативе сервера как реакция на изменения на сервере.
Цель курсовой работы
Целью данной курсовой работы является закрепление и углубление теоретических знаний в области современных операционных систем, приобретение практических навыков разработки клиент-серверных приложений, использующих стандартные механизмы межпроцессного взаимодействия.
Постановка задачи
В соответствии с заданием нужно разработать 3 отдельных приложения. Приложение-сервер должно выполнять такие функции: получение информации в соответствие с заданием, отправка данных на клиент-приложение. Приложение-клиент должно выполнять такие функции: отправка запроса серверу, получение информации и вывод ее на экран. Приложения должны быть разработаны по технологии «клиент-сервер». Метод коммуникации между процессами – сокеты.
Теоретические сведения
Модели клиент-сервер - это технология взаимодействия в информационной сети. Сервер обладает правом управления тем или иным ресурсом, а клиент - пользования им. Понятия "клиент" и "сервер" описывают лишь распределение ролей при выполнении конкретной задачи, но не какие-либо отдельные виды компьютеров или программ. На одном и том же компьютере могут одновременно работать программы, выполняющие как клиентские, так и серверные функции.
Каждый конкретный сервер определяется видом того ресурса, которым он владеет. Этот принцип распространяется и на взаимодействие программ. Программа, выполняющая предоставление соответствующего набора услуг, рассматривается в качестве сервера, а программы, пользующиеся этими услугами, принято называть клиентами. Программы имеют распределенный характер, т.е. одна часть функций прикладной программы реализуется в программе-клиенте, а другая - в программе-сервере, а для их взаимодействия определяется некоторый протокол. Программа клиент взаимодействует с сервером, используя определенный протокол, устанавливающий правила обмена данными. Клиент может запрашивать с сервера какие-либо документы, манипулировать данными непосредственно на сервере, запускать на нем новые программы и т. п. Полученные от сервера данные клиент может предоставлять пользователю или формировать на их основе новый запрос. Клиент и сервер могут работать как на одном и том же компьютере, так и на разных. Во втором случае для обмена информацией между ними используется сетевое соединение.
Преимущества клиент-серверной архитектуры:
делает возможным, в большинстве случаев, распределение функций вычислительной системы между несколькими независимыми компьютерами в сети;
все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;
позволяет объединить различные клиенты. Использовать ресурсы одного сервера часто могут клиенты с разными аппаратными платформами, операционными системами и т.п.
Недостатки клиент-серверной архитектуры:
неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;
поддержка работы данной системы требует отдельного специалиста -- системного администратора;
высокая стоимость оборудования.