Файл: Содержание Введение 2 теоретическая часть 3 1 Понятие Сетевое программное обеспечение 3 2 Категории сетевого программного обеспечения 6 1 по управления сетевой .docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.01.2024
Просмотров: 51
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Независимо от версии общими для UNIX чертами являются:
-
многопользовательский режим со средствами защиты данных от несанкционированного доступа; -
реализация мультипрограммной обработки в режиме разделения времени, основанная на использовании алгоритмов вытесняющей многозадачности (preemptive multitasking); -
использование механизмов виртуальной памяти и свопинга для повышения уровня мультипрограммирования; -
унификация операций ввода-вывода на основе расширенного использования понятия «файл»; -
иерархическая файловая система, образующая единое дерево каталогов независимо от количества физических устройств, используемых для размещения файлов; -
переносимость системы за счет написания ее основной части на языке Си; -
разнообразные средства взаимодействия процессов, в том числе и через сеть;
кэширование диска для уменьшения среднего времени доступа к файлам.
ОС Linux имеет следующие достоинства:
-
дает возможность бесплатно и легально иметь современную ОС для использования как на работе, так и дома; -
обладает высоким быстродействием; -
работает надежно, устойчиво, совершенно без зависаний; -
не подвержена вирусам; -
позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие MS Windows по использованию памяти машины и ресурсов процессора(ов); -
эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д.) не мешают интерактивной работе; -
позволяет легко интегрировать компьютер в локальные и глобальные сети, в том числе в Интернет; работает с сетями на базе Novell и MS Windows; -
позволяет выполнять представленные в формате загрузки прикладные программы других ОС — различных версий UNIX и MS Windows; -
обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире UNIX и свободно распространяемых вместе с исходными текстами; -
предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, в том числе системы класса клиент—сервер, объектно-ориентированные, с многооконным текстовым и/или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС; -
дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС; -
дает всем желающим попробовать свои силы в разработке, организовать общение и совместную работу через Интернет с любыми из разработчиков ОС Linux и сделать свой вклад, став соавтором системы.
Операционная система Windows NT
При разработке структуры Windows NT по аналогии с NetWare и UNIX была использована концепция микроядра. В соответствии с этой идеей ОС разделена на несколько подсистем, каждая из которых выполняет отдельный набор сервисных функций, например сервис памяти, сервис по созданию процессов или сервис по планированию процессов. Каждая подсистема выполняется в пользовательском режиме, осуществляя цикл проверки запроса от клиента на одну из его сервисных функций. Клиент, которым может быть либо другая компонента ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер. Ядро ОС (или микроядро), работая в привилегированном режиме, доставляет сообщение нужному серверу, затем сервер выполняет операцию, после этого ядро возвращает результаты клиенту с помощью другого сообщения.
В Windows NT реализована вытесняющая многозадачность, при которой операционная система не ждет, когда нить сама захочет освободить процессор, а принудительно снимает ее с выполнения — после того как та израсходовала отведенное ей время (квант) или если в очереди готовых появилась нить с более высоким приоритетом. При такой организации разделения процессора ни одна нить не займет процессор на очень долгое время.
Операционная система Windows 2000
Windows 2000, является потомком NT, обладает всеми ее достоинствами, а многие из ее ограничений при этом снимает. Windows 2000 — один из крупнейших программных продуктов, его код содержит около 30 млн. строк. В Windows 2000 появилась поддержка шины USB, РС-карт, шины AGP и DVD-устройств, а также технологии Plug and Play , которой славится Windows 98, — автоматического распознавания и установки устройств.
Заметно расширены в Windows 2000 возможности работы с файловыми системами. Помимо используемых в Windows 9x файловых систем FAT16 и FAT32 (незащищенных), эта ОС работает с NTFS5 (NT File System 5), специально разработанной для Windows 2000 усовершенствованной версией файловых систем с добавлением шифрования и других новых возможностей. Она обеспечивает более эффективное использование дискового пространства и лучшую защиту информации.
Windows 2000 и ее предшественница Windows NT 4.0 не могли соперничать с мощными версиями UNIX. С появлением Datacenter Microsoft надеется выровнять положение, задействовав Windows на более крупных и мощных машинах, чем когда-либо до этого. Благодаря дополнительным возможностям повышается уровень масштабируемости, готовности и управляемости Windows 2000. Специальные требования к сертификации и техническому обслуживанию еще более выделяют эту операционную систему среди остальных серверов семейства Windows 2000.[2]
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
В ходе выполнения курсовой работы было разработано и запрограммировано в среде программирования Borland Builder C++ клиент серверное приложение с использованием сокетов.
Серверное приложение выполняет создание сервера и подключение клиентов к нему и обмена с ним сообщениями.
Рисунок 1.Создание сервера
Рисунок 2.Подключение Клиента
Рисунок 3.Обмен сообщения с клиентом
Листинг программы сервера
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
#include
#include
-
Программное обеспечение компьютерных сетей: Учебное пособие / О.В. Исаченко. - М.: ИНФРА-М, 2012. - 117 с -
http://professia.org/seti/251/2_5_1.%20HTML.html -
Информатика в экономике: учебное пособие / под ред. Б.Е. Одинцова, А.Н. Романова. М.: Вузовский учебник, 2008. - 478 с -
Компьютерная обучающая программа по дисциплине «Информатика» / А.Н. Романов, В.С. Торопцов, Д.Б. Григорович, Л.А. Галкина, А.Ю. Артемьев, Н.И. Лобова, К.Е. Михайлов, Г.А. Жуков, О.Е. Кричевская, С.В. Ясеновский, Л.А. Вдовенко, Б.Е. Одинцов, Г.А. Титоренко, Г.Д. Савичев, В.И. Гусев, С.Е. Смирнов, В.И. Суворова, Г.В. Федорова, Г.Б. Коняшина. М.: ВЗФЭИ, 2000. Дата обновления 24.11.2010. URL: http://repository.vzfei.ru -
Информатика: методические указания по выполнению курсовой работы для студентов второго курса всех специальностей. М.: ВЗФЭИ, 2008. URL: http://repository.vzfei.ru.
#include
#include
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
WSADATA wsadata;
SOCKET server_socket;
char buff[1024];
std::list
DWORD WINAPI ClientPool(LPVOID param)
{ SOCKET client_socket = (SOCKET)param;
while(true)
{
int bytes = recv(client_socket, &buff[0], sizeof(buff), 0);
printf("client: %s\n", buff);
} return 0;/*
int bytes_recv;
SOCKET client_socket;
client_socket = (SOCKET)param;
while( (bytes_recv = recv(client_socket,&buff[0],sizeof(buff),0)) && bytes_recv !=SOCKET_ERROR)
{printf("client: %s\n", buff);
std::list
for(it = clients.begin(); it!=clients.end(); ++it)
send((*it), buff, bytes_recv, 0);} */
printf("disconnect\n");
closesocket(client_socket);
return 0;}
int main()
{WSAStartup(MAKEWORD(2,2),&wsadata);
server_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
SOCKADDR_IN server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(6666);
server_addr.sin_addr.s_addr = INADDR_ANY;
bind(server_socket,(SOCKADDR*)&server_addr, sizeof(server_addr));
listen(server_socket, 10);
printf("Server start\n");
while(true)
{
SOCKADDR_IN client_addr;
int len_client_addr = sizeof(client_addr);
SOCKET client = accept(server_socket, (struct sockaddr*)&client_addr, &len_client_addr);
printf("New connection\n");
clients.push_back(client);
DWORD ThreadID;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ClientPool,
(void*)client, 0, &ThreadID);
while(1)
{
fgets(&buff[0],sizeof(buff),stdin);
send(client, buff, strlen(buff)-1,0);
}
}
return 0;
}
//---------------------------------------------------------------------------
Клиентское приложение выполняет подключение к серверу и обмен с ним сообщениями.
Рисунок 4.Подключение к серверу
Рисунок 5.Обмен сообщениями с клиентом
Листинг программы Клиент
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include
#include
#include
#include
#include
#include
#include
//---------------------------------------------------------------------------
#pragma argsused
WSADATA wsadata;
SOCKET client_socket;
char buff[1024];
DWORD WINAPI ServerPool(LPVOID param)
{
SOCKET server_socket = (SOCKET)param;
while(true)
{
int bytes = recv(server_socket, &buff[0], sizeof(buff), 0);
printf("server: %s\n", buff);
}
return 0;
}
int main()
{
WSAStartup(MAKEWORD(2,2),&wsadata);
client_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
sockaddr_in dest_addr;
dest_addr.sin_family = AF_INET;
dest_addr.sin_addr.s_addr = inet_addr( "127.0.0.1" );
dest_addr.sin_port = htons(6666);
if(connect(client_socket, (SOCKADDR*)&dest_addr, sizeof(dest_addr)))
printf("Not connect\n");
else printf("Connect\n");
DWORD ThreadID;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ServerPool,
(void*) client_socket, 0, &ThreadID);
while(1)
{
fgets(&buff[0],sizeof(buff),stdin);
send(client_socket, buff, strlen(buff)-1,0);
}
return 0;
}
//---------------------------------------------------------------------------
Заключение
клиент серверный программирование
В ходе выполнения данной курсовой работы изучены сокеты и их применение в программировании для передачи сообщений по сети. Так же были изучены компоненты для реализации сокетов в программных кода среды программирования Borland Builder C++.
Список литературы