Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
referat / Referat.doc
Скачиваний:
8
Добавлен:
28.06.2021
Размер:
569.86 Кб
Скачать

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования

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

----------------------------------------------------------------------------------------------------

Кафедра Математической кибернетики и информационных технологий

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

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

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

на тему:

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

Выполнил:

Проверил:

Королькова Т.В.

ст.пр. кафедры МКиИТ

Оценка_________________________

Дата 20.12.2017

Москва 2017

1 Задание

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

Приложение создается на основе технологии «клиент-сервер» средствами C# 7.0, Visual Studio 2015 CE.

Процессы 1 и 2 выступают как серверы приложений, третий процесс является их клиентом. Наличие еще одного процесса, выполняющего вспомогательные функции (индикация имен запущенных серверов, ведение дневника и т.п.) приветствуется, но необязательно.

Минимальный функционал клиента:

  • создание заданного средства коммуникации;

  • получение данных от серверов;

  • вывод полученных данных на экран.

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

И клиентский, и серверные процессы оформляются как отдельные приложения.

Индивидуальный вариант задания:

Способ коммуникации: сокеты.

Процесс 1 определяет и передает:

  • текущее местное время компьютера, на котором запущен сервер;

  • продолжительность сеанса работы сервера;

Процесс 2 определяет и передает:

  • приоритеты серверных процессов;

  • дельта-приоритеты их потоков.

2 Содержание Оглавление

2 Содержание 3

3 Введение 4

4.1 Задачи курсовой работы 5

4.2 Краткие теоретические основы разрабатываемой темы 5

4.2.1 Межпроцессное взаимодействие. Сокеты 6

4.2.2 Средства синхронизации процессов 7

4.3 Разработка и описание алгоритма работы приложения 8

4.3.1 Алгоритм работы сервера 1 8

4.3.2 Алгоритм работы сервера 2 9

4.3.3 Алгоритм работы клиента 10

4.4 Описание структуры программы 12

4.5 Руководство пользователя 13

4.6 Демонстрация программы 14

7.1 Исходный код первого сервера 18

7.2 Исходный код второго сервера 19

7.3 Исходный код клиента 22

3 Введение

Операционная система Microsoft Windows предусматривает механизмы, которые облегчают обмен совместно использующейся информацией и данными между приложениями. В собирательном значении - это действия, включающие в работу механизмы, называемые межпроцессными взаимодействиями (inter-process communications) (IPC). Некоторые формы межпроцессного взаимодействия (IPC) облегчают разделение задания между несколькими специализированными процессами. Другие формы межпроцессорного взаимодействия (IPC) облегчают разделение задания между компьютерами в сети.

Межпроцессное взаимодействие (inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети.

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

Ниже перечислены механизмы использования межпроцессного взаимодействия (IPC), которые поддерживаются Windows:

  • Буфер обмена

  • Модель компонентных объектов (COM)

  • Копирование данных (Data Copy)

  • Динамический обмен данными (DDE)

  • Отображение (проекция) файла в память

  • Почтовые слоты (Mailslots)

  • Каналы (Pipes)

  • Вызов удаленной процедуры (RPC)

  • Сокеты Windows (Windows Sockets)

Наиболее удобный, широко поддерживаемый механизм межроцессного взаимодействия, который может осуществляться как на одном компьютере, так и на нескольких компьютерах сети это сокеты. В ОС Windows работа с сокетами осуществляется через интерфейс прикладного программирования Windows Sockets 2.

Windows Sockets API (WSA) это техническая спецификация, которая определяет, как сетевое программное обеспечение Windows будет получать доступ к сетевым сервисам, в том числе TCP/IP. Он определяет стандартный интерфейс между клиентским приложением (таким как FTP-клиент или веб-браузер) и внешним стеком протоколов TCP/IP. Он основывается на API модели сокетов Беркли, использующейся в BSD для установки соединения между программами.

Таким образом, у процессов часто возникает необходимость взаимодействия между собой, как на одном компьютере, так и на нескольких по сети. Существует множество способов IPC. Один из широко поддерживаемых  сокеты, позволяет осуществлять передачу данных между процессами на разных компьютерах, абстрагируясь при этом от используемых протоколов.

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

Соседние файлы в папке referat