Вычислительные сети
Вычислительная сеть — это совокупность компьютеров, соединенных между собой с помощью каналов связи в единую систему и использующих общие ресурсы. ВС, объединяющие компьютеры разных архитектур и работающие под управлением разных ОС, называются гетерогенными (разнородными, гетеро — другой, ген — происхождение).
Классификация вычислительных сетей
В зависимости от средств связи и по территориальному признаку компьютерные сети делятся на:
По способу доступа к информации сети бывают:
Локальная сеть — это вычислительная сеть, которая объединяет абонентов, расположенных в пределах небольшой территории. В настоящее время не существует четких ограничений на территориальный разброс абонентов локальной сети (2 — 2,5 км).
Региональная сеть — это вычислительная сеть, которая связывает абонентов, расположенных на значительном расстоянии друг от друга (десятки — сотни километров).
Глобальная сеть — это вычислительная сеть, которая объединяет абонентов, расположенных в различных странах и даже континентах.
Сервер — это компьютер, выделенный для обработки запросов от всех подсоединенных рабочих станций, предоставляющий доступ к общим сетевым ресурсам (базам данных, библиотекам программ, принтерам, факсам и т. д.).
В зависимости от разделяемых ресурсов серверы делятся на:
q файл-сервер (дисковая память)
q почтовый сервер (для организации почтовой связи) и др.
Рабочая станция (клиент) — это компьютер, с помощью которого пользователь получает доступ ко всем ресурсам сети.
Компьютер, подключенный к вычислительной сети, может быть либо рабочей станцией, либо сервером, в зависимости от выполняемых им функций.
В компьютерных сетях могут быть реализованы два способа обработки данных:
q централизованная (центральная ЭВМ или Host-компьютер, все запросы идут к ней, и обработка ведется на ней);
q распределенная «клиент-серверная» (клиентская часть программы делает запрос серверу, на нем производится обработка запроса и передача ответа клиенту).
Такое разделение в сети на клиента и сервер позволяет эффективно использовать технологию «клиент/сервер». В этом случае приложение делится на две части: клиентскую и серверную. Один или несколько мощных компьютеров сети конфигурируются как серверы приложений, на них выполняются серверные части приложений. Клиентские части выполняются на рабочих станциях, именно на них формируются запросы к серверам приложений и обрабатываются полученные результаты.
Технические средства, обеспечивающие передачу информации в коммуникационную среду
Ø сетевой адаптер (плата)
Ø модем (преобразователь потока битов в аналоговые сигналы и наоборот)
Ø концентратор (устройство, коммутирующее несколько внутренних каналов связи в один внешний)
Ø передающая среда — витая пара проводов (два изолированных провода, свитых, между собой, самый дешевый и распространенный кабель), коаксиальный кабель (два вида:толстый и тонкий, толстый более прочный, обеспечивает скорость до 50 Мбит/сек.) и оптоволоконный кабель ( идеальная среда, не подвержена действию электромагнитных полей, обеспечивает защиту, скорость передачи информации более 50 Мбит/сек).
Ø каналы связи: выделенныеили коммутируемые телефонные каналы, специальные каналы для передачи цифровой информации, радиоканалы и каналы спутниковой связи
Качество коммуникационной сети характеризуется следующими параметрами:
Ø скоростью передачи данных
Ø пропускной способностью канала связи
Ø надежностью канала связи и модемов
Ø Скорость передачи данных измеряется в бит/сек (bps).
Ø Пропускная способность измеряется байт (знак)/сек.
Ø Достоверность измеряется количеством ошибок на знак.
Ø Надежность — среднее время безотказной работы (норма — несколько тыс. часов).
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
11. Компьютерные сети. Сервер, клиент и редиректор. Функциональные роли компьютеров в сети.
Компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи компьютеров или вычислительного оборудования (серверы, маршрутизаторы и другое оборудование). Для передачи данных могут быть использованы различные физические явления как правило — различные виды электрических сигналов, световых сигналов или электромагнитного излучения.
Редиректор (англ. redirector, перенаправляющий) — модуль в прокси-серверах, отвечающий за фильтрацию и обработку адресов (URL) запросов от клиентов к серверам. Может быть как встроенным в прокси-сервер, так и запускающийся отдельным приложением (скриптом).
Задачи, решаемые с помощью редиректора:
- Закрытие доступа к определённым адресам по сложным критериям.
- Замена одного содержимого на другое (например, баннеров на пустые изображения)
- Выдача сообщения о точной причине запрета доступа к странице
- Выдача предупреждения о возможной фишинг-атаке (при наличии фишинг-фильтра)
- Анализ статистики обращения к определённым ресурсам (как разрешённым, так и запрещённым)
12. Модель процессов в многозадачной среде. События, приводящие к созданию процессов и завершению процессов.
Модель процессов в многозадачной среде. В модели сообщений поток представлен как отдельные мессаги, тут важны показатели границ сообщений. Важное понятие, относящееся к взаимодействию процессов — нить исполнения (thread). Нити процесса разделяют его программный код, глобальные переменные и системные ресурсы, но каждая нить имеет собственный программный счетчик, свое содержимое регистров и свой стек. То есть процесс — это много нитей (минимум одна). События, приводящие к созданию процессов и завершению процессов. Для создания нового процесса существующий процесс клонирует самого себя с помощью системного вызова fork. Результатом является получение копии исходного процесса, имеющей лишь некоторые отличия. В частности, новому процессу присваивается новый идентификатор, и учет ресурсов ведется для него независимо от предка. Системный вызов fork обладает уникальным свойством: он возвращает сразу два значения. В порожденном процессе эта функция возвращает 0, а в родительском — идентификатор потомка. Поскольку в остальном процессы идентичны, они должны проверять это значение, чтобы определить, в какой роли следует выступать дальше. После выполнения системного вызова fork новый процесс обычно запускает новую программу с помощью одного из системных вызовов семейства exec. Все вызовы семейства exec производят приблизительно одинаковые действия: они замещают сегмент кода процесса и устанавливают сегменты данных и стека в исходное состояние. Формы вызовов exec отличаются только способами указания аргументов командной строки и переменных среды, передаваемых новой программе. Когда система загружается, ядро самостоятельно создает несколько процессов. Наиболее важный из них — процесс init, идентификатор которого всегда равен 1. Программа init отвечает за вызов командного интерпретатора для выполнения стартовых сценариев, если они используются в системе. Все процессы, кроме тех, что создаются ядром, являются потомками процесса init. Программа init играет и другую важную роль в управлении процессами. Когда процесс завершается, он вызывает функцию _exit(), чтобы уведомить ядро о своей готовности прекратить работу. В качестве параметра функции _exit() передается код завершения — целое число, указывающее на причину останова процесса. По соглашению нулевой код завершения означает, что процесс окончился успешно. В UNIX требуется, чтобы, прежде чем процесс окончательно исчезнет, его удаление было подтверждено родительским процессом с помощью системного вызова wait. Данная функция возвращает код завершения потомка и, если требуется, статистику использования ресурсов. По этой причине ядро должно хранить код завершения, пока родительский процесс не запросит его. По окончании дочернего процесса его адресное пространство освобождается, время центрального процессора ему не выделяется, однако в таблице процессов ядра сохраняется запись о нем. Процесс в этом состоянии называется зомби. Описанный механизм работает нормально, если родительский процесс завершается позже порожденных им процессов и добросовестно выполняет системные вызовы wait для того, чтобы все процессы-зомби были уничтожены. Если же родительский процесс завершается первым, то ядро понимает, что вызова wait не последует, и переназначает все процессы-зомби программе init. Она обязана принять «осиротевшие» процессы и ликвидировать их, осуществив для каждого из этих процессов вызов wait.