КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Проектирование распределенной обработки данных. Распределенная обработка данных – методика выполнения прикладных программ группой систем⇐ ПредыдущаяСтр 53 из 53 Распределенная обработка данных – методика выполнения прикладных программ группой систем. Сущность-пользователь получает возможность работать с сетевыми службами и прикладными процессами, расположенными в нескольких взаимосвязанных абонентских системах. При этом возможны несколько видов работ, которые он может выполнять: удаленный запрос, например, команда, позволяющая посылать одиночную заявку на выполнение обработки данных; удаленная трансакция, осуществляющая направление группы запросов прикладному процессу; распределенная трансакция, дающая возможность использования нескольких серверов и прикладных процессов, выполняемых в группе абонентских систем. Для распределенной обработки осуществляется сегментация прикладных программ. Системы, имеющие программы распределенной среды, соответственно, являются серверами и клиентами. Серверы связаны друг с другом логическими каналами, по которым передают друг другу файлы. Функции, выполняемые средой, включают прикладные службы: каталогов, позволяющую клиентам находить нужные им серверы;интерфейса многопоточной обработки;удаленного вызова процедур;обслуживания файлов;безопасности данных;времени, синхронизирующей часы в абонентских системах.Функционирование распределенной среды требует выполнения ряда административных задач. К ним относятся средства:регистрации и контроля за лицензиями пользователей на работу с прикладными программами; унифицированных интерфейсов прикладных программ;обеспечения безопасности данных; инвентаризации программного и технического обеспечения абонентских систем, работающих в сети. 3. Разделение времени. Поддержка многозадачности.По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:однозадачные (например, MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX, Windows 95). Однозадачные ОС - выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства. Вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: невытесняющая многозадачность (NetWare, Windows 3.x); вытесняющая многозадачность (Windows NT, OS/2, UNIX). Осн. различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В 1 случае механизм планирования процессов целиком сосредоточен в ОС, а во 2 - распределен между S и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление ОС для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается ОС, а не самим активным процессом. Поддержка многонитевости.Важным свойством ОС является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями). 4. Протоколы TCP/IP. Стеком протоколов TCP/IP называют набор сетевых протоколов, используемых в интернет.В этом стеке различают несколько уровней, и протоколы высокого уровня всегда базируются на протоколах более низких уровней.В самом низу находятся физический уровень и канальный уровень. Выше идёт сетевой уровень, где находится протокол IP, описывающий структуру сети и доставку пакетов. Ещё выше — транспортный уровень, где находится протокол TCP, использующийся для передачи данных. Эти протоколы обычно реализуются на уровне ОС. На самом верху находится множество протоколов прикладного уровня, выполняющих конкретные прикладные задачи. Обычно они программируются в отдельных приложениях. IP-протокол, лежащий в основе Интернета, его название так и расшифровывается: Internet Protocol. Согласно протоколу, каждый узел в сети имеет свой IP-адрес, состоящий из 4х байт и обычно записываемый как n.n.n.n. TCPпротокол базируется на IP для доставки пакетов. Установлив соединения— это позволяет ему, в отличие от IP, гарантировать доставку пакетов порты-для обмена пакетами между приложениями, а не просто узлами. Протокол TCP предназначен для обмена данными, обеспечивает надежную доставку данных, так как предусматривает установления логического соединения; нумерует пакеты и подтверждает их прием квитанцией, а в случае потери организует повторную передачу; делит передаваемый поток байтов на части — сегменты - и передает их нижнему уровню, на приемной стороне снова собирает их в непрерывный поток байтов.TCP-соединение.Соединение начинается с handshake (рукопожатия): Узел A посылает узлу B специальный пакет SYN — приглашение к соединению B отвечает пакетом SYN-ACK- согласием об установлении соединения A посылает пакет ACK-подтверждение, что согласие получено После этого TCP соединение считается установленным, и приложения, работающие в этих узлах, могут посылать друг другу пакеты с данными. Любое установленное TCP соединение симметрично, и пакеты с данными по нему всегда идут в обе стороны. Сетевой порт— условное число от 1 до 65535, указывающее, какому приложению предназначается пакет. В TCP пакетах дополнительно указываются порт источника и порт назначения. Использование портов позволяет независимо использовать TCP протокол сразу многим приложениям на одном и том же компьютере. Клиентом называют приложение, которое пользуется каким-то сервисом, предоставляемым другим приложением-Сервером, обычно на удаленном компьютере. Сервер при запуске сообщает ОС, что хотел бы «занять» определенный порт (или несколько портов). После этого все пакеты, приходящие на компьютер к этому порту, ОС будет передавать этому серверу. Клиент, начиная соединение, запрашивает у своей ОС какой-нибудь незанятый порт во временное пользование, и указывает его в посланных пакетах как порт источника. Затем на этот порт он получит ответные пакеты от сервера. UDP— это ещё один протокол транспортного уровня. Он тоже базируется на IP и тоже использует порты, но в отличие от TCP он не устанавливает соединений и не требует подтверждения получения каждого пакета.Поэтому пакеты могут теряться или приходить в неправильном порядке. Зато этот протокол быстрее и использует меньше ресурсов. У многих протоколов прикладного уровня для серверов определены стандартные порты, используемые по умолчанию. Самые известные прикладные протоколы и их стандартные порты:HTTP — основой протокол всемирной паутины(TCP порт 80);SMTP — протокол пересылки почты (TCP порт 25);FTP — протокол передачи файлов (TCP порт 21);DNS — протокол сопоставления доменных имен IP адресам (UDP порт 53).
|