Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая Рахимов Е.К. Бфи1901.docx
Скачиваний:
54
Добавлен:
01.04.2022
Размер:
519.38 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

_____________________________________________________________

Кафедра Системного программирования

КУРСОВАЯ РАБОТА

по дисциплине

ОПЕРАЦИОННЫЕ СИСТЕМЫ

на тему:

«ИССЛЕДОВАНИЕ МЕХАНИЗМОВ МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ»

Выполнил:

студент Рахимов Егор Константинович

(Ф.И.О.)

группа_______БФИ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- Индивидуальные варианты заданий

Вариант

Сервер 1

Сервер 2

получает/выполняет и возвращает в качестве результата

25

  1. название используемого видеоадаптера

  2. размер клиентской области

  1. количество свободных файлов подкачки

  2. объем используемой оперативной памяти по выбору клиента

    1. Дополнительные задания

  1. При обновлении информации на клиенте по таймеру данные передается только в том случае, если что-либо изменилось с момента прошлого обновления.

  2. Обновление информации на клиенте происходит по инициативе сервера как реакция на изменения на сервере.

  1. Цель курсовой работы

Целью данной курсовой работы является закрепление и углубление теоретических знаний в области современных операционных систем, приобретение практических навыков разработки клиент-серверных приложений, использующих стандартные механизмы межпроцессного взаимодействия.

  1. Постановка задачи

В соответствии с заданием нужно разработать 3 отдельных приложения. Приложение-сервер должно выполнять такие функции: получение информации в соответствие с заданием, отправка данных на клиент-приложение. Приложение-клиент должно выполнять такие функции: отправка запроса серверу, получение информации и вывод ее на экран. Приложения должны быть разработаны по технологии «клиент-сервер». Метод коммуникации между процессами – сокеты.

  1. Теоретические сведения

Модели клиент-сервер - это технология взаимодействия в информационной сети. Сервер обладает правом управления тем или иным ресурсом, а клиент - пользования им. Понятия "клиент" и "сервер" описывают лишь распределение ролей при выполнении конкретной задачи, но не какие-либо отдельные виды компьютеров или программ. На одном и том же компьютере могут одновременно работать программы, выполняющие как клиентские, так и серверные функции.

Каждый конкретный сервер определяется видом того ресурса, которым он владеет. Этот принцип распространяется и на взаимодействие программ. Программа, выполняющая предоставление соответствующего набора услуг, рассматривается в качестве сервера, а программы, пользующиеся этими услугами, принято называть клиентами. Программы имеют распределенный характер, т.е. одна часть функций прикладной программы реализуется в программе-клиенте, а другая - в программе-сервере, а для их взаимодействия определяется некоторый протокол. Программа клиент взаимодействует с сервером, используя определенный протокол, устанавливающий правила обмена данными. Клиент может запрашивать с сервера какие-либо документы, манипулировать данными непосредственно на сервере, запускать на нем новые программы и т. п. Полученные от сервера данные клиент может предоставлять пользователю или формировать на их основе новый запрос. Клиент и сервер могут работать как на одном и том же компьютере, так и на разных. Во втором случае для обмена информацией между ними используется сетевое соединение.

Преимущества клиент-серверной архитектуры:

  1. делает возможным, в большинстве случаев, распределение функций вычислительной системы между несколькими независимыми компьютерами в сети;

  2. все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;

  3. позволяет объединить различные клиенты. Использовать ресурсы одного сервера часто могут клиенты с разными аппаратными платформами, операционными системами и т.п.

Недостатки клиент-серверной архитектуры:

  1. неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;

  2. поддержка работы данной системы требует отдельного специалиста -- системного администратора;

  3. высокая стоимость оборудования.