- •Задание на курсовую работу.
- •Введение
- •1.Основная часть
- •1.1Постановка задачи
- •1.2.Теоритические основы разработки «клиент-серверных» приложений
- •1.3.Разработка и описание алгоритма работы приложения
- •1.4.Описание cтруктуры программы.
- •1.5.Руководство пользователя.
- •1.6.Результаты применения программы
- •Заключение.
- •Список литературы
- •Приложение №1
КУРСОВАЯ РАБОТА
по дисциплине
ОПЕРАЦИОННЫЕ СИСТЕМЫ
на тему:
«ИССЛЕДОВАНИЕ МЕХАНИЗМОВ МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ»
Выполнил:
студент Синяквов К.С.
Группа: Бст1851
Проверил:
Оценка______________________
Дата ________________________
Москва 2021
Оглавление
Задание на курсовую работу. 3
Введение 3
1.Основная часть 4
1.1Постановка задачи 4
1.2.Теоритические основы разработки «клиент-серверных» приложений 4
1.3.Разработка и описание алгоритма работы приложения 5
1.4.Описание cтруктуры программы. 6
1.5.Руководство пользователя. 7
1.6.Результаты применения программы 7
Заключение. 7
Список литературы 8
Приложение №1 9
Задание на курсовую работу.
Разработать многопроцессное приложение, выполняющее получение, сбор и вывод системной информации
Введение
Клиент и сервер это программы, расположенное на разных компьютерах, в разных контроллерах и других подобных устройствах. Между собой они взаимодействуют через вычислительную сеть с помощью сетевых протоколов.
Программы-серверы являются поставщиками услуг. Они постоянно ожидают запросы от программ-клиентов и предоставляют им свои услуги (передают данные, решают вычислительные задачи, управляют чем-либо и т.п.). Сервер должен быть постоянно включен и “прослушивать” сеть. Каждая программа-сервер, как правило, может выполнять запросы от нескольких программ-клиентов.
Программа-клиент является инициатором запроса, который может произвести в любой момент. В отличие от сервера клиент не должен быть постоянно включен. Достаточно подключиться в момент запроса.
В наше время практически во всех сферах жизни человеческого общества применяются те или иные системы обработки данных. Это могут быть банковские системы, промышленные программные комплексы, средства автоматизации торговли и многие другие приложения. Постоянное расширение областей применения вычислительной техники и всевозрастающая сложность решаемых задач требуют совершенствования методов создания современных информационных систем.
С начала 90-х годов XX века известна такая технология реализации программных приложений как архитектура "клиент-сервер". Ее основная особенность состоит в том, что приложение делится на два уровня - представление данных (клиент) и хранение данных (сервер БД). Обработка информации происходит на клиенте, на сервер посылаются запросы и обрабатываются полученные в ответ на них данные.
С появлением мульти-платформенных технологий программирования и телекоммуникационных систем возникла возможность внедрения архитектуры клиент-сервер в портативные устройства
Объект исследования: процесс разработки клиент-серверного приложения
Предмет исследования: технология разработки клиент-сервера
Цель исследования: создать клиент-серверное приложение на объектно-ориентированном языке С#
1.Основная часть
1.1Постановка задачи
Создать приложение «клиент-сервер» средствами интегрированных сред разработки Visual C#/ Процессы 1 и 2 выступают как серверы приложений, третий процесс является их клиентом.
Способ комуникации |
Процесс №1 определяет и передает |
Процесс №2 определяет и передает |
Каналы |
- код последней ошибки; - текущее положение каретки
|
- полное имя модуля текущего процесса; - идентификаторы серверных и клиентских процессов |
Таб.1.Вариант задания
1.2.Теоритические основы разработки «клиент-серверных» приложений
Процесс разработки программного обеспечения – набор правил, согласно которой построена разработка программного обеспечения. Приложение можно назвать клиент серверным если оно включает в себя клиент-серверную архитектуру. Разработку клиент-серверного приложения необходимо начинать с выбора архитектуры клиент-сервера.
Архитектура «клиент-сервер» характеризуется наличием по крайне мере двух взаимодействующих, самостоятельных процессов – клиента и сервера.
Процессы, осуществляющие некоторую службу, например, службу базы данных или файловой системы, называются серверами, а процессы, запрашивающие службы у серверов посредством посылки запроса и последующего ожидания ответа от сервера, называются клиентами. Фактически эти процессы – программное обеспечение, которое установлено на разных вычислительных машинах и взаимодействующее между собой через вычислительную сеть посредством сетевых протоколов, но они могут быть расположены также и на одной машине
Преимуществом модели взаимодействия клиент-сервер является то, что программный код клиентского приложения и серверного разделен. Если мы говорим про локальные компьютерные сети, то к преимуществам архитектуры клиент-сервер можно отнести пониженные требования к машинам клиентов, так как большая часть вычислительных операций будет производиться на сервере, а также архитектура клиент-сервер довольно гибкая и позволяет администратору сделать локальную сеть более защищенной.
К недостаткам модели взаимодействия клиент-сервер можно отнести то, что стоимость серверного оборудования значительно выше клиентского. Сервер должен обслуживать специально обученный и подготовленный человек. Если в локальной сети ложится сервер, то и клиенты не смогут работать (в качестве частного случая можно привести пример: мощности сервера не всегда хватает, чтобы удовлетворит запросы клиентов, если вы хоть раз работали с биллинговыми системами, то понимаете о чем я: время ожидания ответа от сервера может быть очень большим).
Сокеты –наиболее распространенный способ связи клиента и сервера в сети. Впервые они были реализованы в UNIX BSD 4.2. Сокет можно определить как отправную (конечную) точку для коммуникации -endpoint for communication. Сокет создается клиентом для взаимодействия с сервером. Сокет связан с определенным номером порта,через который клиент и сервер обмениваются информацией, используя числовой или символьный последовательный поток. Сервер, со своей стороны, прослушиваетпорт с заданным номером и создает для этого серверный сокет. По сути дела, сокет можно представлять как конкатенацию IP-адреса и порта. Например, сокет 161.25.19.8:1625 ссылается на порт 1625 на машине (хосте) 161.25.19.8. Коммуникация осуществляется между парой сокетов – клиентским и серверным.
Клиент-серверная система характеризуется наличием двух взаимодействующих самостоятельных процессов - клиента и сервера, которые, в общем случае, могут выполняться на разных компьютерах, обмениваясь данными по сети.
Процессы, реализующие некоторую службу, например службу файловой системы или базы данных, называются серверами (servers). Процессы, запрашивающие службы у серверов путем посылки запроса и последующего ожидания ответа от сервера, называются клиентами (clients)
Таким образом, любая компьютерная сеть по сути является сетью клиент-сервер. Пользователь, подключивший свой компьютер к Интернет, будет иметь дело с сетью клиент-сервер, и даже если компьютер не имеет выхода в сеть, его программное обеспечение, да и сам он, скорее всего, организованы по схеме клиент-сервер.