![](/user_photo/70702_HIvw5.jpg)
- •Курсовая работа
- •Задание на курсовую работу
- •Дополнительные задания
- •Введение
- •Основная часть
- •Постановка задачи
- •Краткие теоретические основы разрабатываемой темы
- •Разработка и описание алгоритма работы приложения
- •Описание структуры программы
- •Руководство пользователя
- •Результаты применения программы
- •Заключение
- •Список литературы
Основная часть
Постановка задачи
Целью данной курсовой работы является закрепление и углубление теоретических знаний в области современных операционных систем, приобретение практических навыков разработки клиент-серверных приложений, использующих стандартные механизмы межпроцессного взаимодействия.
Краткие теоретические основы разрабатываемой темы
«Клиент — сервер» (англ. client–server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Фактически клиент и сервер — это программное обеспечение. Обычно эти программы расположены на разных вычислительных машинах и взаимодействуют между собой через вычислительную сеть посредством сетевых протоколов, но они могут быть расположены также и на одной машине. Программы-серверы ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP, FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или в виде сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями или просмотр web-страниц во всемирной паутине). Поскольку одна программа-сервер может выполнять запросы от множества программ-клиентов, её размещают на специально выделенной вычислительной машине, настроенной особым образом, как правило, совместно с другими программами-серверами, поэтому производительность этой машины должна быть высокой. Из-за особой роли такой машины в сети, специфики её оборудования и программного обеспечения, её также называют сервером, а машины, выполняющие клиентские программы, соответственно, клиентами.
Преимущества
Отсутствие дублирования кода программы-сервера программами-клиентами.
Так как все вычисления выполняются на сервере, то требования к компьютерам, на которых установлен клиент, снижаются.
Все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще организовать контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа.
Недостатки
Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть. Неработоспособным сервером следует считать сервер, производительности которого не хватает на обслуживание всех клиентов, а также сервер, находящийся на ремонте, профилактике и т. п.
Поддержка работы данной системы требует отдельного специалиста — системного администратора.
Высокая стоимость оборудования
Разработка и описание алгоритма работы приложения
Сервера 1 и 2 запускаются на портах 1111 и 1112 соответственно и ожидают входящее соединение. После установления соединения передают данные клиенту, такие как “Код последней ошибки”, “Текущее положение курсора” – с первого сервера и “Приблизительный процент использования физической памяти”, “Приблизительный процент используемой виртуальной памяти” – со второго. Клиент соединяется с сервером едино разово, в противном случае будет отказано в подключении.